summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
authorYuhang Zhao <zhaoyuhang@rankyee.com>2023-05-23 16:41:08 +0800
committerYuhang Zhao <yuhangzhao@deepin.org>2023-05-31 01:08:45 +0000
commit389507a047e0ec0721535052df6ddf957fbb95b3 (patch)
treef203daced969c0b866f7e80b5cb7967327d95275 /qmake
parentfb86c5a47060b11a7fa6ee4d93ff51f052b904aa (diff)
CMake: make compile options consistent for Qt created libraries
Currently some libraries created by Qt are lacking some compile definitions and compile options, and this issue is causing us troubles when building Qt statically. This patch tries to reduce the parameter difference when compiling Qt's own libraries. Change-Id: I3842943a874fab32ef90980e8aa29f5beb01feeb Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Diffstat (limited to 'qmake')
-rw-r--r--qmake/CMakeLists.txt18
1 files changed, 6 insertions, 12 deletions
diff --git a/qmake/CMakeLists.txt b/qmake/CMakeLists.txt
index 35e06b4e8f..2c2c777b2c 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,18 +35,13 @@ 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)
@@ -99,7 +94,6 @@ qt_internal_add_tool(${target_name}
PRECOMPILED_HEADER
"qmake_pch.h"
LIBRARIES
- Qt::CorePrivate
QtLibraryInfo
)
qt_internal_return_unless_building_tools()