summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Croitor <[email protected]>2023-06-07 07:41:52 +0000
committerAlexandru Croitor <[email protected]>2023-06-08 11:04:45 +0000
commite3c6754760b23a9d6e7879c037f72bf768674572 (patch)
tree20a4e9fff5157ed81dcc827b40c7bdf5fbab8506
parent788b400d0eefc314d4bfd84baf849b07c6fa9772 (diff)
Revert "CMake: make compile options consistent for Qt created libraries"
This reverts commit 389507a047e0ec0721535052df6ddf957fbb95b3. Reason for revert: The original patch unintentionally changes the deprecation warning behavior for user projects. Merging the current change will resurface the original static qt build bug until a new fix is developed. Pick-to: 6.6 Change-Id: I29b41b43fdd76b19bc46439470e04443dc2b8ddb Reviewed-by: Alexey Edelev <[email protected]> Reviewed-by: Yuhang Zhao <[email protected]>
-rw-r--r--cmake/QtModuleHelpers.cmake3
-rw-r--r--cmake/QtPlatformTargetHelpers.cmake4
-rw-r--r--qmake/CMakeLists.txt18
-rw-r--r--src/tools/qtpaths/CMakeLists.txt1
4 files changed, 16 insertions, 10 deletions
diff --git a/cmake/QtModuleHelpers.cmake b/cmake/QtModuleHelpers.cmake
index c368cebb2e0..e4dccd7f320 100644
--- a/cmake/QtModuleHelpers.cmake
+++ b/cmake/QtModuleHelpers.cmake
@@ -487,6 +487,8 @@ function(qt_internal_add_module target)
endif()
endif()
+ qt_internal_library_deprecation_level(deprecation_define)
+
if(NOT arg_HEADER_MODULE)
qt_autogen_tools_initial_setup(${target})
endif()
@@ -576,6 +578,7 @@ function(qt_internal_add_module target)
QT_DEPRECATED_WARNINGS
QT_BUILDING_QT
QT_BUILD_${module_define_infix}_LIB ### FIXME: use QT_BUILD_ADDON for Add-ons or remove if we don't have add-ons anymore
+ ${deprecation_define}
)
list(APPEND arg_LIBRARIES Qt::PlatformModuleInternal)
endif()
diff --git a/cmake/QtPlatformTargetHelpers.cmake b/cmake/QtPlatformTargetHelpers.cmake
index b1a78e69c79..54d1916f9eb 100644
--- a/cmake/QtPlatformTargetHelpers.cmake
+++ b/cmake/QtPlatformTargetHelpers.cmake
@@ -63,10 +63,6 @@ function(qt_internal_setup_public_platform_target)
# Generate a pkgconfig for Qt::Platform.
qt_internal_generate_pkg_config_file(Platform)
-
- # Make sure Qt users use the same symbols as how we build Qt.
- qt_internal_library_deprecation_level(deprecation_defines)
- target_compile_definitions(Platform INTERFACE ${deprecation_defines})
endfunction()
function(qt_internal_get_platform_definition_include_dir install_interface build_interface)
diff --git a/qmake/CMakeLists.txt b/qmake/CMakeLists.txt
index abd9c84cc91..0a10dd5dd2a 100644
--- a/qmake/CMakeLists.txt
+++ b/qmake/CMakeLists.txt
@@ -16,14 +16,14 @@ qt_add_library(QtLibraryInfo OBJECT
qmakelibraryinfo.cpp qmakelibraryinfo.h
)
-# Make sure we use same parameters when building QtLibraryInfo and other Qt libraries,
-# otherwise some compilers may have compilation errors, such as clang-cl.
-target_link_libraries(QtLibraryInfo PUBLIC PlatformCommonInternal)
-
-target_link_libraries(QtLibraryInfo PUBLIC Qt::CorePrivate)
-
qt_internal_add_sync_header_dependencies(QtLibraryInfo Core)
+set_target_properties(QtLibraryInfo PROPERTIES
+ COMPILE_OPTIONS $<TARGET_PROPERTY:Qt::Core,INTERFACE_COMPILE_OPTIONS>
+ COMPILE_DEFINITIONS $<TARGET_PROPERTY:Qt::Core,INTERFACE_COMPILE_DEFINITIONS>
+ INCLUDE_DIRECTORIES $<TARGET_PROPERTY:Qt::Core,INTERFACE_INCLUDE_DIRECTORIES>
+ INCLUDE_DIRECTORIES $<TARGET_PROPERTY:Qt::CorePrivate,INTERFACE_INCLUDE_DIRECTORIES>
+)
target_include_directories(QtLibraryInfo PUBLIC
"${CMAKE_CURRENT_SOURCE_DIR}"
"${CMAKE_CURRENT_SOURCE_DIR}/library"
@@ -35,13 +35,18 @@ if("${hostdatadir}" STREQUAL "")
set(hostdatadir ".")
endif()
+qt_internal_library_deprecation_level(deprecation_define)
+
target_compile_definitions(QtLibraryInfo PUBLIC
PROEVALUATOR_FULL
QT_BUILD_QMAKE
QT_USE_QSTRINGBUILDER
+ QT_NO_FOREACH
+ QT_VERSION_STR="${PROJECT_VERSION}"
QT_HOST_MKSPEC="${QT_QMAKE_HOST_MKSPEC}"
QT_TARGET_MKSPEC="${QT_QMAKE_TARGET_MKSPEC}"
QT_HOST_DATADIR="${hostdatadir}"
+ ${deprecation_define}
)
qt_internal_set_exceptions_flags(QtLibraryInfo OFF)
@@ -95,6 +100,7 @@ qt_internal_add_tool(${target_name}
PRECOMPILED_HEADER
"qmake_pch.h"
LIBRARIES
+ Qt::CorePrivate
QtLibraryInfo
)
qt_internal_return_unless_building_tools()
diff --git a/src/tools/qtpaths/CMakeLists.txt b/src/tools/qtpaths/CMakeLists.txt
index 6d3ccd097ef..ceedf4595b8 100644
--- a/src/tools/qtpaths/CMakeLists.txt
+++ b/src/tools/qtpaths/CMakeLists.txt
@@ -26,6 +26,7 @@ qt_internal_return_unless_building_tools()
qt_internal_extend_target(${target_name} CONDITION QT_FEATURE_settings
LIBRARIES
QtLibraryInfo
+ Qt::CorePrivate
)
if(WIN32 AND TARGET ${target_name})