From 2d21b5c2699b93ea6355ea5f6bc8fbf4e59d2041 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Mon, 13 May 2019 14:26:16 -0700 Subject: [PATCH] use qt.conf file to find Qt resources --- interface/CMakeLists.txt | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/interface/CMakeLists.txt b/interface/CMakeLists.txt index bb8ebbd2a0..7bf6bc1a86 100644 --- a/interface/CMakeLists.txt +++ b/interface/CMakeLists.txt @@ -333,11 +333,11 @@ if (APPLE) COMMAND "${CMAKE_COMMAND}" -E copy_directory "${PROJECT_SOURCE_DIR}/resources/fonts" "${RESOURCES_DEV_DIR}/fonts" - #copy serverless for android - COMMAND "${CMAKE_COMMAND}" -E copy_directory - "${PROJECT_SOURCE_DIR}/resources/serverless" - "${RESOURCES_DEV_DIR}/serverless" - # add redirect json to macOS builds. + #copy serverless for android + COMMAND "${CMAKE_COMMAND}" -E copy_directory + "${PROJECT_SOURCE_DIR}/resources/serverless" + "${RESOURCES_DEV_DIR}/serverless" + # add redirect json to macOS builds. COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${PROJECT_SOURCE_DIR}/resources/serverless/redirect.json" "${RESOURCES_DEV_DIR}/serverless/redirect.json" @@ -400,6 +400,29 @@ else() endif() endif() +if (APPLE OR UNIX) + # need to worry about hard-coded search paths in the Qt libraries + set(QT_LIB_PATH "${VCPKG_INSTALL_ROOT}/../qt5-install") + if (APPLE) + set(QT_CONF_OVERRIDE "${RESOURCES_DEV_DIR}/../qt.conf") + else () + set(QT_CONF_OVERRIDE "${INTERFACE_EXEC_DIR}/qt.conf") + endif () + if (DEFINED ENV{QT_CMAKE_PREFIX_PATH}) + # using VCPKG-installed Qt rather than a custom install + # TODO: erase old qt.conf file if it exists + # HINT: the file(REMOVE) operation below does not succeed + #file(REMOVE ${QT_CONF_OVERRIDE}) + else () + # using VCPKG-installed Qt rather than a custom install + # need to create qt.conf file to override hard coded + file(GENERATE + OUTPUT "${QT_CONF_OVERRIDE}" + CONTENT "[Paths]\nPrefix=${QT_LIB_PATH}\n" + ) + endif() +endif() + if (SCRIPTS_INSTALL_DIR) # setup install of scripts beside interface executable install(