diff options
author | Yuhang Zhao <zhaoyuhang@rankyee.com> | 2023-05-23 16:41:08 +0800 |
---|---|---|
committer | Yuhang Zhao <yuhangzhao@deepin.org> | 2023-05-31 01:08:45 +0000 |
commit | 389507a047e0ec0721535052df6ddf957fbb95b3 (patch) | |
tree | f203daced969c0b866f7e80b5cb7967327d95275 /qmake | |
parent | fb86c5a47060b11a7fa6ee4d93ff51f052b904aa (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.txt | 18 |
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() |