diff options
Diffstat (limited to 'src/tools/bootstrap')
-rw-r--r-- | src/tools/bootstrap/CMakeLists.txt | 238 | ||||
-rw-r--r-- | src/tools/bootstrap/bootstrap.pro | 172 |
2 files changed, 238 insertions, 172 deletions
diff --git a/src/tools/bootstrap/CMakeLists.txt b/src/tools/bootstrap/CMakeLists.txt new file mode 100644 index 0000000000..93e826fa22 --- /dev/null +++ b/src/tools/bootstrap/CMakeLists.txt @@ -0,0 +1,238 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +##################################################################### +## Bootstrap Module: +##################################################################### + +# The bootstrap library has a few manual tweaks compared to other +# libraries. +qt_add_library(Bootstrap STATIC) + +qt_internal_add_sync_header_dependencies(Bootstrap Core) + +qt_internal_extend_target(Bootstrap + SOURCES + ../../corelib/global/qassert.cpp + ../../corelib/global/qfloat16.cpp + ../../corelib/global/qlogging.cpp + ../../corelib/global/qmalloc.cpp + ../../corelib/global/qtenvironmentvariables.cpp + ../../corelib/io/qabstractfileengine.cpp + ../../corelib/io/qbuffer.cpp + ../../corelib/io/qdebug.cpp + ../../corelib/io/qdir.cpp + ../../corelib/io/qfile.cpp + ../../corelib/io/qfiledevice.cpp + ../../corelib/io/qfileinfo.cpp + ../../corelib/io/qfilesystemengine.cpp + ../../corelib/io/qfilesystementry.cpp + ../../corelib/io/qfsfileengine.cpp + ../../corelib/io/qfsfileengine_iterator.cpp + ../../corelib/io/qiodevice.cpp + ../../corelib/io/qstandardpaths.cpp + ../../corelib/kernel/qcoreapplication.cpp + ../../corelib/kernel/qmetatype.cpp + ../../corelib/kernel/qsystemerror.cpp + ../../corelib/plugin/quuid.cpp + ../../corelib/serialization/qcborcommon.cpp + ../../corelib/serialization/qcborstreamwriter.cpp + ../../corelib/serialization/qcborvalue.cpp + ../../corelib/serialization/qjsonarray.cpp + ../../corelib/serialization/qjsoncbor.cpp + ../../corelib/serialization/qjsondocument.cpp + ../../corelib/serialization/qjsonobject.cpp + ../../corelib/serialization/qjsonparser.cpp + ../../corelib/serialization/qjsonvalue.cpp + ../../corelib/serialization/qjsonwriter.cpp + ../../corelib/serialization/qtextstream.cpp + ../../corelib/text/qbytearray.cpp + ../../corelib/text/qbytearraylist.cpp + ../../corelib/text/qbytearraymatcher.cpp + ../../corelib/text/qlatin1stringmatcher.cpp + ../../corelib/text/qlocale.cpp + ../../corelib/text/qlocale_tools.cpp + ../../corelib/text/qregularexpression.cpp + ../../corelib/text/qstring.cpp + ../../corelib/text/qstringbuilder.cpp + ../../corelib/text/qstringconverter.cpp + ../../corelib/text/qstringlist.cpp + ../../corelib/text/qvsnprintf.cpp + ../../corelib/time/qcalendar.cpp + ../../corelib/time/qdatetime.cpp + ../../corelib/time/qgregoriancalendar.cpp + ../../corelib/time/qlocaltime.cpp + ../../corelib/time/qromancalendar.cpp + ../../corelib/time/qtimezone.cpp + ../../corelib/tools/qarraydata.cpp + ../../corelib/tools/qcommandlineoption.cpp + ../../corelib/tools/qcommandlineparser.cpp + ../../corelib/tools/qcryptographichash.cpp + ../../corelib/tools/qhash.cpp + ../../corelib/tools/qringbuffer.cpp + DEFINES + HAVE_CONFIG_H + QT_TYPESAFE_FLAGS + PUBLIC_DEFINES + QT_VERSION_MAJOR=${PROJECT_VERSION_MAJOR} + QT_VERSION_MINOR=${PROJECT_VERSION_MINOR} + QT_VERSION_PATCH=${PROJECT_VERSION_PATCH} + QT_VERSION_STR="${PROJECT_VERSION}" + QT_USE_QSTRINGBUILDER + QT_BOOTSTRAPPED + QT_NO_CAST_FROM_ASCII + QT_NO_CAST_TO_ASCII + QT_NO_FOREACH + INCLUDE_DIRECTORIES + .. + ../../3rdparty/tinycbor/src + PUBLIC_INCLUDE_DIRECTORIES + $<TARGET_PROPERTY:Core,INCLUDE_DIRECTORIES> + ../../corelib/global + PUBLIC_LIBRARIES + Qt::Platform + NO_UNITY_BUILD +) + +## Scopes: +##################################################################### + +qt_internal_extend_target(Bootstrap CONDITION UNIX + SOURCES + ../../corelib/io/qfilesystemengine_unix.cpp + ../../corelib/io/qfilesystemiterator_unix.cpp + ../../corelib/io/qfsfileengine_unix.cpp + ../../corelib/kernel/qcore_unix.cpp +) +if(APPLE) + set_source_files_properties(../../corelib/io/qfilesystemengine_unix.cpp PROPERTIES LANGUAGE OBJCXX) + qt_internal_extend_target(Bootstrap CONDITION + PUBLIC_LIBRARIES ${FWUniformTypeIdentifiers} + ) +endif() + +qt_internal_extend_target(Bootstrap CONDITION WIN32 + SOURCES + ../../corelib/io/qfilesystemengine_win.cpp + ../../corelib/io/qfilesystemiterator_win.cpp + ../../corelib/io/qfsfileengine_win.cpp + ../../corelib/io/qstandardpaths_win.cpp + ../../corelib/kernel/qcoreapplication_win.cpp + ../../corelib/kernel/qwinregistry.cpp + ../../corelib/plugin/qsystemlibrary.cpp + ../../corelib/kernel/qfunctions_win.cpp + PUBLIC_LIBRARIES + advapi32 + netapi32 + ole32 + shell32 + user32 +) + +qt_internal_extend_target(Bootstrap CONDITION APPLE + SOURCES + ../../corelib/global/qoperatingsystemversion.cpp + ../../corelib/global/qoperatingsystemversion_darwin.mm + ../../corelib/kernel/qcore_foundation.mm + ../../corelib/kernel/qcore_mac.mm + ../../corelib/kernel/qcoreapplication_mac.cpp + ../../corelib/tools/qversionnumber.cpp + PUBLIC_LIBRARIES + ${FWFoundation} +) + +qt_internal_extend_target(Bootstrap CONDITION MACOS + SOURCES + ../../corelib/io/qstandardpaths_mac.mm + LIBRARIES + ${FWCoreServices} +) + +qt_internal_extend_target(Bootstrap CONDITION UIKIT + LIBRARIES + ${FWUIKit} +) + +qt_internal_extend_target(Bootstrap CONDITION UNIX AND NOT MACOS + SOURCES + ../../corelib/io/qstandardpaths_unix.cpp +) + +qt_internal_extend_target(Bootstrap CONDITION CMAKE_CROSSCOMPILING OR NOT QT_FEATURE_system_pcre2 + SOURCES + ../../3rdparty/pcre2/src/config.h + ../../3rdparty/pcre2/src/pcre2.h + ../../3rdparty/pcre2/src/pcre2_auto_possess.c + ../../3rdparty/pcre2/src/pcre2_chartables.c + ../../3rdparty/pcre2/src/pcre2_chkdint.c + ../../3rdparty/pcre2/src/pcre2_compile.c + ../../3rdparty/pcre2/src/pcre2_config.c + ../../3rdparty/pcre2/src/pcre2_context.c + ../../3rdparty/pcre2/src/pcre2_dfa_match.c + ../../3rdparty/pcre2/src/pcre2_error.c + ../../3rdparty/pcre2/src/pcre2_extuni.c + ../../3rdparty/pcre2/src/pcre2_find_bracket.c + ../../3rdparty/pcre2/src/pcre2_internal.h + ../../3rdparty/pcre2/src/pcre2_intmodedep.h + ../../3rdparty/pcre2/src/pcre2_jit_compile.c + ../../3rdparty/pcre2/src/pcre2_maketables.c + ../../3rdparty/pcre2/src/pcre2_match.c + ../../3rdparty/pcre2/src/pcre2_match_data.c + ../../3rdparty/pcre2/src/pcre2_newline.c + ../../3rdparty/pcre2/src/pcre2_ord2utf.c + ../../3rdparty/pcre2/src/pcre2_pattern_info.c + ../../3rdparty/pcre2/src/pcre2_script_run.c + ../../3rdparty/pcre2/src/pcre2_serialize.c + ../../3rdparty/pcre2/src/pcre2_string_utils.c + ../../3rdparty/pcre2/src/pcre2_study.c + ../../3rdparty/pcre2/src/pcre2_substitute.c + ../../3rdparty/pcre2/src/pcre2_substring.c + ../../3rdparty/pcre2/src/pcre2_tables.c + ../../3rdparty/pcre2/src/pcre2_ucd.c + ../../3rdparty/pcre2/src/pcre2_ucp.h + ../../3rdparty/pcre2/src/pcre2_valid_utf.c + ../../3rdparty/pcre2/src/pcre2_xclass.c + INCLUDE_DIRECTORIES + ../../3rdparty/pcre2/src + DEFINES + PCRE2_CODE_UNIT_WIDTH=16 + PCRE2_DISABLE_JIT + PUBLIC_INCLUDE_DIRECTORIES + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/pcre2/src> +) + +qt_internal_extend_target(Bootstrap + CONDITION WIN32 AND (CMAKE_CROSSCOMPILING OR NOT QT_FEATURE_system_pcre2) + PUBLIC_DEFINES PCRE2_STATIC +) + +qt_internal_extend_target(Bootstrap CONDITION QT_FEATURE_system_pcre2 AND NOT CMAKE_CROSSCOMPILING + LIBRARIES + WrapPCRE2::WrapPCRE2 +) + +qt_internal_extend_target(Bootstrap CONDITION MINGW AND WIN32 + PUBLIC_LIBRARIES + uuid +) + +target_link_libraries(Bootstrap PRIVATE PlatformCommonInternal) +qt_internal_apply_gc_binaries(Bootstrap PUBLIC) +set_target_properties(Bootstrap PROPERTIES AUTOMOC OFF AUTOUIC OFF AUTORCC OFF) +qt_internal_add_target_aliases(Bootstrap) +qt_set_msvc_cplusplus_options(Bootstrap PUBLIC) +qt_set_common_target_properties(Bootstrap) +qt_internal_apply_intel_cet(Bootstrap PUBLIC) + +if(WARNINGS_ARE_ERRORS) + qt_internal_set_warnings_are_errors_flags(Bootstrap PRIVATE) +endif() +qt_internal_extend_target(Bootstrap CONDITION MSVC + DEFINES + _CRT_SECURE_NO_WARNINGS +) + +if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.20.0" AND QT_FEATURE_debug_and_release) + set_property(TARGET Bootstrap + PROPERTY EXCLUDE_FROM_ALL "$<NOT:$<CONFIG:${QT_MULTI_CONFIG_FIRST_CONFIG}>>") +endif() diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro deleted file mode 100644 index c784e35607..0000000000 --- a/src/tools/bootstrap/bootstrap.pro +++ /dev/null @@ -1,172 +0,0 @@ -option(host_build) - -TARGET = QtBootstrap -QT = -CONFIG += minimal_syncqt internal_module force_bootstrap gc_binaries - -MODULE_INCNAME = QtCore QtXml -MODULE_DEFINES = \ - QT_VERSION_STR=$$shell_quote(\"$$QT_VERSION\") \ - QT_VERSION_MAJOR=$$QT_MAJOR_VERSION \ - QT_VERSION_MINOR=$$QT_MINOR_VERSION \ - QT_VERSION_PATCH=$$QT_PATCH_VERSION \ - QT_BOOTSTRAPPED \ - QT_NO_CAST_TO_ASCII -MODULE_CONFIG = gc_binaries - -DEFINES += \ - $$MODULE_DEFINES \ - QT_NO_FOREACH \ - QT_NO_CAST_FROM_ASCII - -SOURCES += \ - ../../corelib/codecs/qlatincodec.cpp \ - ../../corelib/codecs/qtextcodec.cpp \ - ../../corelib/codecs/qutfcodec.cpp \ - ../../corelib/global/qendian.cpp \ - ../../corelib/global/qglobal.cpp \ - ../../corelib/global/qlogging.cpp \ - ../../corelib/global/qmalloc.cpp \ - ../../corelib/global/qnumeric.cpp \ - ../../corelib/global/qoperatingsystemversion.cpp \ - ../../corelib/global/qrandom.cpp \ - ../../corelib/io/qabstractfileengine.cpp \ - ../../corelib/io/qbuffer.cpp \ - ../../corelib/io/qdebug.cpp \ - ../../corelib/io/qdir.cpp \ - ../../corelib/io/qdiriterator.cpp \ - ../../corelib/io/qfile.cpp \ - ../../corelib/io/qfileinfo.cpp \ - ../../corelib/io/qfilesystementry.cpp \ - ../../corelib/io/qfilesystemengine.cpp \ - ../../corelib/io/qfsfileengine.cpp \ - ../../corelib/io/qfsfileengine_iterator.cpp \ - ../../corelib/io/qiodevice.cpp \ - ../../corelib/io/qipaddress.cpp \ - ../../corelib/io/qfiledevice.cpp \ - ../../corelib/io/qresource.cpp \ - ../../corelib/io/qtemporarydir.cpp \ - ../../corelib/io/qtemporaryfile.cpp \ - ../../corelib/io/qsavefile.cpp \ - ../../corelib/io/qstandardpaths.cpp \ - ../../corelib/io/qloggingcategory.cpp \ - ../../corelib/io/qloggingregistry.cpp \ - ../../corelib/io/qurl.cpp \ - ../../corelib/io/qurlidna.cpp \ - ../../corelib/io/qurlquery.cpp \ - ../../corelib/io/qurlrecode.cpp \ - ../../corelib/kernel/qcoreapplication.cpp \ - ../../corelib/kernel/qcoreglobaldata.cpp \ - ../../corelib/kernel/qmetatype.cpp \ - ../../corelib/kernel/qvariant.cpp \ - ../../corelib/kernel/qsystemerror.cpp \ - ../../corelib/kernel/qsharedmemory.cpp \ - ../../corelib/kernel/qsystemsemaphore.cpp \ - ../../corelib/plugin/quuid.cpp \ - ../../corelib/serialization/qcborvalue.cpp \ - ../../corelib/serialization/qdatastream.cpp \ - ../../corelib/serialization/qjsoncbor.cpp \ - ../../corelib/serialization/qjsondocument.cpp \ - ../../corelib/serialization/qjsonobject.cpp \ - ../../corelib/serialization/qjsonarray.cpp \ - ../../corelib/serialization/qjsonvalue.cpp \ - ../../corelib/serialization/qjsonparser.cpp \ - ../../corelib/serialization/qjsonwriter.cpp \ - ../../corelib/serialization/qtextstream.cpp \ - ../../corelib/serialization/qxmlutils.cpp \ - ../../corelib/serialization/qxmlstream.cpp \ - ../../corelib/text/qbytearray.cpp \ - ../../corelib/text/qbytearraylist.cpp \ - ../../corelib/text/qbytearraymatcher.cpp \ - ../../corelib/text/qlocale.cpp \ - ../../corelib/text/qlocale_tools.cpp \ - ../../corelib/text/qregexp.cpp \ - ../../corelib/text/qstring.cpp \ - ../../corelib/text/qstringbuilder.cpp \ - ../../corelib/text/qstring_compat.cpp \ - ../../corelib/text/qstringlist.cpp \ - ../../corelib/text/qstringview.cpp \ - ../../corelib/text/qvsnprintf.cpp \ - ../../corelib/time/qcalendar.cpp \ - ../../corelib/time/qdatetime.cpp \ - ../../corelib/time/qgregoriancalendar.cpp \ - ../../corelib/time/qromancalendar.cpp \ - ../../corelib/tools/qarraydata.cpp \ - ../../corelib/tools/qbitarray.cpp \ - ../../corelib/tools/qcommandlineparser.cpp \ - ../../corelib/tools/qcommandlineoption.cpp \ - ../../corelib/tools/qcryptographichash.cpp \ - ../../corelib/tools/qhash.cpp \ - ../../corelib/tools/qmap.cpp \ - ../../corelib/tools/qringbuffer.cpp \ - ../../corelib/tools/qpoint.cpp \ - ../../corelib/tools/qrect.cpp \ - ../../corelib/tools/qsize.cpp \ - ../../corelib/tools/qline.cpp \ - ../../corelib/tools/qversionnumber.cpp \ - ../../xml/dom/qdom.cpp \ - ../../xml/sax/qxml.cpp - -unix:SOURCES += ../../corelib/kernel/qcore_unix.cpp \ - ../../corelib/kernel/qsharedmemory_posix.cpp \ - ../../corelib/kernel/qsharedmemory_systemv.cpp \ - ../../corelib/kernel/qsharedmemory_unix.cpp \ - ../../corelib/kernel/qsystemsemaphore_posix.cpp \ - ../../corelib/kernel/qsystemsemaphore_systemv.cpp \ - ../../corelib/kernel/qsystemsemaphore_unix.cpp \ - ../../corelib/io/qfilesystemengine_unix.cpp \ - ../../corelib/io/qfilesystemiterator_unix.cpp \ - ../../corelib/io/qfsfileengine_unix.cpp - -win32:SOURCES += ../../corelib/global/qoperatingsystemversion_win.cpp \ - ../../corelib/io/qfilesystemengine_win.cpp \ - ../../corelib/io/qfilesystemiterator_win.cpp \ - ../../corelib/io/qfsfileengine_win.cpp \ - ../../corelib/kernel/qcoreapplication_win.cpp \ - ../../corelib/kernel/qsharedmemory_win.cpp \ - ../../corelib/kernel/qsystemsemaphore_win.cpp \ - ../../corelib/plugin/qsystemlibrary.cpp \ - ../../corelib/kernel/qwinregistry.cpp \ - -mac { - SOURCES += \ - ../../corelib/kernel/qcoreapplication_mac.cpp \ - ../../corelib/kernel/qcore_mac.cpp - - OBJECTIVE_SOURCES += \ - ../../corelib/global/qoperatingsystemversion_darwin.mm \ - ../../corelib/kernel/qcore_mac_objc.mm \ - ../../corelib/kernel/qcore_foundation.mm - - LIBS += -framework Foundation - osx: LIBS_PRIVATE += -framework CoreServices - uikit: LIBS_PRIVATE += -framework UIKit -} - -macx { - OBJECTIVE_SOURCES += \ - ../../corelib/io/qstandardpaths_mac.mm -} else:unix { - SOURCES += \ - ../../corelib/io/qstandardpaths_unix.cpp -} else { - SOURCES += \ - ../../corelib/io/qstandardpaths_win.cpp -} - -!qtConfig(system-zlib)|cross_compile { - include(../../3rdparty/zlib.pri) -} else { - CONFIG += no_core_dep - include(../../3rdparty/zlib_dependency.pri) -} - -win32 { - LIBS += -luser32 -lole32 -ladvapi32 -lshell32 -lnetapi32 - mingw: LIBS += -luuid -} - -load(qt_module) - -lib.CONFIG = dummy_install -INSTALLS += lib |