summaryrefslogtreecommitdiffstats
path: root/qmake/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'qmake/CMakeLists.txt')
-rw-r--r--qmake/CMakeLists.txt282
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
-