summaryrefslogtreecommitdiffstats
path: root/src/corelib/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/CMakeLists.txt')
-rw-r--r--src/corelib/CMakeLists.txt75
1 files changed, 72 insertions, 3 deletions
diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt
index ce3def3cd6..d18bee4feb 100644
--- a/src/corelib/CMakeLists.txt
+++ b/src/corelib/CMakeLists.txt
@@ -2,7 +2,17 @@
# SPDX-License-Identifier: BSD-3-Clause
qt_find_package(WrapPCRE2 PROVIDED_TARGETS WrapPCRE2::WrapPCRE2)
+qt_internal_extend_sbom(WrapPCRE2::WrapPCRE2
+ CPE_VENDOR "pcre"
+ CPE_PRODUCT "pcre2"
+ DOWNLOAD_LOCATION "https://github.com/PCRE2Project/pcre2"
+)
qt_find_package(WrapZLIB PROVIDED_TARGETS WrapZLIB::WrapZLIB)
+qt_internal_extend_sbom(WrapZLIB::WrapZLIB
+ CPE_VENDOR "zlib"
+ CPE_PRODUCT "zlib"
+ DOWNLOAD_LOCATION "https://github.com/madler/zlib"
+)
if(ANDROID)
set(corelib_extra_cmake_files
@@ -111,6 +121,7 @@ qt_internal_add_module(Core
io/qfilesystementry.cpp io/qfilesystementry_p.h
io/qfilesystemiterator_p.h
io/qfilesystemmetadata_p.h
+ io/qfloat16format.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
@@ -127,6 +138,7 @@ qt_internal_add_module(Core
io/qstorageinfo.cpp io/qstorageinfo.h io/qstorageinfo_p.h
io/qtemporarydir.cpp io/qtemporarydir.h
io/qtemporaryfile.cpp io/qtemporaryfile.h io/qtemporaryfile_p.h
+ io/qtformat_impl.h
io/qurl.cpp io/qurl.h io/qurl_p.h
io/qurlidna.cpp
io/qurlquery.cpp io/qurlquery.h
@@ -334,7 +346,6 @@ qt_internal_add_module(Core
WrapZLIB::WrapZLIB
PRECOMPILED_HEADER
"global/qt_pch.h"
- GENERATE_CPP_EXPORTS
PUBLIC_LIBRARIES
Qt::Platform
EXTRA_CMAKE_FILES
@@ -346,6 +357,16 @@ qt_internal_add_module(Core
POLICIES
QTP0002
QTP0003
+ ATTRIBUTION_FILE_DIR_PATHS
+ text
+ tools
+ ../3rdparty/blake2
+ ../3rdparty/md4
+ ../3rdparty/md5
+ ../3rdparty/sha1
+ ../3rdparty/sha3
+ ../3rdparty/rfc6234
+ ../3rdparty/tinycbor
)
_qt_internal_setup_deploy_support()
@@ -609,6 +630,8 @@ qt_internal_extend_target(Core CONDITION APPLE
# This makes sure that the tst_qmakelib passes. For some reason,
# QtCore ends up returning a corrupted error message in
# write_file(): fail
+ ATTRIBUTION_FILE_DIR_PATHS
+ kernel
)
qt_internal_extend_target(Core CONDITION MACOS
@@ -778,6 +801,8 @@ qt_internal_extend_target(Core CONDITION QT_FEATURE_doubleconversion AND NOT QT_
INCLUDE_DIRECTORIES
../3rdparty/double-conversion/double-conversion
../3rdparty/double-conversion
+ ATTRIBUTION_FILE_DIR_PATHS
+ ../3rdparty/double-conversion
)
qt_internal_extend_target(Core CONDITION QT_FEATURE_system_libb2
@@ -789,6 +814,8 @@ qt_internal_extend_target(Core CONDITION QT_FEATURE_easingcurve
SOURCES
tools/qeasingcurve.cpp tools/qeasingcurve.h
tools/qtimeline.cpp tools/qtimeline.h
+ ATTRIBUTION_FILE_DIR_PATHS
+ ../3rdparty/easing
)
qt_internal_extend_target(Core CONDITION UNIX AND NOT HAIKU AND NOT INTEGRITY AND NOT VXWORKS AND NOT WASM AND NOT MACOS
@@ -816,12 +843,16 @@ qt_internal_extend_target(Core CONDITION WASM
text/qlocale_wasm.cpp
)
-# On MS-Win, clang has two flavors, one of which immitates MSVC (so claims to be it)
qt_internal_extend_target(Core CONDITION MSVC
LIBRARIES
runtimeobject
)
+qt_internal_extend_target(Core CONDITION MSVC AND CLANG
+ LIBRARIES
+ clang_rt.builtins-x86_64
+)
+
qt_internal_extend_target(Core CONDITION QT_FEATURE_icu
SOURCES
text/qcollator_icu.cpp
@@ -897,7 +928,7 @@ qt_internal_extend_target(Core CONDITION QT_FEATURE_timezone AND UNIX AND NOT AN
qt_internal_extend_target(Core
CONDITION
- QT_FEATURE_icu AND QT_FEATURE_timezone AND NOT ANDROID AND NOT APPLE
+ QT_FEATURE_icu AND QT_FEATURE_timezone AND NOT UNIX
SOURCES
time/qtimezoneprivate_icu.cpp
)
@@ -1004,6 +1035,8 @@ qt_internal_extend_target(Core CONDITION QT_FEATURE_process AND UNIX
io/forkfd_qt.c
INCLUDE_DIRECTORIES
../3rdparty/forkfd
+ ATTRIBUTION_FILE_DIR_PATHS
+ ../3rdparty/forkfd
)
qt_internal_extend_target(Core CONDITION APPLE AND QT_FEATURE_processenvironment
@@ -1484,3 +1517,39 @@ qt_internal_extend_target(Core
# QReadWriteLock::destroyRecursive(QReadWriteLockPrivate*)
"_ZN*14QReadWriteLock16destroyRecursiveEP*21QReadWriteLockPrivate*"
)
+
+function(qt_internal_library_deprecation_level)
+ # QT_DISABLE_DEPRECATED_UP_TO controls which version we use as a cut-off
+ # compiling in to the library. E.g. if it is set to QT_VERSION then no
+ # code which was deprecated before QT_VERSION will be compiled in.
+ if(NOT DEFINED QT_DISABLE_DEPRECATED_UP_TO)
+ if(WIN32)
+ # On Windows, due to the way DLLs work, we need to export all functions,
+ # including the inlines
+ set(QT_DISABLE_DEPRECATED_UP_TO "0x040800")
+ else()
+ # On other platforms, Qt's own compilation does need to compile the Qt 5.0 API
+ set(QT_DISABLE_DEPRECATED_UP_TO "0x050000")
+ endif()
+ elseif(NOT QT_DISABLE_DEPRECATED_UP_TO MATCHES "^0x[0-9][0-9][0-9][0-9][0-9][0-9]$")
+ message(FATAL_ERROR "Ivalid format of the QT_DISABLE_DEPRECATED_UP_TO macro:"
+ " ${QT_DISABLE_DEPRECATED_UP_TO}. The expected format is the hexadecimal number,"
+ " e.g. 0x060102")
+ endif()
+ # QT_WARN_DEPRECATED_UP_TO controls the upper-bound of deprecation
+ # warnings that are emitted. E.g. if it is set to 0x060500 then all use of
+ # things deprecated in or before 6.5.0 will be warned against.
+ set(QT_WARN_DEPRECATED_UP_TO 0x070000)
+
+ set(output_header "${CMAKE_CURRENT_BINARY_DIR}/global/qtdeprecationdefinitions.h")
+ configure_file(
+ "${CMAKE_CURRENT_SOURCE_DIR}/global/qtdeprecationdefinitions.h.in"
+ "${output_header}"
+ @ONLY
+ NEWLINE_STYLE UNIX
+ )
+
+ target_sources(Core PRIVATE "${output_header}")
+ set_source_files_properties("${output_header}" PROPERTIES GENERATED TRUE)
+endfunction()
+qt_internal_library_deprecation_level()