diff options
author | Tobias Hunger <tobias.hunger@qt.io> | 2019-03-01 14:32:58 +0100 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@qt.io> | 2019-03-11 09:14:10 +0000 |
commit | 138c0d04373b48164a31a031885381874a1f82c0 (patch) | |
tree | 0c5e64b498246c6ee8f05afea92a6f6a50c968bb /src | |
parent | 997c869280b8dfd03f15cfb9243daa17f4a3e576 (diff) |
CMake: Re-generate CMakeLists.txt file for corelib
Change-Id: I96fb3e388a39481c513f1c6a23327e41a785e4af
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/CMakeLists.txt | 891 |
1 files changed, 540 insertions, 351 deletions
diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt index ed0ec76961..b12e567473 100644 --- a/src/corelib/CMakeLists.txt +++ b/src/corelib/CMakeLists.txt @@ -1,29 +1,15 @@ +# Generated from corelib.pro. + +# special case: find_package(Threads) find_package(WrapDoubleConversion REQUIRED) if (NOT WrapDoubleConversion_FOUND) - message(FATAL_ERROR "Your C library does not provide sscanf_l/snprintf_l _snprintf_l/_sscanf_l. \ - You need to use libdouble-conversion for double/string conversion.") + message(FATAL_ERROR "Your C library does not provide \ + sscanf_l/snprintf_l _snprintf_l/_sscanf_l. \ + You need to use libdouble-conversion for double/string conversion.") endif() -find_library(FWAppKit AppKit) -find_library(FWApplicationServices ApplicationServices) -find_library(FWCoreFoundation CoreFoundation) -find_library(FWCoreServices CoreServices) -find_library(FWDiskArbitration DiskArbitration) -find_library(FWFoundation Foundation) -find_library(FWIOKit IOKit) -find_library(FWMobileCoreServices MobileCoreServices) -find_library(FWSecurity Security) -find_library(FWUIKit UIKit) -find_library(FWWatchKit WatchKit) - -## Evaluation helper target: -# FIXME: How does this work? -add_library(Qt_Evaluation INTERFACE) -target_sources(Qt_Evaluation INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/kernel/qtcore_eval.cpp") -target_include_directories(Qt_Evaluation INTERFACE global) - ##################################################################### ## Core Module: ##################################################################### @@ -55,6 +41,7 @@ add_qt_module(Core global/qlibraryinfo.cpp global/qlibraryinfo.h global/qlogging.cpp global/qlogging.h global/qmalloc.cpp + # global/qnamespace.h # special case global/qnumeric.cpp global/qnumeric.h global/qnumeric_p.h global/qoperatingsystemversion.cpp global/qoperatingsystemversion.h global/qoperatingsystemversion_p.h global/qprocessordetection.h @@ -63,7 +50,7 @@ add_qt_module(Core global/qsystemdetection.h global/qtypeinfo.h global/qtypetraits.h - global/qversiontagging.cpp global/qversiontagging.h + global/qversiontagging.cpp global/qversiontagging.h # special case io/qabstractfileengine.cpp io/qabstractfileengine_p.h io/qbuffer.cpp io/qbuffer.h io/qdataurl.cpp io/qdataurl_p.h @@ -78,8 +65,6 @@ add_qt_module(Core io/qfilesystementry.cpp io/qfilesystementry_p.h io/qfilesystemiterator_p.h io/qfilesystemmetadata_p.h - io/qfilesystemwatcher.cpp io/qfilesystemwatcher.h io/qfilesystemwatcher_p.h - io/qfilesystemwatcher_polling.cpp io/qfilesystemwatcher_polling_p.h io/qfsfileengine.cpp io/qfsfileengine_p.h io/qfsfileengine_iterator.cpp io/qfsfileengine_iterator_p.h io/qiodevice.cpp io/qiodevice.h io/qiodevice_p.h @@ -102,6 +87,8 @@ add_qt_module(Core io/qurlquery.cpp io/qurlquery.h io/qurlrecode.cpp io/qurltlds_p.h + itemmodels/qabstractitemmodel.cpp itemmodels/qabstractitemmodel.h itemmodels/qabstractitemmodel_p.h + itemmodels/qitemselectionmodel.cpp itemmodels/qitemselectionmodel.h itemmodels/qitemselectionmodel_p.h kernel/qabstracteventdispatcher.cpp kernel/qabstracteventdispatcher.h kernel/qabstracteventdispatcher_p.h kernel/qabstractnativeeventfilter.cpp kernel/qabstractnativeeventfilter.h kernel/qbasictimer.cpp kernel/qbasictimer.h @@ -120,6 +107,7 @@ add_qt_module(Core kernel/qmetatype.cpp kernel/qmetatype.h kernel/qmetatype_p.h kernel/qmetatypeswitcher_p.h kernel/qmimedata.cpp kernel/qmimedata.h + # kernel/qobject.cpp kernel/qobject.h kernel/qobject_p.h # special case kernel/qobject_impl.h kernel/qobjectcleanuphandler.cpp kernel/qobjectcleanuphandler.h kernel/qobjectdefs.h @@ -157,6 +145,14 @@ add_qt_module(Core serialization/qtextstream.cpp serialization/qtextstream.h serialization/qtextstream_p.h serialization/qxmlstream.cpp serialization/qxmlstream.h serialization/qxmlstream_p.h serialization/qxmlutils.cpp serialization/qxmlutils_p.h + statemachine/qabstractstate.cpp statemachine/qabstractstate.h statemachine/qabstractstate_p.h + statemachine/qabstracttransition.cpp statemachine/qabstracttransition.h statemachine/qabstracttransition_p.h + statemachine/qfinalstate.cpp statemachine/qfinalstate.h statemachine/qfinalstate_p.h + statemachine/qhistorystate.cpp statemachine/qhistorystate.h statemachine/qhistorystate_p.h + statemachine/qsignaleventgenerator_p.h + statemachine/qsignaltransition.cpp statemachine/qsignaltransition.h statemachine/qsignaltransition_p.h + statemachine/qstate.cpp statemachine/qstate.h statemachine/qstate_p.h + statemachine/qstatemachine.cpp statemachine/qstatemachine.h statemachine/qstatemachine_p.h thread/qmutex.h thread/qreadwritelock.h thread/qrunnable.cpp thread/qrunnable.h @@ -182,7 +178,7 @@ add_qt_module(Core tools/qdoublescanprint_p.h tools/qeasingcurve.cpp tools/qeasingcurve.h tools/qfreelist.cpp tools/qfreelist_p.h - tools/qharfbuzz.cpp + tools/qharfbuzz.cpp tools/qharfbuzz_p.h tools/qhash.cpp tools/qhash.h tools/qhashfunctions.h tools/qiterator.h @@ -215,6 +211,7 @@ add_qt_module(Core tools/qsize.cpp tools/qsize.h tools/qstack.h tools/qstring.cpp tools/qstring.h + tools/qstring_compat.cpp tools/qstringalgorithms.h tools/qstringalgorithms_p.h tools/qstringbuilder.cpp tools/qstringbuilder.h tools/qstringiterator_p.h @@ -231,27 +228,86 @@ add_qt_module(Core tools/qvector.h tools/qversionnumber.cpp tools/qversionnumber.h tools/qvsnprintf.cpp - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/global # For qconfig.cpp - LIBRARIES - WrapDoubleConversion - tinycbor Threads::Threads ZLIB::ZLIB - QtHarfBuzz - Qt::GlobalConfigPrivate - PUBLIC_LIBRARIES - Qt::Platform DEFINES QT_NO_USING_NAMESPACE QT_NO_FOREACH - DISABLE_AUTOGEN_TOOLS - uic -) - + INCLUDE_DIRECTORIES + ${CMAKE_CURRENT_BINARY_DIR}/global # special case for qconfig.cpp + LIBRARIES # special case: + Qt::GlobalConfigPrivate + QtHarfBuzz + Threads::Threads + tinycbor + WrapDoubleConversion + ZLIB::ZLIB + PUBLIC_LIBRARIES # special case: + Qt::Platform + # ANDROID_BUNDLED_JAR_DEPENDENCIES = "jar/QtAndroid.jar" + # ANDROID_LIB_DEPENDENCIES = "plugins/platforms/android/libqtforandroid.so" + # ANDROID_PERMISSIONS = "android.permission.INTERNET" "android.permission.WRITE_EXTERNAL_STORAGE" + # CMAKE_DISABLED_FEATURES = "$$joinQT_DISABLED_FEATURES,"$$escape_expand(\\n) "" + # CMAKE_HOST_DATA_DIR = "$$cmakeRelativePath$$[QT_HOST_DATA/src],$$[QT_INSTALL_PREFIX]" + # CMAKE_INSTALL_DATA_DIR = "$$cmakeRelativePath$$[QT_HOST_DATA],$$[QT_INSTALL_PREFIX]" + # CONFIG = "exceptions" "qt_tracepoints" "$$MODULE_CONFIG" "simd" "optimize_full" + # HOST_BINS = "$$[QT_HOST_BINS]" + # INSTALLS = "ctest_qt5_module_files" "cmake_qt5_umbrella_module_files" + # MIPS_DSP_ASM = "tools/qstring_mips_dsp_asm.S" + # MIPS_DSP_HEADERS = "../gui/painting/qt_mips_asm_dsp_p.h" + # MODULE = "core" + # MODULE_CONFIG = "moc" "resources" + # PRECOMPILED_HEADER = "global/qt_pch.h" + # QMAKE_DSYM_DEBUG_SCRIPT = "$$PWD/debug_script.py" + # QMAKE_DYNAMIC_LIST_FILE = "$$PWD/QtCore.dynlist" + # QMAKE_EXTRA_COMPILERS = "qfloat16_tables" + # QMAKE_PKGCONFIG_VARIABLES = "host_bins" "qt_conf" + # QMAKE_QFLOAT16_TABLES_GENERATE = "global/qfloat16.h" + # QMAKE_SUBSTITUTES = "ctest_macros_file" "cmake_umbrella_config_file" "cmake_umbrella_config_module_location" "cmake_umbrella_config_module_location_for_install" "cmake_umbrella_config_version_file" "cmake_extras_mkspec_dir" "cmake_extras_mkspec_dir_for_install" + # TRACEPOINT_PROVIDER = "$$PWD/qtcore.tracepoints" + # TR_EXCLUDE = "../3rdparty/*" + # VERSIONTAGGING_SOURCES = "global/qversiontagging.cpp" + # _LOADED = "qt_module" "cmake_functions" + # cmake_extras_mkspec_dir.input = "$$PWD/Qt5CoreConfigExtrasMkspecDir.cmake.in" + # cmake_extras_mkspec_dir.output = "$$DESTDIR/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake" + # cmake_extras_mkspec_dir_for_install.input = "$$PWD/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in" + # cmake_extras_mkspec_dir_for_install.output = "$$DESTDIR/cmake/install/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake" + # cmake_qt5_umbrella_module_files.files = "$$cmake_umbrella_config_file.output" "$$cmake_umbrella_config_version_file.output" "$$cmake_umbrella_config_module_location_for_install.output" + # cmake_qt5_umbrella_module_files.path = "$$[QT_INSTALL_LIBS]/cmake/Qt5" + # cmake_umbrella_config_file.input = "$$PWD/Qt5Config.cmake.in" + # cmake_umbrella_config_file.output = "$$DESTDIR/cmake/Qt5/Qt5Config.cmake" + # cmake_umbrella_config_module_location.input = "$$PWD/Qt5ModuleLocation.cmake.in" + # cmake_umbrella_config_module_location.output = "$$DESTDIR/cmake/Qt5/Qt5ModuleLocation.cmake" + # cmake_umbrella_config_module_location_for_install.input = "$$PWD/Qt5ModuleLocationForInstall.cmake.in" + # cmake_umbrella_config_module_location_for_install.output = "$$DESTDIR/cmake/install/Qt5/Qt5ModuleLocation.cmake" + # cmake_umbrella_config_version_file.input = "$$PWD/../../mkspecs/features/data/cmake/Qt5ConfigVersion.cmake.in" + # cmake_umbrella_config_version_file.output = "$$DESTDIR/cmake/Qt5/Qt5ConfigVersion.cmake" + # ctest_macros_file.CONFIG = "verbatim" + # ctest_macros_file.input = "$$PWD/Qt5CTestMacros.cmake" + # ctest_macros_file.output = "$$DESTDIR/cmake/Qt5Core/Qt5CTestMacros.cmake" + # ctest_qt5_module_files.files = "$$ctest_macros_file.output" "$$cmake_extras_mkspec_dir_for_install.output" + # ctest_qt5_module_files.path = "$$[QT_INSTALL_LIBS]/cmake/Qt5Core" + # host_bins.name = "host_bins" + # host_bins.variable = "HOST_BINS" + # qfloat16_tables.commands = "$$QMAKE_QFLOAT16_TABLES" "${QMAKE_FILE_OUT}" + # qfloat16_tables.depends = "$$QMAKE_QFLOAT16_TABLES" + # qfloat16_tables.input = "QMAKE_QFLOAT16_TABLES_GENERATE" + # qfloat16_tables.output = "global/qfloat16tables.cpp" + # qfloat16_tables.variable_out = "SOURCES" + # qt_conf.name = "qt_config" + # qt_conf.variable = "QT_CONFIG" +) + + +# special case: add_dependencies(Core Qt::moc) add_dependencies(Core Qt::rcc) add_dependencies(CorePrivate Qt::moc) add_dependencies(CorePrivate Qt::rcc) +if (QT_NAMESPACE STREQUAL "") +else() + target_compile_definitions(Core PUBLIC "QT_NAMESPACE=${QT_NAMESPACE}") +endif() + configure_file(global/qconfig.cpp.in global/qconfig.cpp) # Handle QObject: Automoc does not work for this as it would @@ -271,18 +327,20 @@ target_include_directories(Core_qobject PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/ker target_link_libraries(Core_qobject PRIVATE Qt::Platform Qt::GlobalConfig) target_link_libraries(Core PRIVATE Core_qobject) -set_property(TARGET Core APPEND PROPERTY PUBLIC_HEADER "${CMAKE_CURRENT_BINARY_DIR}/global/qconfig.h") -set_property(TARGET Core APPEND PROPERTY PRIVATE_HEADER "${CMAKE_CURRENT_BINARY_DIR}/global/qconfig_p.h") - -# FIXME: tools still have a lot of special stuff that is not ported! +set_property(TARGET Core APPEND PROPERTY + PUBLIC_HEADER "${CMAKE_CURRENT_BINARY_DIR}/global/qconfig.h") +set_property(TARGET Core APPEND PROPERTY + PRIVATE_HEADER "${CMAKE_CURRENT_BINARY_DIR}/global/qconfig_p.h") +# Find ELF interpreter and define a macro for that: if (LINUX AND NOT CMAKE_CROSSCOMPILING AND BUILD_SHARED_LIBS) if (NOT DEFINED ELF_INTERPRETER) execute_process(COMMAND ${CMAKE_COMMAND} -E env LC_ALL=C readelf -l /bin/ls RESULT_VARIABLE readelf_ok OUTPUT_VARIABLE readelf_output ) - if ("${readelf_ok}" STREQUAL "0" AND "${readelf_output}" MATCHES "program interpreter: (.*)]") + if ("${readelf_ok}" STREQUAL "0" + AND "${readelf_output}" MATCHES "program interpreter: (.*)]") set(ELF_INTERPRETER "${CMAKE_MATCH_1}" CACHE INTERNAL "ELF interpreter location") else() set(ELF_INTERPRETER "" CACHE INTERNAL "ELF interpreter location") @@ -295,273 +353,221 @@ if (LINUX AND NOT CMAKE_CROSSCOMPILING AND BUILD_SHARED_LIBS) endif() -### Platform support: +## Scopes: ##################################################################### +# +#extend_target(Core CONDITION QT_FEATURE_gc_binaries +# # MODULE_CONFIG = "gc_binaries" +#) +# +#extend_target(Core CONDITION NOT QT_NAMESPACE_ISEMPTY +# # MODULE_DEFINES = "QT_NAMESPACE=$$QT_NAMESPACE" +#) + +extend_target(Core CONDITION MSVC AND (TEST_architecture STREQUAL "i386") + LINK_OPTIONS + "/BASE:0x67000000" +) +# +#extend_target(Core CONDITION FREEBSD OR OPENBSD +# # QMAKE_LFLAGS_NOUNDEF = <EMPTY> +#) -# Windows - -### All Windows: extend_target(Core CONDITION WIN32 SOURCES + global/qoperatingsystemversion_win.cpp global/qoperatingsystemversion_win_p.h io/qfilesystemengine_win.cpp - io/qfilesystemwatcher_win.cpp io/qfilesystemwatcher_win_p.h io/qfsfileengine_win.cpp io/qlockfile_win.cpp kernel/qcoreapplication_win.cpp kernel/qelapsedtimer_win.cpp kernel/qsharedmemory_win.cpp kernel/qsystemsemaphore_win.cpp - kernel/qwineventnotifier.cpp - kernel/qwineventnotifier.h - kernel/qwineventnotifier_p.h - plugin/qsystemlibrary.cpp - plugin/qsystemlibrary_p.h + kernel/qwineventnotifier.cpp kernel/qwineventnotifier.h kernel/qwineventnotifier_p.h + plugin/qsystemlibrary.cpp plugin/qsystemlibrary_p.h thread/qatomic_msvc.h thread/qthread_win.cpp - tools/qlocale_win.cpp - global/qoperatingsystemversion_win.cpp - LIBRARIES kernel32 user32 shell32 uuid ole32 advapi32 winmm version ws2_32 + # special case: DEFINES + LIBRARIES + ws2_32 ) -### Classic windows: extend_target(Core CONDITION WIN32 AND NOT WINRT SOURCES io/qsettings_win.cpp io/qstandardpaths_win.cpp io/qstorageinfo_win.cpp - io/qwindowspipereader.cpp - io/qwindowspipereader_p.h - io/qwindowspipewriter.cpp - io/qwindowspipewriter_p.h + io/qwindowspipereader.cpp io/qwindowspipereader_p.h + io/qwindowspipewriter.cpp io/qwindowspipewriter_p.h kernel/qeventdispatcher_win.cpp kernel/qeventdispatcher_win_p.h - LIBRARIES mpr netapi32 userenv + LIBRARIES + kernel32 + user32 + shell32 + uuid + ole32 + advapi32 + winmm + version + mpr + netapi32 + userenv ) -### WinRT -extend_target(Core CONDITION WIN32 AND WINRT +extend_target(Core CONDITION APPLE SOURCES - io/qsettings_winrt.cpp - io/qstandardpaths_winrt.cpp - io/qstorageinfo_stub.cpp - kernel/qeventdispatcher_winrt.cpp kernel/qeventdispatcher_winrt_p.h - kernel/qfunctions_fake_env_p.h - kernel/qfunctions_winrt.cpp kernel/qfunctions_winrt.h + global/qoperatingsystemversion_darwin.mm + LIBRARIES + ${FWCoreFoundation} + ${FWFoundation} ) -### All Apple: -extend_target(Core CONDITION APPLE +extend_target(Core CONDITION APPLE_OSX SOURCES - io/qsettings_mac.cpp io/qstandardpaths_mac.mm io/qstorageinfo_mac.cpp kernel/qcfsocketnotifier.cpp kernel/qcfsocketnotifier_p.h - kernel/qcoreapplication_mac.cpp kernel/qcore_foundation.mm + kernel/qcore_mac.cpp kernel/qcore_mac_p.h kernel/qcore_mac_objc.mm - kernel/qcore_mac_objc.mm kernel/qcore_mac.cpp kernel/qcore_mac_p.h - kernel/qelapsedtimer_mac.cpp + kernel/qcoreapplication_mac.cpp kernel/qeventdispatcher_cf.mm kernel/qeventdispatcher_cf_p.h - global/qoperatingsystemversion_darwin.mm - LIBRARIES ${FWCoreFoundation} ${FWFoundation} -) - -### Apple desktop machines: -extend_target(Core CONDITION APPLE_OSX - SOURCES - io/qfilesystemwatcher_fsevents.mm io/qfilesystemwatcher_fsevents_p.h - tools/qlocale_mac.mm LIBRARIES - ${FWCoreServices} ${FWAppKit} ${FWSecurity} - ${FWApplicationServices} ${FWDiskArbitration} ${FWIOKit} + ${FWApplicationServices} + ${FWCoreServices} + ${FWFoundation} + ${FWCoreServices} + ${FWAppKit} + ${FWSecurity} + ${FWDiskArbitration} + ${FWIOKit} ) -### Apple mobile machines: -extend_target(Core CONDITION APPLE AND NOT APPLE_OSX - LIBRARIES ${FWMobileCoreServices} -) - -extend_target(Core CONDITION APPLE_WATCHOS LIBRARIES ${FWWatchKit}) -extend_target(Core CONDITION APPLE_TVOS LIBRARIES ${FWUIKit}) - extend_target(Core CONDITION INTEGRITY - SOURCES tools/qlocale_unix.cpp - LIBRARIES posix ivfs socket net shm_client -) - -extend_target(Core CONDITION UNIX - SOURCES - io/qfilesystemengine_unix.cpp - io/qfsfileengine_unix.cpp - io/qlockfile_unix.cpp - thread/qthread_unix.cpp -) - -extend_target(Core CONDITION UNIX AND NOT APPLE - SOURCES - tools/qlocale_unix.cpp -) - -extend_target(Core CONDITION ANDROID - SOURCES - io/qstandardpaths_android.cpp - io/qstorageinfo_unix.cpp - kernel/qjni.cpp kernel/qjni_p.h - kernel/qjnihelpers.cpp kernel/qjnihelpers_p.h - kernel/qjnionload.cpp -) - -extend_target(Core CONDITION HAIKU - SOURCES - io/qstandardpaths_haiku.cpp - io/qstorageinfo_unix.cpp - LIBRARIES be -) - -extend_target(Core CONDITION BSD - SOURCES io/qfilesystemwatcher_kqueue.cpp io/qfilesystemwatcher_kqueue_p.h -) - -extend_target(Core CONDITION VXWORKS - SOURCES kernel/qfunctions_vxworks.cpp kernel/qfunctions_vxworks.h + LIBRARIES + posix + ivfs + socket + net + shm_client + COMPILE_OPTIONS + "--pending_instantiations=128" +) + +# +#extend_target(Core CONDITION pathIsAbsolute(_ss_CMAKE_HOST_DATA_DIR) +# # CMAKE_HOST_DATA_DIR = "$$[QT_HOST_DATA/src]/" +# # CMAKE_HOST_DATA_DIR_IS_ABSOLUTE = "True" +#) +# +#extend_target(Core CONDITION pathIsAbsolute(_ss_CMAKE_INSTALL_DATA_DIR) +# # CMAKE_INSTALL_DATA_DIR = "$$[QT_HOST_DATA]/" +# # CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE = "True" +#) +# +#extend_target(Core CONDITION contains(QT_CPU_FEATURES__ss_QT_ARCH, f16c) +# # f16c_cxx = "true" +#) +# +#extend_target(Core CONDITION (NOT (contains(QT_CPU_FEATURES__ss_QT_ARCH,f16c))) AND (CLANG OR intel_icl OR ICC) +# # f16c_cxx = "false" +#) +# +#extend_target(Core CONDITION ((NOT (contains(QT_CPU_FEATURES__ss_QT_ARCH,f16c))) AND (NOT (CLANG OR intel_icl OR ICC))) AND (GCC AND f16c AND x86SimdAlways) +# # f16c_cxx = "true" +#) +# +#extend_target(Core CONDITION (((NOT (contains(QT_CPU_FEATURES__ss_QT_ARCH,f16c))) AND (NOT (CLANG OR intel_icl OR ICC))) AND (NOT (GCC AND f16c AND x86SimdAlways))) AND (MSVC AND contains(QT_CPU_FEATURES__ss_QT_ARCH,avx)) +# # f16c_cxx = "true" +#) +# +#extend_target(Core CONDITION (((NOT (contains(QT_CPU_FEATURES__ss_QT_ARCH,f16c))) AND (NOT (CLANG OR intel_icl OR ICC))) AND (NOT (GCC AND f16c AND x86SimdAlways))) AND (NOT (MSVC AND contains(QT_CPU_FEATURES__ss_QT_ARCH,avx))) +# # f16c_cxx = "false" +#) + +extend_target(Core CONDITION _ss_f16c_cxx + DEFINES + QFLOAT16_INCLUDE_FAST ) +# +#extend_target(Core CONDITION NOT _ss_f16c_cxx +# # F16C_SOURCES = "global/qfloat16_f16c.c" +#) -extend_target(Core CONDITION NACL - SOURCES kernel/qfunctions_nacl.cpp kernel/qfunctions_nacl.h +extend_target(Core CONDITION linux_x_ OR hurd_x_ AND NOT cross_compile AND NOT static AND NOT _x_-armcc_x_ + DEFINES + ELF_INTERPRETER=\\\"=Creadelf-l/bin/ls|perl-n-e\'/programinterpreter:.*]/{print$1;}\'\\\" + LINK_OPTIONS + "-Wl,-e,qt_core_boilerplate" ) -extend_target(Core CONDITION NOT WIN32 AND NOT APPLE AND NOT ANDROID AND NOT HAIKU +extend_target(Core CONDITION LINUX AND NOT static SOURCES - io/qstandardpaths_unix.cpp - io/qstorageinfo_unix.cpp -) - -### standardpaths, storageinfo and settings: -if (WIN32) - if (WINRT) - target_sources(Core PRIVATE - io/qsettings_winrt.cpp - io/qstandardpaths_winrt.cpp - io/qstorageinfo_stub.cpp - ) - else() - target_sources(Core PRIVATE - io/qsettings_win.cpp - io/qstandardpaths_win.cpp - io/qstorageinfo_win.cpp - ) - endif() -elseif (UNIX) - if (NOT INTEGRITY AND NOT UIKIT) - target_sources(Core PRIVATE io/forkfd_qt.cpp) - target_include_directories(Core PRIVATE ../3rdparty/forkfd) - endif() - if (NOT NACL AND APPLE) - target_sources(Core PRIVATE io/qsettings_mac.cpp) - endif() - if (APPLE) - target_sources(Core PRIVATE - io/qstandardpaths_mac.mm - io/qstorageinfo_mac.cpp - ) - elseif(ANDROID AND NOT ANDROID_EMBEDDED) - target_sources(Core PRIVATE - io/qstandardpaths_android.cpp - io/qstorageinfo_unix.cpp - ) - elseif(HAIKU) - target_sources(Core PRIVATE - io/qstandardpaths_haiku.cpp - io/qstorageinfo_unix.cpp - ) - else() - target_sources(Core PRIVATE - io/qstandardpaths_unix.cpp - io/qstorageinfo_unix.cpp - ) - endif() -endif() - -### kernel stuff: -if (UNIX OR INTEGRITY) - extend_target(Core SOURCES - kernel/qcore_unix.cpp - kernel/qcore_unix_p.h - kernel/qeventdispatcher_unix.cpp - kernel/qeventdispatcher_unix_p.h - kernel/qpoll_p.h - kernel/qtimerinfo_unix.cpp - kernel/qtimerinfo_unix_p.h - ) - if (NOT APPLE OR NACL) - target_sources(Core PRIVATE kernel/qelapsedtimer_unix.cpp) - endif() - - if (ANDROID) - target_sources(Core PRIVATE - kernel/qsharedmemory_android.cpp - kernel/qsystemsemaphore_android.cpp - ) - else() - target_sources(Core PRIVATE - kernel/qsharedmemory_posix.cpp - kernel/qsharedmemory_systemv.cpp - kernel/qsharedmemory_unix.cpp - kernel/qsystemsemaphore_posix.cpp - kernel/qsystemsemaphore_systemv.cpp - kernel/qsystemsemaphore_unix.cpp - ) - endif() - - # FIXME: Implement this! - # This is needed by QMetaType::typeName array implementation - #integrity: QMAKE_CXXFLAGS += --pending_instantiations=128 -elseif(NOT WIN32 AND NOT UNIX AND NOT APPLE) - target_sources(Core PRIVATE kernel/qelapsedtimer_generic.cpp) -endif() - - - -### Feature support: -##################################################################### - -## inotify: -extend_target(Core CONDITION QT_FEATURE_inotify + global/minimum-linux_p.h +) +# +#extend_target(Core CONDITION LINUX AND precompile_header AND NOT static +# # NO_PCH_ASM = "global/minimum-linux.S" +# # QMAKE_EXTRA_COMPILERS = "no_pch_assembler" +# # no_pch_assembler.commands = "$$QMAKE_CC" "-c" "$(CFLAGS)" "$(INCPATH)" "${QMAKE_FILE_IN}" "-o" "${QMAKE_FILE_OUT}" +# # no_pch_assembler.dependency_type = "TYPE_C" +# # no_pch_assembler.input = "NO_PCH_ASM" +# # no_pch_assembler.name = "compiling[no_pch]" "${QMAKE_FILE_IN}" +# # no_pch_assembler.output = "${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${firstQMAKE_EXT_OBJ}" +#) +# +#extend_target(Core CONDITION LINUX AND precompile_header AND silent AND NOT static +# # no_pch_assembler.commands = "@echo" "compiling[no_pch]" "${QMAKE_FILE_IN}" "&&" "$$no_pch_assembler.commands" +#) + +extend_target(Core CONDITION LINUX AND NOT precompile_header AND NOT static SOURCES - io/qfilesystemwatcher_inotify.cpp io/qfilesystemwatcher_inotify_p.h + global/minimum-linux.S ) -## qqnx_pps: -extend_target(Core CONDITION QNX AND QT_FEATURE_qqnx_pps - SOURCES - kernel/qppsattribute.cpp kernel/qppsattribute_p.h - kernel/qppsattributeprivate_p.h - kernel/qppsobject.cpp kernel/qppsobject_p.h - kernel/qppsobjectprivate_p.h - LIBRARIES PPS::PPS +extend_target(Core CONDITION QT_FEATURE_slog2 + LIBRARIES + slog2 ) -## clock_gettime: -extend_target(Core CONDITION UNIX AND QT_FEATURE_clock_gettime - LIBRARIES WrapRt -) +extend_target(Core CONDITION QT_FEATURE_journald + LIBRARIES + journald +) +# +#extend_target(Core CONDITION GCC AND ltcg +# # QMAKE_EXTRA_COMPILERS = "versiontagging_compiler" +# # versiontagging_compiler.commands = "$$QMAKE_CXX" "-c" "$(CXXFLAGS)" "$(INCPATH)" "-fno-lto" "-o" "${QMAKE_FILE_OUT}" "${QMAKE_FILE_IN}" +# # versiontagging_compiler.dependency_type = "TYPE_C" +# # versiontagging_compiler.input = "VERSIONTAGGING_SOURCES" +# # versiontagging_compiler.name = "compiling[versiontagging]" "${QMAKE_FILE_IN}" +# # versiontagging_compiler.output = "${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${firstQMAKE_EXT_OBJ}" +# # versiontagging_compiler.variable_out = "OBJECTS" +#) +# +#extend_target(Core CONDITION GCC AND ltcg AND silent +# # versiontagging_compiler.commands = "@echo" "compiling[versiontagging]" "${QMAKE_FILE_IN}" "&&" "$$versiontagging_compiler.commands" +#) -## glib: -extend_target(Core CONDITION QT_FEATURE_glib +extend_target(Core CONDITION UNIX SOURCES - kernel/qeventdispatcher_glib.cpp kernel/qeventdispatcher_glib_p.h - LIBRARIES GLIB2::GLIB2 -) - -## poll_select: -extend_target(Core CONDITION UNIX AND QT_FEATURE_poll_select - SOURCES kernel/qpoll.cpp + io/qfilesystemengine_unix.cpp + io/qfilesystemiterator_unix.cpp + io/qfsfileengine_unix.cpp + io/qlockfile_unix.cpp + kernel/qcore_unix.cpp kernel/qcore_unix_p.h + kernel/qeventdispatcher_unix.cpp kernel/qeventdispatcher_unix_p.h + kernel/qpoll_p.h + kernel/qtimerinfo_unix.cpp kernel/qtimerinfo_unix_p.h + thread/qthread_unix.cpp + DEFINES + QT_NO_CAST_TO_ASCII # special case: Add that here instead of removing it in WIN32! ) -## thread: extend_target(Core CONDITION QT_FEATURE_thread SOURCES - thread/qatomic_bootstrap.h thread/qatomic.cpp thread/qatomic.h + thread/qatomic_bootstrap.h thread/qatomic_cxx11.h thread/qbasicatomic.h thread/qfutex_p.h @@ -578,14 +584,30 @@ extend_target(Core CONDITION QT_FEATURE_thread extend_target(Core CONDITION QT_FEATURE_thread AND WIN32 SOURCES + thread/qmutex_win.cpp thread/qwaitcondition_win.cpp ) -extend_target(Core CONDITION QT_FEATURE_thread AND NOT WIN32 - SOURCES thread/qwaitcondition_unix.cpp +extend_target(Core CONDITION QT_FEATURE_thread AND UNIX + SOURCES + thread/qwaitcondition_unix.cpp +) + +extend_target(Core CONDITION APPLE AND QT_FEATURE_thread + SOURCES + thread/qmutex_mac.cpp +) + +extend_target(Core CONDITION LINUX AND QT_FEATURE_thread + SOURCES + thread/qmutex_linux.cpp +) + +extend_target(Core CONDITION QT_FEATURE_thread AND UNIX AND NOT APPLE AND NOT LINUX + SOURCES + thread/qmutex_unix.cpp ) -## future: extend_target(Core CONDITION QT_FEATURE_future SOURCES thread/qexception.cpp thread/qexception.h @@ -596,25 +618,46 @@ extend_target(Core CONDITION QT_FEATURE_future thread/qresultstore.cpp thread/qresultstore.h ) -## ICU: -extend_target(Core CONDITION QT_FEATURE_icu +extend_target(Core CONDITION QT_FEATURE_std_atomic64 + LIBRARIES + Atomic +) + +extend_target(Core CONDITION ICC + COMPILE_OPTIONS + "-fp-model" + "strict" +) + +extend_target(Core CONDITION MSVC SOURCES - codecs/qicucodec.cpp - tools/qcollator_icu.cpp - tools/qlocale_icu.cpp - LIBRARIES ICU::i18n ICU::uc ICU::data + tools/qvector_msvc.cpp ) -extend_target(Core CONDITION NOT QT_FEATURE_icu AND WIN32 - SOURCES tools/qcollator_win.cpp +extend_target(Core CONDITION APPLE_OSX AND NOT NACL + SOURCES + io/qsettings_mac.cpp + kernel/qelapsedtimer_mac.cpp + tools/qlocale_mac.mm ) -extend_target(Core CONDITION NOT QT_FEATURE_icu AND APPLE - SOURCES tools/qcollator_macx.cpp +extend_target(Core CONDITION UNIX AND (NACL OR NOT APPLE_OSX) + SOURCES + tools/qlocale_unix.cpp ) -extend_target(Core CONDITION NOT QT_FEATURE_icu AND NOT WIN32 AND NOT APPLE - SOURCES tools/qcollator_posix.cpp +extend_target(Core CONDITION WIN32 AND (NACL OR NOT APPLE_OSX) + SOURCES + tools/qlocale_win.cpp +) + +extend_target(Core CONDITION QT_FEATURE_icu + SOURCES + codecs/qicucodec.cpp codecs/qicucodec_p.h + tools/qcollator_icu.cpp + tools/qlocale_icu.cpp + LIBRARIES + ICU::i18n ICU::uc ICU::data ) extend_target(Core CONDITION NOT QT_FEATURE_icu @@ -628,16 +671,22 @@ extend_target(Core CONDITION NOT QT_FEATURE_icu codecs/qsjiscodec.cpp codecs/qsjiscodec_p.h ) -extend_target(Core CONDITION NOT QT_FEATURE_icu AND QT_FEATURE_iconv - SOURCES codecs/qiconvcodec.cpp codecs/qiconvcodec_p.h - LIBRARIES Iconv +extend_target(Core CONDITION WIN32 AND NOT QT_FEATURE_icu + SOURCES + codecs/qwindowscodec.cpp codecs/qwindowscodec_p.h + tools/qcollator_win.cpp +) + +extend_target(Core CONDITION APPLE_OSX AND NOT QT_FEATURE_icu + SOURCES + tools/qcollator_macx.cpp ) -extend_target(Core CONDITION NOT QT_FEATURE_icu AND WIN32 - SOURCES codecs/qwindowscodec.cpp codecs/qwindowscodec_p.h +extend_target(Core CONDITION UNIX AND NOT APPLE_OSX AND NOT QT_FEATURE_icu + SOURCES + tools/qcollator_posix.cpp ) -## timezone: extend_target(Core CONDITION QT_FEATURE_timezone SOURCES tools/qtimezone.cpp tools/qtimezone.h @@ -645,134 +694,278 @@ extend_target(Core CONDITION QT_FEATURE_timezone tools/qtimezoneprivate_data_p.h ) -extend_target(Core CONDITION QT_FEATURE_timezone AND WIN32 - SOURCES tools/qtimezoneprivate_win.cpp +extend_target(Core CONDITION APPLE AND QT_FEATURE_timezone AND NOT NACL + SOURCES + tools/qtimezoneprivate_mac.mm +) + +extend_target(Core CONDITION ANDROID AND QT_FEATURE_timezone AND NOT ANDROID_EMBEDDED AND (NACL OR NOT APPLE) + SOURCES + tools/qtimezoneprivate_android.cpp ) -extend_target(Core CONDITION QT_FEATURE_timezone AND APPLE - SOURCES tools/qtimezoneprivate_mac.mm +extend_target(Core CONDITION QT_FEATURE_timezone AND UNIX AND (ANDROID_EMBEDDED OR NOT ANDROID) AND (NACL OR NOT APPLE) + SOURCES + tools/qtimezoneprivate_tz.cpp ) -extend_target(Core CONDITION QT_FEATURE_timezone AND ANDROID - SOURCES tools/qtimezoneprivate_android.cpp +extend_target(Core CONDITION QT_FEATURE_icu AND QT_FEATURE_timezone AND UNIX AND (ANDROID_EMBEDDED OR NOT ANDROID) AND (NACL OR NOT APPLE) + SOURCES + tools/qtimezoneprivate_icu.cpp ) -extend_target(Core CONDITION QT_FEATURE_timezone AND UNIX AND NOT APPLE - SOURCES tools/qtimezoneprivate_tz.cpp +extend_target(Core CONDITION QT_FEATURE_icu AND QT_FEATURE_timezone AND WIN32 AND (ANDROID_EMBEDDED OR NOT ANDROID) AND (NACL OR NOT APPLE) + SOURCES + tools/qtimezoneprivate_icu.cpp ) -extend_target(Core CONDITION QT_FEATURE_timezone AND QT_FEATURE_icu AND NOT WIN32 AND NOT ANDROID AND NOT APPLE - SOURCES tools/qtimezoneprivate_icu.cpp +extend_target(Core CONDITION QT_FEATURE_timezone AND WIN32 AND NOT QT_FEATURE_icu AND (ANDROID_EMBEDDED OR NOT ANDROID) AND (NACL OR NOT APPLE) + SOURCES + tools/qtimezoneprivate_win.cpp ) -## datetimeparser: extend_target(Core CONDITION QT_FEATURE_datetimeparser - SOURCES tools/qdatetimeparser.cpp tools/qdatetimeparser_p.h + SOURCES + tools/qdatetimeparser.cpp tools/qdatetimeparser_p.h ) -## regularexpression: extend_target(Core CONDITION QT_FEATURE_regularexpression - SOURCES tools/qregularexpression.cpp tools/qregularexpression.h - LIBRARIES PCRE2 + SOURCES + tools/qregularexpression.cpp tools/qregularexpression.h + LIBRARIES + PCRE2 ) -## commandlineparser: extend_target(Core CONDITION QT_FEATURE_commandlineparser SOURCES tools/qcommandlineoption.cpp tools/qcommandlineoption.h tools/qcommandlineparser.cpp tools/qcommandlineparser.h ) -## processenvironment: -extend_target(Core CONDITION QT_FEATURE_processenvironment - SOURCES io/qprocess.cpp io/qprocess.h io/qprocess_p.h +extend_target(Core CONDITION UNIX AND NOT HAIKU AND NOT INTEGRITY AND NOT VXWORKS AND NOT WASM AND (NOT APPLE_OSX OR NOT ICC) + LIBRARIES + m ) -extend_target(Core CONDITION QT_FEATURE_processenvironment AND WIN32 AND NOT WINRT - SOURCES io/qprocess_win.cpp +extend_target(Core CONDITION QT_FEATURE_filesystemwatcher + SOURCES + io/qfilesystemwatcher.cpp io/qfilesystemwatcher.h io/qfilesystemwatcher_p.h + io/qfilesystemwatcher_polling.cpp io/qfilesystemwatcher_polling_p.h +) + +extend_target(Core CONDITION QT_FEATURE_filesystemwatcher AND WIN32 + SOURCES + io/qfilesystemwatcher_win.cpp io/qfilesystemwatcher_win_p.h +) + +extend_target(Core CONDITION APPLE_OSX AND QT_FEATURE_filesystemwatcher + SOURCES + io/qfilesystemwatcher_fsevents.mm io/qfilesystemwatcher_fsevents_p.h +) + +extend_target(Core CONDITION QT_FEATURE_filesystemwatcher AND QT_FEATURE_inotify AND UNIX AND NOT APPLE_OSX + SOURCES + io/qfilesystemwatcher_inotify.cpp io/qfilesystemwatcher_inotify_p.h +) + +extend_target(Core CONDITION QT_FEATURE_filesystemwatcher AND UNIX AND NOT APPLE_OSX AND NOT QT_FEATURE_inotify AND (APPLE OR FREEBSD OR NETBSD OR OPENBSD) + SOURCES + io/qfilesystemwatcher_kqueue.cpp io/qfilesystemwatcher_kqueue_p.h +) + +extend_target(Core CONDITION QT_FEATURE_processenvironment + SOURCES + io/qprocess.cpp io/qprocess.h io/qprocess_p.h ) -extend_target(Core CONDITION QT_FEATURE_processenvironment AND APPLE - SOURCES io/qprocess_darwin.mm +extend_target(Core CONDITION QT_FEATURE_processenvironment AND WIN32 AND NOT WINRT + SOURCES + io/qprocess_win.cpp ) extend_target(Core CONDITION QT_FEATURE_processenvironment AND UNIX - SOURCES io/qprocess_unix.cpp + SOURCES + io/qprocess_unix.cpp ) -## filesystemiterator: extend_target(Core CONDITION QT_FEATURE_filesystemiterator AND WIN32 - SOURCES io/qfilesystemiterator_win.cpp + SOURCES + io/qfilesystemiterator_win.cpp +) + +extend_target(Core CONDITION WINRT + SOURCES + io/qsettings_winrt.cpp + io/qstandardpaths_winrt.cpp + io/qstorageinfo_stub.cpp + kernel/qeventdispatcher_winrt.cpp kernel/qeventdispatcher_winrt_p.h + kernel/qfunctions_fake_env_p.h + kernel/qfunctions_winrt.cpp kernel/qfunctions_winrt.h +) + +extend_target(Core CONDITION UNIX AND NOT APPLE_UIKIT AND NOT INTEGRITY + SOURCES + ../3rdparty/forkfd/forkfd.h + io/forkfd_qt.cpp + INCLUDE_DIRECTORIES + ../3rdparty/forkfd ) -extend_target(Core CONDITION QT_FEATURE_filesystemiterator AND UNIX - SOURCES io/qfilesystemiterator_unix.cpp +extend_target(Core CONDITION APPLE_OSX AND QT_FEATURE_processenvironment + SOURCES + io/qprocess_darwin.mm ) -## itemmodel: -extend_target(Core CONDITION QT_FEATURE_itemmodel +extend_target(Core CONDITION ANDROID AND NOT ANDROID_EMBEDDED SOURCES - itemmodels/qabstractitemmodel.cpp itemmodels/qabstractitemmodel.h itemmodels/qabstractitemmodel_p.h - itemmodels/qitemselectionmodel.cpp itemmodels/qitemselectionmodel.h itemmodels/qitemselectionmodel_p.h + io/qstandardpaths_android.cpp + io/qstorageinfo_unix.cpp + kernel/qjni.cpp kernel/qjni_p.h + kernel/qjnihelpers.cpp kernel/qjnihelpers_p.h + kernel/qjnionload.cpp +) + +extend_target(Core CONDITION HAIKU AND (ANDROID_EMBEDDED OR NOT ANDROID) + SOURCES + io/qstandardpaths_haiku.cpp + io/qstorageinfo_unix.cpp + LIBRARIES + be +) + +extend_target(Core CONDITION UNIX AND NOT APPLE_OSX AND NOT HAIKU AND (ANDROID_EMBEDDED OR NOT ANDROID) + SOURCES + io/qstandardpaths_unix.cpp + io/qstorageinfo_unix.cpp ) -## proxymodel: extend_target(Core CONDITION QT_FEATURE_proxymodel - SOURCES itemmodels/qabstractproxymodel.cpp itemmodels/qabstractproxymodel.h itemmodels/qabstractproxymodel_p.h + SOURCES + itemmodels/qabstractproxymodel.cpp itemmodels/qabstractproxymodel.h itemmodels/qabstractproxymodel_p.h +) + +extend_target(Core CONDITION QT_FEATURE_concatenatetablesproxymodel AND QT_FEATURE_proxymodel + SOURCES + itemmodels/qconcatenatetablesproxymodel.cpp itemmodels/qconcatenatetablesproxymodel.h ) -## identityproxymodel: -extend_target(Core CONDITION QT_FEATURE_identityproxymodel - SOURCES itemmodels/qidentityproxymodel.cpp itemmodels/qidentityproxymodel.h +extend_target(Core CONDITION QT_FEATURE_identityproxymodel AND QT_FEATURE_proxymodel + SOURCES + itemmodels/qidentityproxymodel.cpp itemmodels/qidentityproxymodel.h ) -## identityproxymodel: -extend_target(Core CONDITION QT_FEATURE_sortfilterproxymodel - SOURCES itemmodels/qsortfilterproxymodel.cpp itemmodels/qsortfilterproxymodel.h +extend_target(Core CONDITION QT_FEATURE_proxymodel AND QT_FEATURE_sortfilterproxymodel + SOURCES + itemmodels/qsortfilterproxymodel.cpp itemmodels/qsortfilterproxymodel.h ) -## stringlistmodel: extend_target(Core CONDITION QT_FEATURE_stringlistmodel - SOURCES itemmodels/qstringlistmodel.cpp itemmodels/qstringlistmodel.h + SOURCES + itemmodels/qstringlistmodel.cpp itemmodels/qstringlistmodel.h ) -## library: extend_target(Core CONDITION QT_FEATURE_library SOURCES plugin/qelfparser_p.cpp plugin/qelfparser_p.h plugin/qlibrary.cpp plugin/qlibrary.h plugin/qlibrary_p.h plugin/qmachparser.cpp plugin/qmachparser_p.h - LIBRARIES ${CMAKE_DL_LIBS} + LIBRARIES + ${CMAKE_DL_LIBS} +) + +extend_target(Core CONDITION QT_FEATURE_library AND UNIX + SOURCES + plugin/qlibrary_unix.cpp ) extend_target(Core CONDITION QT_FEATURE_library AND WIN32 - SOURCES plugin/qlibrary_win.cpp + SOURCES + plugin/qlibrary_win.cpp ) -extend_target(Core CONDITION QT_FEATURE_library AND UNIX - SOURCES plugin/qlibrary_unix.cpp +extend_target(Core CONDITION APPLE_OSX AND (APPLE_IOS OR APPLE_TVOS) + LIBRARIES + ${FWUIKit} ) -## statemachine: -extend_target(Core CONDITION QT_FEATURE_statemachine +extend_target(Core CONDITION APPLE_OSX AND APPLE_WATCHOS + LIBRARIES + ${FWWatchKit} +) + +extend_target(Core CONDITION NACL SOURCES - statemachine/qabstractstate.cpp statemachine/qabstractstate.h statemachine/qabstractstate_p.h - statemachine/qabstracttransition.cpp statemachine/qabstracttransition.h statemachine/qabstracttransition_p.h - statemachine/qfinalstate.cpp statemachine/qfinalstate.h statemachine/qfinalstate_p.h - statemachine/qhistorystate.cpp statemachine/qhistorystate.h statemachine/qhistorystate_p.h - statemachine/qsignaleventgenerator_p.h - statemachine/qsignaltransition.cpp statemachine/qsignaltransition.h statemachine/qsignaltransition_p.h - statemachine/qstate.cpp statemachine/qstate.h statemachine/qstate_p.h - statemachine/qstatemachine.cpp statemachine/qstatemachine.h statemachine/qstatemachine_p.h - INCLUDE_DIRECTORIES statemachine + kernel/qfunctions_nacl.cpp kernel/qfunctions_nacl.h +) + +extend_target(Core CONDITION INTEGRITY OR (NACL AND UNIX) OR (UNIX AND NOT APPLE) + SOURCES + kernel/qelapsedtimer_unix.cpp +) + +extend_target(Core CONDITION QT_FEATURE_poll_select AND UNIX + SOURCES + kernel/qpoll.cpp +) + +extend_target(Core CONDITION QT_FEATURE_glib AND UNIX + SOURCES + kernel/qeventdispatcher_glib.cpp kernel/qeventdispatcher_glib_p.h + LIBRARIES + GLIB2::GLIB2 +) + +extend_target(Core CONDITION QT_FEATURE_clock_gettime AND UNIX + LIBRARIES + WrapRt +) + +extend_target(Core CONDITION UNIX AND NOT ANDROID + SOURCES + kernel/qsharedmemory_posix.cpp + kernel/qsharedmemory_systemv.cpp + kernel/qsharedmemory_unix.cpp + kernel/qsystemsemaphore_posix.cpp + kernel/qsystemsemaphore_systemv.cpp + kernel/qsystemsemaphore_unix.cpp +) + +extend_target(Core CONDITION ANDROID + SOURCES + kernel/qsharedmemory_android.cpp + kernel/qsystemsemaphore_android.cpp +) + +extend_target(Core CONDITION VXWORKS + SOURCES + kernel/qfunctions_vxworks.cpp kernel/qfunctions_vxworks.h +) + +extend_target(Core CONDITION QNX AND QT_FEATURE_qqnx_pps + SOURCES + kernel/qppsattribute.cpp kernel/qppsattribute_p.h + kernel/qppsattributeprivate_p.h + kernel/qppsobject.cpp kernel/qppsobject_p.h + kernel/qppsobjectprivate_p.h + LIBRARIES + pps +) + +extend_target(Core CONDITION QT_FEATURE_iconv AND NOT QT_FEATURE_icu + SOURCES + codecs/qiconvcodec.cpp codecs/qiconvcodec_p.h +) + +extend_target(Core CONDITION QT_FEATURE_gnu_libiconv AND QT_FEATURE_iconv AND NOT QT_FEATURE_icu + LIBRARIES + iconv ) -# qeventtransition: extend_target(Core CONDITION QT_FEATURE_qeventtransition - SOURCES statemachine/qeventtransition.cpp statemachine/qeventtransition.h statemachine/qeventtransition_p.h + SOURCES + statemachine/qeventtransition.cpp statemachine/qeventtransition.h statemachine/qeventtransition_p.h ) -# mimetype: extend_target(Core CONDITION QT_FEATURE_mimetype SOURCES mimetypes/mimetypes.qrc @@ -783,16 +976,10 @@ extend_target(Core CONDITION QT_FEATURE_mimetype mimetypes/qmimeprovider.cpp mimetypes/qmimeprovider_p.h mimetypes/qmimetype.cpp mimetypes/qmimetype.h mimetypes/qmimetype_p.h mimetypes/qmimetypeparser.cpp mimetypes/qmimetypeparser_p.h - INCLUDE_DIRECTORIES mimetypes ) -# Enable Evaluation based on QT_EVAL variable being set from the outside: -extend_target(Core CONDITION QT_EVAL LIBRARIES Qt_Evaluation) - -### Extra stuff: -##################################################################### - +# special case: add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/global/qfloat16tables.cpp" COMMAND qfloat16-tables ARGS "${CMAKE_CURRENT_BINARY_DIR}/global/qfloat16tables.cpp" @@ -801,13 +988,15 @@ add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/global/qfloat16tables.cpp VERBATIM) target_sources(Core PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/global/qfloat16tables.cpp") -qt_create_tracepoints(Core qtcore.tracepoints) +set_source_files_properties( + thread/qmutex_linux.cpp + thread/qmutex_mac.cpp + thread/qmutex_unix.cpp + thread/qmutex_win.cpp + PROPERTIES HEADER_FILE_ONLY ON) # special case: These files are included by qmutex.cpp! -# Remove QT_NO_CAST_TO_ASCII to ensure that the symbols are included in the library. -if(WIN32) - get_target_property(defines Core COMPILE_DEFINITIONS) - list(REMOVE_ITEM defines QT_NO_CAST_TO_ASCII) - set_target_properties(Core PROPERTIES COMPILE_DEFINITIONS "${defines}") -endif() +qt_internal_add_link_flags_gc_sections(Core PRIVATE) # special case + +qt_create_tracepoints(Core ./qtcore.tracepoints) add_qt_docs(./doc/qtcore.qdocconf) |