aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Komissarov <abbapoh@gmail.com>2021-04-11 17:38:46 +0300
committerIvan Komissarov <ABBAPOH@gmail.com>2021-04-16 07:11:45 +0000
commit8e71e73540eeba20bf8866b3b3909784c83d6c3c (patch)
tree12e365f7b69120a79223fc45021ef6d1df68947c
parent5eb3f70640edb9f1291e97c2ece7d46614a2bf30 (diff)
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 <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r--cmake/QbsBuildConfig.cmake3
-rw-r--r--doc/CMakeLists.txt5
-rw-r--r--share/CMakeLists.txt5
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