diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2019-09-26 17:58:53 +0200 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2019-09-27 08:42:18 +0000 |
commit | 981cfe7d79b906090fb20558a6f11bc2224640ed (patch) | |
tree | 58eea4cd3ab35e77468003262a74c250367622e5 | |
parent | 992fe06b30337442b96e5f8b6553e518fedcd372 (diff) |
Include QtPlatformSupport as part of find_package(Qt6BuildInternals)
This is needed because the ported over requires() clauses from qmake
to CMake are executed before qt_repo_build(), which means that all the
custom platform variables that we set (like LINUX, APPLE_OSX) need
to be available immediately after finding BuildInternals.
Change-Id: I7345b69edf72c266508846766e64f42c99862d1d
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
-rw-r--r-- | CMakeLists.txt | 5 | ||||
-rw-r--r-- | cmake/QtBuildInternals/QtBuildInternalsConfig.cmake | 18 | ||||
-rw-r--r-- | cmake/QtSetup.cmake | 3 |
3 files changed, 14 insertions, 12 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 4b7803da43..190a39a859 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,12 +18,13 @@ list(PREPEND CMAKE_MODULE_PATH ) ## Find the build internals package. +set(QT_BUILD_INTERNALS_SKIP_CMAKE_MODULE_PATH_ADDITION TRUE) list(PREPEND CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ) find_package(QtBuildInternals CMAKE_FIND_ROOT_PATH_BOTH) - -qt_build_repo_begin(SKIP_CMAKE_MODULE_PATH_ADDITION) +unset(QT_BUILD_INTERNALS_SKIP_CMAKE_MODULE_PATH_ADDITION) +qt_build_repo_begin() ## QtBase specific configure tests: include(QtBaseConfigureTests) diff --git a/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake b/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake index 6fffcaba9d..4bf09e5b15 100644 --- a/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake +++ b/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake @@ -13,7 +13,7 @@ if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/QtBuildInternalsExtra.cmake") endif() macro(qt_set_up_build_internals_paths) - # Set up the paths for the cmake modules located in the build dir. Prepend, so the paths are + # Set up the paths for the cmake modules located in the prefix dir. Prepend, so the paths are # least important compared to the source dir ones, but more important than command line # provided ones. set(QT_CMAKE_MODULE_PATH "${QT_BUILD_INTERNALS_PATH}/../${QT_CMAKE_EXPORT_NAMESPACE}") @@ -39,13 +39,17 @@ macro(qt_set_up_build_internals_paths) endif() endmacro() -macro(qt_build_repo_begin) - if(${ARGC} EQUAL 1 AND "${ARGV0}" STREQUAL "SKIP_CMAKE_MODULE_PATH_ADDITION") - # No-op. - else() - qt_set_up_build_internals_paths() - endif() +# Set up the build internal paths unless explicitly requested not to. +if(NOT QT_BUILD_INTERNALS_SKIP_CMAKE_MODULE_PATH_ADDITION) + qt_set_up_build_internals_paths() +endif() + +# Define some constants to check for certain platforms, etc. +# Needs to be loaded before qt_repo_build() to handle require() clauses before even starting a repo +# build. +include(QtPlatformSupport) +macro(qt_build_repo_begin) # Qt specific setup common for all modules: include(QtSetup) include(FeatureSummary) diff --git a/cmake/QtSetup.cmake b/cmake/QtSetup.cmake index 9095db4751..16fd9b7520 100644 --- a/cmake/QtSetup.cmake +++ b/cmake/QtSetup.cmake @@ -90,9 +90,6 @@ enable_testing() # Set up building of examples. option(BUILD_EXAMPLES "Build Qt examples" ON) -## Define some constants to check for certain platforms, etc: -include(QtPlatformSupport) - ## Android platform settings if(ANDROID) include(QtPlatformAndroid) |