diff options
Diffstat (limited to 'cmake')
| -rw-r--r-- | cmake/BuildDeps.cmake | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/cmake/BuildDeps.cmake b/cmake/BuildDeps.cmake index b402510..8f819f3 100644 --- a/cmake/BuildDeps.cmake +++ b/cmake/BuildDeps.cmake @@ -85,7 +85,11 @@ endif() # QtOpcUa # ====================================== -find_program(QT_CMAKE_COMMAND NAMES qt-cmake qt-cmake.bat PATHS ${CMAKE_PREFIX_PATH} PATH_SUFFIXES bin REQUIRED) +find_program( + QT_CMAKE_COMMAND + NAMES qt-cmake qt-cmake.bat + PATHS ${CMAKE_PREFIX_PATH} + PATH_SUFFIXES bin REQUIRED) if(WIN32) set(qtopcua_lib "Qt6OpcUa.lib") @@ -110,8 +114,13 @@ if(NOT EXISTS "${QTOPCUA_INSTALL_DIR}/lib/${qtopcua_lib}") -DINPUT_open62541=system -DCMAKE_PREFIX_PATH=${OPEN62541_INSTALL_DIR}) if(WIN32) - # Install with: winget install ShiningLight.OpenSSL.Dev - list(APPEND _cmd -DOPENSSL_ROOT_DIR:PATH="C:/Program Files/OpenSSL-Win64") + set(_openssl_dir "C:/Program Files/OpenSSL-Win64") + if(NOT EXISTS "${_openssl_dir}") + message( + FATAL_ERROR "OpenSSL development files not found at ${_openssl_dir}.\n" + "Install with: winget install ShiningLight.OpenSSL.Dev") + endif() + list(APPEND _cmd -DOPENSSL_ROOT_DIR:PATH=${_openssl_dir}) endif() execute_process(COMMAND ${_cmd} RESULT_VARIABLE _result) if(_result) @@ -120,7 +129,7 @@ if(NOT EXISTS "${QTOPCUA_INSTALL_DIR}/lib/${qtopcua_lib}") endif() message(STATUS "Building qtopcua in ${QTOPCUA_BUILD_DIR}...") - set(_cmd ${CMAKE_COMMAND} --build "${QTOPCUA_BUILD_DIR}" --parallel) + set(_cmd ${QT_CMAKE_COMMAND} --build "${QTOPCUA_BUILD_DIR}" --parallel) execute_process(COMMAND ${_cmd} RESULT_VARIABLE _result) if(_result) list(JOIN _cmd " " _cmd_str) @@ -128,7 +137,7 @@ if(NOT EXISTS "${QTOPCUA_INSTALL_DIR}/lib/${qtopcua_lib}") endif() message(STATUS "Installing qtopcua to ${QTOPCUA_INSTALL_DIR}...") - set(_cmd ${CMAKE_COMMAND} --install "${QTOPCUA_BUILD_DIR}") + set(_cmd ${QT_CMAKE_COMMAND} --install "${QTOPCUA_BUILD_DIR}") execute_process(COMMAND ${_cmd} RESULT_VARIABLE _result) if(_result) list(JOIN _cmd " " _cmd_str) @@ -139,12 +148,11 @@ else() message(STATUS "qtopcua already built, skipping") endif() -if (WIN32) +if(WIN32) # On Windows DLLs must be next to the .exe (no RPATH). Copy them to bin/. file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/bin") - file(GLOB _dep_dlls - "${OPEN62541_INSTALL_DIR}/bin/*.dll" - "${QTOPCUA_INSTALL_DIR}/bin/*.dll") + file(GLOB _dep_dlls "${OPEN62541_INSTALL_DIR}/bin/*.dll" + "${QTOPCUA_INSTALL_DIR}/bin/*.dll") foreach(_dll ${_dep_dlls}) file(COPY "${_dll}" DESTINATION "${CMAKE_BINARY_DIR}/bin") endforeach() |
