summaryrefslogtreecommitdiffstats
path: root/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 /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 'cmake')
-rw-r--r--cmake/QtBuild.cmake15
-rw-r--r--cmake/QtConfig.cmake.in3
2 files changed, 13 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)