diff options
Diffstat (limited to 'qmake/CMakeLists.txt')
-rw-r--r-- | qmake/CMakeLists.txt | 45 |
1 files changed, 19 insertions, 26 deletions
diff --git a/qmake/CMakeLists.txt b/qmake/CMakeLists.txt index 72618b1e29..78e85c7696 100644 --- a/qmake/CMakeLists.txt +++ b/qmake/CMakeLists.txt @@ -15,15 +15,19 @@ qt_add_library(QtLibraryInfo OBJECT propertyprinter.cpp propertyprinter.h qmakelibraryinfo.cpp qmakelibraryinfo.h ) +qt_internal_add_sbom(QtLibraryInfo + TYPE QT_MODULE + NO_INSTALL +) + +# 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,27 +39,25 @@ 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) + if(NOT QT_FEATURE_qmake) return() endif() qt_get_tool_target_name(target_name qmake) qt_internal_add_tool(${target_name} - TOOLS_TARGET Core # special case + TRY_RUN + TOOLS_TARGET Core USER_FACING INSTALL_VERSIONED_LINK SOURCES @@ -96,8 +98,10 @@ qt_internal_add_tool(${target_name} PRECOMPILED_HEADER "qmake_pch.h" LIBRARIES - Qt::CorePrivate QtLibraryInfo + NO_UNITY_BUILD_SOURCES + generators/win32/msvc_objectmodel.cpp # xml symbols clash with generators/win32/msbuild_objectmodel.cpp + library/qmakeparser.cpp # struct statics clashes with qmakeevaluator_p.h ) qt_internal_return_unless_building_tools() @@ -117,7 +121,6 @@ qt_internal_extend_target(${target_name} CONDITION MACOS "-fconstant-cfstrings" ) -# special case big qt_internal_extend_target(${target_name} CONDITION WIN32 SOURCES library/registry.cpp @@ -125,25 +128,15 @@ qt_internal_extend_target(${target_name} CONDITION WIN32 _SCL_SECURE_NO_WARNINGS ) -qt_internal_extend_target(${target_name} CONDITION CLANG AND WIN32 - COMPILE_OPTIONS - "-fms-compatibility-version=19.00.23506" - "-Wno-microsoft-enum-value" -) - -# special case: set_target_properties(${target_name} PROPERTIES AUTOMOC OFF AUTORCC OFF AUTOUIC OFF - UNITY_BUILD OFF ) -qt_internal_apply_gc_binaries(${target_name} PRIVATE) # special case -qt_skip_warnings_are_errors(${target_name}) # special case +qt_internal_apply_gc_binaries(${target_name} PRIVATE) +qt_skip_warnings_are_errors(${target_name}) -# special case begin qt_internal_add_docs(${target_name} doc/qmake.qdocconf ) -# special case end |