From 8e71e73540eeba20bf8866b3b3909784c83d6c3c Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Sun, 11 Apr 2021 17:38:46 +0300 Subject: Fix setting PATH on Windows when invoking Qbs The original approach did not work when using NMake or MinGW Makefiles (but worked with Ninja) Change-Id: I1bfdb213b3007b100bb4cdcdbe4deb3935b6e266 Reviewed-by: Denis Shienkov Reviewed-by: Christian Kandeler --- cmake/QbsBuildConfig.cmake | 3 ++- doc/CMakeLists.txt | 5 ++--- share/CMakeLists.txt | 5 ++--- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/cmake/QbsBuildConfig.cmake b/cmake/QbsBuildConfig.cmake index 111778dc7..b6614ce3f 100644 --- a/cmake/QbsBuildConfig.cmake +++ b/cmake/QbsBuildConfig.cmake @@ -60,7 +60,8 @@ function(get_update_path_command var) endif() get_filename_component(_QT_LIBRARY_PATH "${_QTCORE_LIBRARY}" DIRECTORY) get_target_property(_QBS_LIBRARY_PATH qbscore LIBRARY_OUTPUT_DIRECTORY) - set(${var} "PATH=${_QT_LIBRARY_PATH}\;${_QBS_LIBRARY_PATH}\;%PATH%" PARENT_SCOPE) + file(TO_NATIVE_PATH "${_QT_LIBRARY_PATH}\;${_QBS_LIBRARY_PATH}\;$ENV{PATH}" _NEW_PATH) + set(${var} "PATH=${_NEW_PATH}" PARENT_SCOPE) else() set(${var} "") endif() diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 74d71f4dc..0b5922a1a 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -46,8 +46,7 @@ if (QBS_INSTALL_HTML_DOCS OR QBS_INSTALL_QCH_DOCS) get_update_path_command(UPDATE_PATH_COMMAND) add_custom_target( BuildQbsDocumentation ALL - COMMAND ${UPDATE_PATH_COMMAND} - COMMAND ${_QBS_OUTPUT_DIR}/qbs + COMMAND ${CMAKE_COMMAND} -E env "${UPDATE_PATH_COMMAND}" ${_QBS_OUTPUT_DIR}/qbs resolve --settings-dir ${PROJECT_BINARY_DIR}/settings -f ${PROJECT_SOURCE_DIR}/qbs.qbs @@ -62,7 +61,7 @@ if (QBS_INSTALL_HTML_DOCS OR QBS_INSTALL_QCH_DOCS) modules.qbsbuildconfig.installHtml:${_INSTALL_HTML_DOCS} modules.qbsbuildconfig.installQch:${_INSTALL_QCH_DOCS} moduleProviders.Qt.qmakeFilePaths:${_QT_QMAKE_EXECUTABLE} - COMMAND ${_QBS_OUTPUT_DIR}/qbs + COMMAND ${CMAKE_COMMAND} -E env "${UPDATE_PATH_COMMAND}" ${_QBS_OUTPUT_DIR}/qbs build --settings-dir ${PROJECT_BINARY_DIR}/settings -f ${PROJECT_SOURCE_DIR}/qbs.qbs diff --git a/share/CMakeLists.txt b/share/CMakeLists.txt index f607e0a85..bde65d450 100644 --- a/share/CMakeLists.txt +++ b/share/CMakeLists.txt @@ -36,8 +36,7 @@ get_update_path_command(UPDATE_PATH_COMMAND) get_target_property(_QBS_OUTPUT_DIR qbs RUNTIME_OUTPUT_DIRECTORY) add_custom_target( BuildQbsResources ALL - COMMAND ${UPDATE_PATH_COMMAND} - COMMAND ${_QBS_OUTPUT_DIR}/qbs + COMMAND ${CMAKE_COMMAND} -E env "${UPDATE_PATH_COMMAND}" ${_QBS_OUTPUT_DIR}/qbs resolve --settings-dir ${PROJECT_BINARY_DIR}/settings -f ${PROJECT_SOURCE_DIR}/qbs.qbs @@ -47,7 +46,7 @@ add_custom_target( project.withCode:false project.withDocumentation:false profile:none - COMMAND ${_QBS_OUTPUT_DIR}/qbs + COMMAND ${CMAKE_COMMAND} -E env "${UPDATE_PATH_COMMAND}" ${_QBS_OUTPUT_DIR}/qbs build --settings-dir ${PROJECT_BINARY_DIR}/settings -f ${PROJECT_SOURCE_DIR}/qbs.qbs -- cgit v1.2.3