diff options
Diffstat (limited to 'qmake/CMakeLists.txt')
-rw-r--r-- | qmake/CMakeLists.txt | 282 |
1 files changed, 68 insertions, 214 deletions
diff --git a/qmake/CMakeLists.txt b/qmake/CMakeLists.txt index 133472b78d..5a54570194 100644 --- a/qmake/CMakeLists.txt +++ b/qmake/CMakeLists.txt @@ -1,133 +1,65 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + # Generated from qmake.pro. ##################################################################### ## qmake Tool: ##################################################################### +# The common object library, that should be available regardless of the presence of qmake. +qt_add_library(QtLibraryInfo OBJECT + library/proitems.cpp library/proitems.h + library/qmake_global.h + property.cpp property.h + propertyprinter.cpp propertyprinter.h + 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) + +target_include_directories(QtLibraryInfo PUBLIC + "${CMAKE_CURRENT_SOURCE_DIR}" + "${CMAKE_CURRENT_SOURCE_DIR}/library" +) + +# Chop off the "/mkspecs" part of INSTALL_MKSPECSDIR +get_filename_component(hostdatadir "${INSTALL_MKSPECSDIR}" DIRECTORY) +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_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} - NO_QT # special case - TOOLS_TARGET Core # special case - # GUI # special case: remove this + TRY_RUN + TOOLS_TARGET Core + USER_FACING + INSTALL_VERSIONED_LINK SOURCES - ../src/3rdparty/pcre2/src/config.h - ../src/3rdparty/pcre2/src/pcre2.h - ../src/3rdparty/pcre2/src/pcre2_auto_possess.c - ../src/3rdparty/pcre2/src/pcre2_chartables.c - ../src/3rdparty/pcre2/src/pcre2_compile.c - ../src/3rdparty/pcre2/src/pcre2_config.c - ../src/3rdparty/pcre2/src/pcre2_context.c - ../src/3rdparty/pcre2/src/pcre2_dfa_match.c - ../src/3rdparty/pcre2/src/pcre2_error.c - ../src/3rdparty/pcre2/src/pcre2_extuni.c - ../src/3rdparty/pcre2/src/pcre2_find_bracket.c - ../src/3rdparty/pcre2/src/pcre2_internal.h - ../src/3rdparty/pcre2/src/pcre2_intmodedep.h - ../src/3rdparty/pcre2/src/pcre2_jit_compile.c - ../src/3rdparty/pcre2/src/pcre2_maketables.c - ../src/3rdparty/pcre2/src/pcre2_match.c - ../src/3rdparty/pcre2/src/pcre2_match_data.c - ../src/3rdparty/pcre2/src/pcre2_newline.c - ../src/3rdparty/pcre2/src/pcre2_ord2utf.c - ../src/3rdparty/pcre2/src/pcre2_pattern_info.c - ../src/3rdparty/pcre2/src/pcre2_script_run.c - ../src/3rdparty/pcre2/src/pcre2_serialize.c - ../src/3rdparty/pcre2/src/pcre2_string_utils.c - ../src/3rdparty/pcre2/src/pcre2_study.c - ../src/3rdparty/pcre2/src/pcre2_substitute.c - ../src/3rdparty/pcre2/src/pcre2_substring.c - ../src/3rdparty/pcre2/src/pcre2_tables.c - ../src/3rdparty/pcre2/src/pcre2_ucd.c - ../src/3rdparty/pcre2/src/pcre2_ucp.h - ../src/3rdparty/pcre2/src/pcre2_valid_utf.c - ../src/3rdparty/pcre2/src/pcre2_xclass.c - ../src/corelib/global/qcontainerinfo.h - ../src/corelib/global/qendian.cpp # special case - ../src/corelib/global/qglobal.cpp ../src/corelib/global/qglobal.h - ../src/corelib/global/qlibraryinfo.cpp - ../src/corelib/global/qlogging.cpp - ../src/corelib/global/qmalloc.cpp - ../src/corelib/global/qnumeric.cpp ../src/corelib/global/qnumeric.h - ../src/corelib/global/qoperatingsystemversion.cpp # special case - ../src/corelib/global/qrandom.cpp # special case - ../src/corelib/io/qabstractfileengine.cpp ../src/corelib/io/qabstractfileengine_p.h - ../src/corelib/io/qbuffer.cpp ../src/corelib/io/qbuffer.h - ../src/corelib/io/qdebug.cpp # special case - ../src/corelib/io/qdir.cpp ../src/corelib/io/qdir.h ../src/corelib/io/qdir_p.h - ../src/corelib/io/qdiriterator.cpp ../src/corelib/io/qdiriterator.h - ../src/corelib/io/qfile.cpp ../src/corelib/io/qfile.h - ../src/corelib/io/qfiledevice.cpp - ../src/corelib/io/qfileinfo.cpp ../src/corelib/io/qfileinfo.h - ../src/corelib/io/qfilesystemengine.cpp - ../src/corelib/io/qfilesystementry.cpp - ../src/corelib/io/qfsfileengine.cpp - ../src/corelib/io/qfsfileengine_iterator.cpp - ../src/corelib/io/qiodevicebase.h - ../src/corelib/io/qiodevice.cpp ../src/corelib/io/qiodevice.h - ../src/corelib/io/qsettings.cpp - ../src/corelib/io/qtemporaryfile.cpp ../src/corelib/io/qtemporaryfile.h - ../src/corelib/kernel/qiterable.cpp ../src/corelib/kernel/qiterable.h - ../src/corelib/kernel/qmetacontainer.cpp ../src/corelib/kernel/qmetacontainer.h - ../src/corelib/kernel/qmetatype.cpp ../src/corelib/kernel/qmetatype.h - ../src/corelib/kernel/qsystemerror.cpp ../src/corelib/kernel/qsystemerror_p.h - ../src/corelib/kernel/qvariant.cpp - ../src/corelib/plugin/quuid.cpp ../src/corelib/plugin/quuid.h - ../src/corelib/serialization/qcborstreamwriter.cpp ../src/corelib/serialization/qcborstreamwriter.h - ../src/corelib/serialization/qcborvalue.cpp ../src/corelib/serialization/qcborvalue.h ../src/corelib/serialization/qcborvalue_p.h - ../src/corelib/serialization/qdatastream.cpp ../src/corelib/serialization/qdatastream.h - ../src/corelib/serialization/qjson_p.h - ../src/corelib/serialization/qjsonarray.cpp ../src/corelib/serialization/qjsonarray.h - ../src/corelib/serialization/qjsoncbor.cpp - ../src/corelib/serialization/qjsondocument.cpp ../src/corelib/serialization/qjsondocument.h - ../src/corelib/serialization/qjsonobject.cpp ../src/corelib/serialization/qjsonobject.h - ../src/corelib/serialization/qjsonparser.cpp ../src/corelib/serialization/qjsonparser_p.h - ../src/corelib/serialization/qjsonvalue.cpp ../src/corelib/serialization/qjsonvalue.h - ../src/corelib/serialization/qjsonwriter_p.h - ../src/corelib/serialization/qtextstream.cpp ../src/corelib/serialization/qtextstream.h - ../src/corelib/text/qbytearray.cpp ../src/corelib/text/qbytearray.h - ../src/corelib/text/qbytearraylist.cpp ../src/corelib/text/qbytearraylist.h # special case - ../src/corelib/text/qbytearraymatcher.cpp ../src/corelib/text/qbytearraymatcher.h - ../src/corelib/text/qchar.h - ../src/corelib/text/qlocale.cpp ../src/corelib/text/qlocale.h - ../src/corelib/text/qlocale_tools.cpp ../src/corelib/text/qlocale_tools_p.h - ../src/corelib/text/qregularexpression.cpp ../src/corelib/text/qregularexpression.h - ../src/corelib/text/qstring.cpp ../src/corelib/text/qstring.h - ../src/corelib/text/qstringbuilder.cpp ../src/corelib/text/qstringbuilder.h - ../src/corelib/text/qstringconverter.cpp ../src/corelib/text/qstringconverter.h ../src/corelib/text/qstringconverter_p.h - ../src/corelib/text/qstringlist.cpp ../src/corelib/text/qstringlist.h - ../src/corelib/text/qstringmatcher.h - ../src/corelib/text/qvsnprintf.cpp - ../src/corelib/time/qcalendar.cpp ../src/corelib/time/qcalendar.h - ../src/corelib/time/qcalendarbackend_p.h - ../src/corelib/time/qcalendarmath_p.h - ../src/corelib/time/qdatetime.cpp ../src/corelib/time/qdatetime.h ../src/corelib/time/qdatetime_p.h - ../src/corelib/time/qgregoriancalendar.cpp ../src/corelib/time/qgregoriancalendar_p.h - ../src/corelib/time/qromancalendar.cpp ../src/corelib/time/qromancalendar_p.h - ../src/corelib/tools/qarraydata.cpp ../src/corelib/tools/qarraydata.h - ../src/corelib/tools/qarraydataops.h - ../src/corelib/tools/qarraydatapointer.h - ../src/corelib/tools/qbitarray.cpp ../src/corelib/tools/qbitarray.h - ../src/corelib/tools/qcryptographichash.cpp ../src/corelib/tools/qcryptographichash.h - ../src/corelib/time/qcalendar.cpp ../src/corelib/time/qcalendar.h # special case - ../src/corelib/time/qcalendarbackend_p.h ../src/corelib/time/qcalendarmath_p.h # special case - ../src/corelib/time/qgregoriancalendar.cpp ../src/corelib/time/qgregoriancalendar_p.h # special case - ../src/corelib/time/qromancalendar.cpp ../src/corelib/time/qromancalendar_p.h # special case - ../src/corelib/time/qdatetime.cpp ../src/corelib/time/qdatetime.h ../src/corelib/time/qdatetime_p.h # special case - ../src/corelib/tools/qhash.cpp ../src/corelib/tools/qhash.h - ../src/corelib/tools/qlist.h - ../src/corelib/tools/qmap.h - ../src/corelib/text/qlocale.cpp ../src/corelib/text/qlocale.h - ../src/corelib/text/qlocale_tools.cpp ../src/corelib/text/qlocale_tools_p.h - ../src/corelib/text/qregularexpression.cpp ../src/corelib/text/qregularexpression.h - ../src/corelib/tools/qringbuffer.cpp # special case - ../src/corelib/text/qstring.cpp ../src/corelib/text/qstring.h - ../src/corelib/text/qstringbuilder.cpp ../src/corelib/text/qstringbuilder.h - ../src/corelib/text/qstringconverter.cpp ../src/corelib/text/qstringconverter.h ../src/corelib/text/qstringconverter_p.h - ../src/corelib/text/qstringlist.cpp ../src/corelib/text/qstringlist.h - ../src/corelib/text/qstringmatcher.h - ../src/corelib/tools/qvector.h - ../src/corelib/tools/qversionnumber.cpp ../src/corelib/tools/qversionnumber.h - ../src/corelib/text/qvsnprintf.cpp cachekeys.h generators/mac/pbuilder_pbx.cpp generators/mac/pbuilder_pbx.h generators/makefile.cpp generators/makefile.h @@ -145,8 +77,6 @@ qt_internal_add_tool(${target_name} generators/win32/winmakefile.cpp generators/win32/winmakefile.h generators/xmloutput.cpp generators/xmloutput.h library/ioutils.cpp library/ioutils.h - library/proitems.cpp library/proitems.h - library/qmake_global.h library/qmakebuiltins.cpp library/qmakeevaluator.cpp library/qmakeevaluator.h library/qmakeevaluator_p.h library/qmakeglobals.cpp library/qmakeglobals.h @@ -156,33 +86,27 @@ qt_internal_add_tool(${target_name} meta.cpp meta.h option.cpp option.h project.cpp project.h - property.cpp property.h DEFINES HAVE_CONFIG_H - PCRE2_DISABLE_JIT - PROEVALUATOR_FULL - QT_BOOTSTRAPPED - QT_BUILD_QMAKE - QT_USE_QSTRINGBUILDER - QT_NO_FOREACH - QT_VERSION_STR="${PROJECT_VERSION}" # special case - QT_VERSION_MAJOR=${PROJECT_VERSION_MAJOR} # special case - QT_VERSION_MINOR=${PROJECT_VERSION_MINOR} # special case - QT_VERSION_PATCH=${PROJECT_VERSION_PATCH} # special case - PCRE2_CODE_UNIT_WIDTH=16 - PCRE2_DISABLE_JIT - HAVE_CONFIG_H INCLUDE_DIRECTORIES - # . # special case remove generators generators/mac generators/unix generators/win32 library - $<TARGET_PROPERTY:Qt::Core,INCLUDE_DIRECTORIES> # special case - "${PROJECT_BINARY_DIR}/src/corelib/global" # special case: for qconfig.cpp PRECOMPILED_HEADER "qmake_pch.h" + LIBRARIES + 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() + +# Add QMAKE_VERSION_STR only if qmake is part of the build. +target_compile_definitions(QtLibraryInfo PUBLIC + QMAKE_VERSION_STR="3.1" ) #### Keys ignored in scope 1:.:.:qmake.pro:<TRUE>: @@ -191,97 +115,27 @@ qt_internal_add_tool(${target_name} ## Scopes: ##################################################################### -qt_internal_extend_target(${target_name} CONDITION WIN32 - SOURCES - ../src/corelib/global/qoperatingsystemversion_win.cpp - ../src/corelib/io/qfilesystemengine_win.cpp - ../src/corelib/io/qfilesystemiterator_win.cpp - ../src/corelib/io/qfsfileengine_win.cpp - ../src/corelib/io/qsettings_win.cpp - ../src/corelib/plugin/qsystemlibrary.cpp - ../src/corelib/text/qlocale_win.cpp - library/registry.cpp - DEFINES - UNICODE - _CRT_SECURE_NO_WARNINGS - _ENABLE_EXTENDED_ALIGNED_STORAGE - _SCL_SECURE_NO_WARNINGS - PUBLIC_DEFINES - PCRE2_STATIC - PUBLIC_LIBRARIES - advapi32 - kernel32 - netapi32 - ole32 -) - -qt_internal_extend_target(${target_name} CONDITION UNIX - SOURCES - ../src/corelib/io/qfilesystemengine_unix.cpp - ../src/corelib/io/qfilesystemiterator_unix.cpp - ../src/corelib/io/qfsfileengine_unix.cpp - ../src/corelib/kernel/qcore_unix.cpp - ../src/corelib/text/qlocale_unix.cpp -) - qt_internal_extend_target(${target_name} CONDITION MACOS - SOURCES - ../src/corelib/kernel/qcore_foundation.mm # special case - ../src/corelib/kernel/qcore_mac.mm # special case - ../src/corelib/global/qoperatingsystemversion_darwin.mm # special case - ../src/corelib/io/qsettings_mac.cpp # special case - PUBLIC_LIBRARIES - ${FWApplicationServices} - ${FWCoreServices} - ${FWFoundation} COMPILE_OPTIONS "-fconstant-cfstrings" ) -# special case big -qt_internal_extend_target(qmake CONDITION WIN32 +qt_internal_extend_target(${target_name} CONDITION WIN32 SOURCES - ../src/corelib/io/qfilesystemengine_win.cpp - ../src/corelib/io/qfilesystemiterator_win.cpp - ../src/corelib/io/qfsfileengine_win.cpp - ../src/corelib/text/qlocale_win.cpp - ../src/corelib/io/qsettings_win.cpp - # ../src/corelib/global/qoperatingsystemversion.cpp special case: remove this - ../src/corelib/plugin/qsystemlibrary.cpp library/registry.cpp DEFINES - UNICODE _ENABLE_EXTENDED_ALIGNED_STORAGE _CRT_SECURE_NO_WARNINGS _SCL_SECURE_NO_WARNINGS - LIBRARIES - ole32 advapi32 kernel32 netapi32 -) - -qt_internal_extend_target(${target_name} CONDITION MINGW AND WIN32 - PUBLIC_LIBRARIES - uuid -) - -qt_internal_extend_target(${target_name} CONDITION CLANG AND WIN32 - COMPILE_OPTIONS - "-fms-compatibility-version=19.00.23506" - "-Wno-microsoft-enum-value" + _SCL_SECURE_NO_WARNINGS ) -# special case: set_target_properties(${target_name} PROPERTIES AUTOMOC OFF AUTORCC OFF AUTOUIC OFF ) -qt_internal_apply_gc_binaries(${target_name} PRIVATE) # special case +qt_internal_apply_gc_binaries(${target_name} PRIVATE) +qt_skip_warnings_are_errors(${target_name}) -qt_set_msvc_cplusplus_options(${target_name} PUBLIC) # special case -qt_skip_warnings_are_errors(${target_name}) # special case -qt_internal_apply_intel_cet(Bootstrap PUBLIC) # special case - -# special case begin qt_internal_add_docs(${target_name} doc/qmake.qdocconf ) -# special case end - |