diff options
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 46 |
1 files changed, 27 insertions, 19 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index f35b498..51b90e8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,9 +1,11 @@ cmake_minimum_required(VERSION 3.16) project(BobinkQtOpcUa LANGUAGES CXX) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +if(PROJECT_IS_TOP_LEVEL) + set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +endif() # Build external dependencies (open62541, qtopcua) if not already built include(cmake/BuildDeps.cmake) @@ -19,21 +21,27 @@ set(Qt6DeclarativeOpcua_DIR "${QTOPCUA_INSTALL_DIR}/lib/cmake/Qt6DeclarativeOpcu list(PREPEND CMAKE_PREFIX_PATH "${OPEN62541_INSTALL_DIR}") find_package(Qt6 6.10.2 REQUIRED COMPONENTS Core Qml Quick OpcUa) -qt_standard_project_setup(REQUIRES 6.10.2) - -# Set path for qmllint -set(QML_IMPORT_PATH - "${CMAKE_CURRENT_BINARY_DIR}/qml" - CACHE STRING "Path to locally built qml") -# Generate .qmlls.ini for QML Language Server. Useful once QtOpcUa is installed -# globally (qt-cmake --install build/deps/qtopcua-build) so qmlls can resolve -# all Qt QML imports without extra importPaths. set(QT_QML_GENERATE_QMLLS_INI ON -# CACHE BOOL "") - -# Ensure the local QtOpcUa and open62541 libs are findable at runtime (needed -# because the Qt plugin loader dlopen's the open62541 backend). -set(CMAKE_BUILD_RPATH "${QTOPCUA_INSTALL_DIR}/lib" - "${OPEN62541_INSTALL_DIR}/lib") + +if(PROJECT_IS_TOP_LEVEL) + qt_standard_project_setup(REQUIRES 6.10.2) + + # Set path for qmllint + set(QML_IMPORT_PATH + "${CMAKE_CURRENT_BINARY_DIR}/qml" + CACHE STRING "Path to locally built qml") + # Generate .qmlls.ini for QML Language Server. Useful once QtOpcUa is installed + # globally (qt-cmake --install build/deps/qtopcua-build) so qmlls can resolve + # all Qt QML imports without extra importPaths. set(QT_QML_GENERATE_QMLLS_INI ON + # CACHE BOOL "") + + # Ensure the local QtOpcUa and open62541 libs are findable at runtime (needed + # because the Qt plugin loader dlopen's the open62541 backend). + set(CMAKE_BUILD_RPATH "${QTOPCUA_INSTALL_DIR}/lib" + "${OPEN62541_INSTALL_DIR}/lib") +endif() add_subdirectory(src) -add_subdirectory(demo) + +if(PROJECT_IS_TOP_LEVEL) + add_subdirectory(demo) +endif() |
