summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmake/QtBuild.cmake15
-rw-r--r--cmake/QtConfig.cmake.in3
-rw-r--r--src/corelib/Qt5CoreMacros.cmake23
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)