41 lines
1.4 KiB
CMake
41 lines
1.4 KiB
CMake
# AdvancedControllerRemoteCPP - remote control of the AdvancedController from Linux (C++ / Qt 6)
|
|
#
|
|
# Layout:
|
|
# lib/ static library AdvancedControllerRemote - protocol client (link it into your software)
|
|
# panel/ AdvancedControllerPanel - the virtual front panel (Qt Widgets)
|
|
# tools/ remote_test - console test tool
|
|
#
|
|
# Build and run:
|
|
# ./build.sh
|
|
# ./run.sh
|
|
|
|
cmake_minimum_required(VERSION 3.16)
|
|
|
|
project(AdvancedControllerRemote LANGUAGES CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
# Linux RPATH settings: ensure executables locate libraries in standard/local paths
|
|
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
|
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
|
set(CMAKE_INSTALL_RPATH "$ORIGIN;$ORIGIN/../lib;$ORIGIN/lib;/usr/lib/x86_64-linux-gnu;$ENV{HOME}/.local/lib/x86_64-linux-gnu;$ENV{HOME}/.local/lib")
|
|
|
|
# Locate Qt6SerialPort if installed in user local directory or custom prefix
|
|
if(NOT DEFINED Qt6SerialPort_DIR)
|
|
find_path(Qt6SerialPort_DIR Qt6SerialPortConfig.cmake
|
|
PATHS
|
|
/usr/lib/x86_64-linux-gnu/cmake/Qt6SerialPort
|
|
/usr/lib64/cmake/Qt6SerialPort
|
|
/usr/lib/cmake/Qt6SerialPort
|
|
"$ENV{HOME}/.local/lib/x86_64-linux-gnu/cmake/Qt6SerialPort"
|
|
"$ENV{HOME}/.local/lib/cmake/Qt6SerialPort"
|
|
)
|
|
endif()
|
|
|
|
find_package(Qt6 6.5 REQUIRED COMPONENTS Core Gui Widgets SerialPort)
|
|
qt_standard_project_setup()
|
|
|
|
add_subdirectory(lib)
|
|
add_subdirectory(panel)
|
|
add_subdirectory(tools)
|