diff options
| author | Thomas Vanbesien <tvanbesi@proton.me> | 2026-02-19 22:25:47 +0100 |
|---|---|---|
| committer | Thomas Vanbesien <tvanbesi@proton.me> | 2026-02-19 22:25:47 +0100 |
| commit | 5fe029fd127dd70079a01eb6dfbd347954bba9de (patch) | |
| tree | 0624b94a4fe09aafc6debdac1cd23797200c9992 /cmake/BuildDeps.cmake | |
| parent | af758b3060e385f7fc204258f95c14379c2d6982 (diff) | |
| download | BobinkQtOpcUa-5fe029fd127dd70079a01eb6dfbd347954bba9de.tar.gz BobinkQtOpcUa-5fe029fd127dd70079a01eb6dfbd347954bba9de.zip | |
Install QtOpcUa to local prefix instead of system Qt directory
Add QTOPCUA_INSTALL_DIR and CMAKE_INSTALL_PREFIX so QtOpcUa installs
to build/deps/qtopcua-install/ rather than polluting ~/Qt/6.10.2/.
Use QT_ADDITIONAL_PACKAGES_PREFIX_PATH so Qt's find_package resolves
OpcUa from the local install.
Diffstat (limited to 'cmake/BuildDeps.cmake')
| -rw-r--r-- | cmake/BuildDeps.cmake | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/cmake/BuildDeps.cmake b/cmake/BuildDeps.cmake index d105419..1b8eae3 100644 --- a/cmake/BuildDeps.cmake +++ b/cmake/BuildDeps.cmake @@ -1,11 +1,11 @@ # ====================================== -# BuildDeps.cmake +# BuildDeps.cmake # -# Configure, build, and install open62541 and QtOpcUa from -# git submodules under deps/. +# Configure, build, and install open62541 and QtOpcUa from git submodules under +# deps/. # -# Skip detection: if the built .so already exists, the -# corresponding dep is skipped. Delete the file to rebuild. +# Skip detection: if the built .so already exists, the corresponding dep is +# skipped. Delete the file to rebuild. # ====================================== set(OPEN62541_SOURCE_DIR "${CMAKE_SOURCE_DIR}/deps/open62541") @@ -13,6 +13,7 @@ set(OPEN62541_BUILD_DIR "${CMAKE_BINARY_DIR}/deps/open62541-build") set(OPEN62541_INSTALL_DIR "${CMAKE_BINARY_DIR}/deps/open62541-install") set(QTOPCUA_SOURCE_DIR "${CMAKE_SOURCE_DIR}/deps/qtopcua") set(QTOPCUA_BUILD_DIR "${CMAKE_BINARY_DIR}/deps/qtopcua-build") +set(QTOPCUA_INSTALL_DIR "${CMAKE_BINARY_DIR}/deps/qtopcua-install") # Verify submodules are initialized if(NOT EXISTS "${OPEN62541_SOURCE_DIR}/CMakeLists.txt") @@ -29,7 +30,7 @@ if(NOT EXISTS "${QTOPCUA_SOURCE_DIR}/CMakeLists.txt") endif() # ====================================== -# open62541 +# open62541 # ====================================== if(NOT EXISTS "${OPEN62541_INSTALL_DIR}/lib/libopen62541.so") @@ -73,12 +74,12 @@ else() endif() # ====================================== -# QtOpcUa +# QtOpcUa # ====================================== find_program(QT_CMAKE_COMMAND bin/qt-cmake REQUIRED) -if(NOT EXISTS "${QTOPCUA_BUILD_DIR}/lib/libQt6OpcUa.so") +if(NOT EXISTS "${QTOPCUA_INSTALL_DIR}/lib/libQt6OpcUa.so") message(STATUS "Configuring qtopcua in ${QTOPCUA_BUILD_DIR}...") set(_cmd @@ -89,6 +90,7 @@ if(NOT EXISTS "${QTOPCUA_BUILD_DIR}/lib/libQt6OpcUa.so") "${QTOPCUA_BUILD_DIR}" -G Ninja + -DCMAKE_INSTALL_PREFIX=${QTOPCUA_INSTALL_DIR} # Use our locally-built open62541, not the bundled copy -DINPUT_open62541=system -DCMAKE_PREFIX_PATH=${OPEN62541_INSTALL_DIR}) @@ -106,7 +108,7 @@ if(NOT EXISTS "${QTOPCUA_BUILD_DIR}/lib/libQt6OpcUa.so") message(FATAL_ERROR "${_cmd_str} failed: ${_result}") endif() - message(STATUS "Installing qtopcua to ${QTOPCUA_BUILD_DIR}...") + message(STATUS "Installing qtopcua to ${QTOPCUA_INSTALL_DIR}...") set(_cmd ${CMAKE_COMMAND} --install "${QTOPCUA_BUILD_DIR}") execute_process(COMMAND ${_cmd} RESULT_VARIABLE _result) if(_result) |
