diff options
-rw-r--r-- | cmake/QtBuild.cmake | 15 | ||||
-rw-r--r-- | cmake/QtConfig.cmake.in | 3 | ||||
-rw-r--r-- | src/corelib/Qt5CoreMacros.cmake | 23 |
3 files changed, 36 insertions, 5 deletions
diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake index 87a48b0aca..bfbd0f69e4 100644 --- a/cmake/QtBuild.cmake +++ b/cmake/QtBuild.cmake @@ -928,10 +928,21 @@ function(add_qt_module target) set(extra_cmake_code "") - # Propagate developer builds to other modules via QtCore module. - if(FEATURE_developer_build AND target STREQUAL Core) + if(target STREQUAL Core) + # Propagate common variables via QtCore package. + string(APPEND extra_cmake_code "set(QT_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})") string(APPEND extra_cmake_code " +option(BUILD_SHARED_LIBS \"Build Qt statically or dynamically\" ${BUILD_SHARED_LIBS})") + string(APPEND extra_cmake_code " +set(QT_CMAKE_EXPORT_NAMESPACE ${QT_CMAKE_EXPORT_NAMESPACE})") + string(APPEND extra_cmake_code " +set(_qt_core_cmake_dir \${CMAKE_CURRENT_LIST_DIR})") + + # Propagate developer builds to other modules via QtCore package. + if(FEATURE_developer_build) + string(APPEND extra_cmake_code " set(FEATURE_developer_build ON CACHE BOOL \"Developer build.\" FORCE)") + endif() endif() configure_package_config_file( diff --git a/cmake/QtConfig.cmake.in b/cmake/QtConfig.cmake.in index 73871747e0..df6068f9a3 100644 --- a/cmake/QtConfig.cmake.in +++ b/cmake/QtConfig.cmake.in @@ -36,9 +36,6 @@ foreach(module ${@INSTALL_CMAKE_NAMESPACE@_FIND_COMPONENTS}) endif() endforeach() -set(QT_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@) -set(QT_CMAKE_EXPORT_NAMESPACE @QT_CMAKE_EXPORT_NAMESPACE@) - if (_Qt_NOTFOUND_MESSAGE) set(@INSTALL_CMAKE_NAMESPACE@_NOT_FOUND_MESSAGE "${_Qt_NOTFOUND_MESSAGE}") set(@INSTALL_CMAKE_NAMESPACE@_FOUND False) diff --git a/src/corelib/Qt5CoreMacros.cmake b/src/corelib/Qt5CoreMacros.cmake index bae1518375..feab963a80 100644 --- a/src/corelib/Qt5CoreMacros.cmake +++ b/src/corelib/Qt5CoreMacros.cmake @@ -38,6 +38,29 @@ include(CMakeParseArguments) +macro(qt_build_repo_begin) + # Set up the paths for the modules. + set(QT_CMAKE_MODULE_PATH "${_qt_core_cmake_dir}/../${QT_CMAKE_EXPORT_NAMESPACE}") + list(APPEND CMAKE_MODULE_PATH ${QT_CMAKE_MODULE_PATH}) + + # Qt specific setup common for all modules: + include(QtSetup) + include(FeatureSummary) +endmacro() + +macro(qt_build_repo_end) + # Delayed actions on some of the Qt targets: + include(QtPostProcess) + + # Print a feature summary: + feature_summary(WHAT PACKAGES_FOUND + REQUIRED_PACKAGES_NOT_FOUND + RECOMMENDED_PACKAGES_NOT_FOUND + OPTIONAL_PACKAGES_NOT_FOUND + RUNTIME_PACKAGES_NOT_FOUND + FATAL_ON_MISSING_REQUIRED_PACKAGES) +endmacro() + # macro used to create the names of output files preserving relative dirs macro(QT5_MAKE_OUTPUT_FILE infile prefix ext outfile ) string(LENGTH ${CMAKE_CURRENT_BINARY_DIR} _binlength) |