summaryrefslogtreecommitdiffstats
path: root/src/corelib/Qt5CoreMacros.cmake
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2019-05-15 11:30:57 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2019-05-15 11:40:03 +0000
commitc097256ee4b207284148a8026bb29fc4453efeae (patch)
tree3b5da066bb831da6b14e8f01823684ff42bab85b /src/corelib/Qt5CoreMacros.cmake
parent02a015375a639a4d27d19bbf435f20b725696768 (diff)
Encapsulate commands for building other repos into two macros
Currently to build qtsvg we have some copy-pasted code to set up the paths for QtSetup and QtPostProcess to be found. To make it cleaner, introduce two new macros called qt_build_repo_begin and qt_build_repo_end(). The first one should be called in a child repo like qtsvg, right after a find_package(Qt5) call, and the second one at the end of the repo top-level CMakeLists.txt file. In order for the macros to work, extract some of the variables which were set in Qt5Config into Qt5CoreConfig instead. This makes sure that it works also for find_package(Qt5Core) calls. Task-number: QTBUG-75580 Change-Id: I85267c6bd86f9291ec2e170fddab1006ab684b5c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/corelib/Qt5CoreMacros.cmake')
-rw-r--r--src/corelib/Qt5CoreMacros.cmake23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/corelib/Qt5CoreMacros.cmake b/src/corelib/Qt5CoreMacros.cmake
index bae1518375b..feab963a801 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)