aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt46
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()