diff options
Diffstat (limited to 'src')
23 files changed, 1014 insertions, 78 deletions
diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 79ff5cd93c..f9a6e7c68b 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -1,8 +1,24 @@ +# special case skip regeneration +# The file is maintained manually add_subdirectory(harfbuzz) add_subdirectory(double-conversion) -#special case begin +if(QT_FEATURE_png AND NOT QT_FEATURE_system_png) + add_subdirectory(libpng) +endif() + +if(QT_FEATURE_freetype AND NOT QT_FEATURE_system_freetype) + add_subdirectory(freetype) +endif() + +if(QT_FEATURE_harfbuzz AND NOT QT_FEATURE_system_harfbuzz) + add_subdirectory(harfbuzz-ng) +endif() + +if(QT_FEATURE_regularexpression AND NOT QT_FEATURE_system_pcre2) + add_subdirectory(pcre2) +endif() + if (ANDROID) add_subdirectory(gradle) endif() -#special case end diff --git a/src/3rdparty/freetype/CMakeLists.txt b/src/3rdparty/freetype/CMakeLists.txt new file mode 100644 index 0000000000..622b488c34 --- /dev/null +++ b/src/3rdparty/freetype/CMakeLists.txt @@ -0,0 +1,101 @@ +# Generated from freetype.pro. + +##################################################################### +## BundledFreetype Generic Library: +##################################################################### + +qt_add_3rdparty_library(BundledFreetype + STATIC + INSTALL + SOURCES + src/autofit/afdummy.c + src/autofit/afhints.c + src/autofit/aflatin.c + src/autofit/autofit.c + src/base/ftbase.c + src/base/ftbbox.c + src/base/ftbitmap.c + src/base/ftdebug.c + src/base/ftfntfmt.c + src/base/ftglyph.c + src/base/ftinit.c + src/base/ftlcdfil.c + src/base/ftmm.c + src/base/ftsynth.c + src/base/fttype1.c + src/bdf/bdf.c + src/cache/ftcache.c + src/cff/cff.c + src/cid/type1cid.c + src/gzip/ftgzip.c + src/lzw/ftlzw.c + src/otvalid/otvalid.c + src/otvalid/otvbase.c + src/otvalid/otvcommn.c + src/otvalid/otvgdef.c + src/otvalid/otvgpos.c + src/otvalid/otvgsub.c + src/otvalid/otvjstf.c + src/otvalid/otvmod.c + src/pcf/pcf.c + src/pfr/pfr.c + src/psaux/psaux.c + src/pshinter/pshinter.c + src/psnames/psmodule.c + src/raster/raster.c + src/sfnt/sfnt.c + src/smooth/smooth.c + src/truetype/truetype.c + src/type1/type1.c + src/type42/type42.c + src/winfonts/winfnt.c + DEFINES + FT2_BUILD_LIBRARY + FT_CONFIG_OPTION_SYSTEM_ZLIB + TT_CONFIG_OPTION_SUBPIXEL_HINTING + PUBLIC_INCLUDE_DIRECTORIES + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> +) +qt_disable_warnings(BundledFreetype) +qt_set_symbol_visibility_hidden(BundledFreetype) + +#### Keys ignored in scope 1:.:.:freetype.pro:<TRUE>: +# OTHER_FILES = "$$PWD/src/autofit/afangles.c" "$$PWD/src/autofit/afglobal.c" "$$PWD/src/autofit/afloader.c" "$$PWD/src/autofit/afmodule.c" +# QT_FOR_CONFIG = "gui-private" + +## Scopes: +##################################################################### + +qt_extend_target(BundledFreetype CONDITION WIN32 + SOURCES + src/base/ftsystem.c +) + +qt_extend_target(BundledFreetype CONDITION UNIX + SOURCES + builds/unix/ftsystem.c + INCLUDE_DIRECTORIES + builds/unix +) + +qt_extend_target(BundledFreetype CONDITION QT_FEATURE_png + DEFINES + FT_CONFIG_OPTION_USE_PNG + LIBRARIES + WrapPNG::WrapPNG +) + +qt_extend_target(BundledFreetype CONDITION QT_FEATURE_system_zlib + LIBRARIES + ZLIB::ZLIB +) + +qt_extend_target(BundledFreetype CONDITION NOT QT_FEATURE_system_zlib + INCLUDE_DIRECTORIES + ../zlib/src +) + +qt_extend_target(BundledFreetype CONDITION NOT QT_FEATURE_system_zlib AND NOT no_core_dep + LIBRARIES + Qt::Core +) diff --git a/src/3rdparty/freetype/freetype.pro b/src/3rdparty/freetype/freetype.pro index 4034815158..0665de521b 100644 --- a/src/3rdparty/freetype/freetype.pro +++ b/src/3rdparty/freetype/freetype.pro @@ -11,13 +11,9 @@ MODULE_INCLUDEPATH += $$PWD/include load(qt_helper_lib) SOURCES += \ - $$PWD/src/autofit/afangles.c \ $$PWD/src/autofit/afdummy.c \ - $$PWD/src/autofit/afglobal.c \ $$PWD/src/autofit/afhints.c \ $$PWD/src/autofit/aflatin.c \ - $$PWD/src/autofit/afloader.c \ - $$PWD/src/autofit/afmodule.c \ $$PWD/src/autofit/autofit.c \ $$PWD/src/base/ftbase.c \ $$PWD/src/base/ftbitmap.c \ @@ -57,6 +53,14 @@ SOURCES += \ $$PWD/src/type42/type42.c \ $$PWD/src/winfonts/winfnt.c +# These source files are included by one of the sources above +# which means they should not be compiled as separate object files. +OTHER_FILES += \ + $$PWD/src/autofit/afangles.c \ + $$PWD/src/autofit/afglobal.c \ + $$PWD/src/autofit/afloader.c \ + $$PWD/src/autofit/afmodule.c + win32 { SOURCES += $$PWD/src/base/ftsystem.c } else { diff --git a/src/3rdparty/harfbuzz-ng/.prev_CMakeLists.txt b/src/3rdparty/harfbuzz-ng/.prev_CMakeLists.txt new file mode 100644 index 0000000000..23e3689fe0 --- /dev/null +++ b/src/3rdparty/harfbuzz-ng/.prev_CMakeLists.txt @@ -0,0 +1,179 @@ +# Generated from harfbuzz-ng.pro. + +##################################################################### +## BundledHarfbuzz Generic Library: +##################################################################### + +qt_add_3rdparty_library(BundledHarfbuzz + STATIC + SOURCES + src/hb.h + src/hb-atomic-private.hh + src/hb-blob.cc src/hb-blob.h + src/hb-buffer.cc src/hb-buffer.h + src/hb-buffer-deserialize-json.hh + src/hb-buffer-deserialize-text.hh + src/hb-buffer-private.hh + src/hb-buffer-serialize.cc + src/hb-cache-private.hh + src/hb-common.cc src/hb-common.h + src/hb-debug.hh + src/hb-deprecated.h + src/hb-dsalgs.hh + src/hb-face.cc src/hb-face.h + src/hb-face-private.hh + src/hb-font.cc src/hb-font.h + src/hb-font-private.hh + src/hb-mutex-private.hh + src/hb-object-private.hh + src/hb-open-file-private.hh + src/hb-open-type-private.hh + src/hb-ot-cbdt-table.hh + src/hb-ot-cmap-table.hh + src/hb-ot-glyf-table.hh + src/hb-ot-head-table.hh + src/hb-ot-hhea-table.hh + src/hb-ot-hmtx-table.hh + src/hb-ot-maxp-table.hh + src/hb-ot-name-table.hh + src/hb-ot-os2-table.hh + src/hb-ot-post-table.hh + src/hb-ot-tag.cc + src/hb-private.hh + src/hb-set.cc src/hb-set.h + src/hb-set-digest-private.hh + src/hb-set-private.hh + src/hb-shape.cc src/hb-shape.h + src/hb-shape-plan.cc src/hb-shape-plan.h + src/hb-shape-plan-private.hh + src/hb-shaper.cc + src/hb-shaper-impl-private.hh + src/hb-shaper-list.hh + src/hb-shaper-private.hh + src/hb-string-array.hh + src/hb-unicode.cc src/hb-unicode.h + src/hb-unicode-private.hh + src/hb-utf-private.hh + src/hb-version.h + src/hb-warning.cc + DEFINES + HAVE_ATEXIT + HAVE_CONFIG_H + HB_DISABLE_DEPRECATED + HB_EXTERN= + HB_NDEBUG + HB_NO_UNICODE_FUNCS + QT_NO_VERSION_TAGGING + INCLUDE_DIRECTORIES + .core.includes + PUBLIC_INCLUDE_DIRECTORIES + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> +) +qt_disable_warnings(BundledHarfbuzz) +qt_set_symbol_visibility_hidden(BundledHarfbuzz) + +#### Keys ignored in scope 1:.:.:harfbuzz-ng.pro:<TRUE>: +# SHAPERS = "opentype" + +## Scopes: +##################################################################### + +qt_extend_target(BundledHarfbuzz CONDITION APPLE + SOURCES + src/hb-coretext.cc src/hb-coretext.h + DEFINES + HAVE_CORETEXT +) + +#### Keys ignored in scope 2:.:.:harfbuzz-ng.pro:APPLE: +# SHAPERS = "coretext" + +qt_extend_target(BundledHarfbuzz CONDITION UNIX + DEFINES + HAVE_PTHREAD + HAVE_SCHED_H + HAVE_SCHED_YIELD +) + +qt_extend_target(BundledHarfbuzz CONDITION WIN32 + DEFINES + HB_NO_WIN1256 +) + +qt_extend_target(BundledHarfbuzz CONDITION ANDROID + DEFINES + _POSIX_C_SOURCE=200112L +) + +qt_extend_target(BundledHarfbuzz CONDITION SHAPERS___contains___opentype + SOURCES + src/hb-ot.h + src/hb-ot-font.cc src/hb-ot-font.h + src/hb-ot-kern-table.hh + src/hb-ot-layout.cc src/hb-ot-layout.h + src/hb-ot-layout-common-private.hh + src/hb-ot-layout-gdef-table.hh + src/hb-ot-layout-gpos-table.hh + src/hb-ot-layout-gsub-table.hh + src/hb-ot-layout-gsubgpos-private.hh + src/hb-ot-layout-jstf-table.hh + src/hb-ot-layout-math-table.hh + src/hb-ot-layout-private.hh + src/hb-ot-map.cc + src/hb-ot-map-private.hh + src/hb-ot-math.cc src/hb-ot-math.h + src/hb-ot-math-table.hh + src/hb-ot-post-macroman.hh + src/hb-ot-shape.cc src/hb-ot-shape.h + src/hb-ot-shape-complex-arabic.cc + src/hb-ot-shape-complex-arabic-fallback.hh + src/hb-ot-shape-complex-arabic-private.hh + src/hb-ot-shape-complex-arabic-table.hh + src/hb-ot-shape-complex-default.cc + src/hb-ot-shape-complex-hangul.cc + src/hb-ot-shape-complex-hebrew.cc + src/hb-ot-shape-complex-indic.cc + src/hb-ot-shape-complex-indic-machine.hh + src/hb-ot-shape-complex-indic-private.hh + src/hb-ot-shape-complex-indic-table.cc + src/hb-ot-shape-complex-myanmar.cc + src/hb-ot-shape-complex-myanmar-machine.hh + src/hb-ot-shape-complex-private.hh + src/hb-ot-shape-complex-thai.cc + src/hb-ot-shape-complex-tibetan.cc + src/hb-ot-shape-complex-use.cc + src/hb-ot-shape-complex-use-machine.hh + src/hb-ot-shape-complex-use-private.hh + src/hb-ot-shape-complex-use-table.cc + src/hb-ot-shape-fallback.cc + src/hb-ot-shape-fallback-private.hh + src/hb-ot-shape-normalize.cc + src/hb-ot-shape-normalize-private.hh + src/hb-ot-shape-private.hh + src/hb-ot-tag.h + src/hb-ot-var.cc src/hb-ot-var.h + src/hb-ot-var-avar-table.hh + src/hb-ot-var-fvar-table.hh + src/hb-ot-var-hvar-table.hh + src/hb-ot-var-mvar-table.hh + DEFINES + HAVE_OT +) + +qt_extend_target(BundledHarfbuzz CONDITION APPLE_UIKIT + LIBRARIES + ${FWCoreGraphics} + ${FWCoreText} +) + +qt_extend_target(BundledHarfbuzz CONDITION APPLE AND NOT APPLE_UIKIT + LIBRARIES + ${FWApplicationServices} +) + +qt_extend_target(BundledHarfbuzz CONDITION SHAPERS_ISEMPTY OR SHAPERS___contains___fallback + SOURCES + src/hb-fallback-shape.cc + DEFINES + HAVE_FALLBACK +) diff --git a/src/3rdparty/harfbuzz-ng/CMakeLists.txt b/src/3rdparty/harfbuzz-ng/CMakeLists.txt new file mode 100644 index 0000000000..21ea01144a --- /dev/null +++ b/src/3rdparty/harfbuzz-ng/CMakeLists.txt @@ -0,0 +1,180 @@ +# Generated from harfbuzz-ng.pro. + +##################################################################### +## BundledHarfbuzz Generic Library: +##################################################################### + +qt_add_3rdparty_library(BundledHarfbuzz + STATIC + SOURCES + src/hb.h + src/hb-atomic-private.hh + src/hb-blob.cc src/hb-blob.h + src/hb-buffer.cc src/hb-buffer.h + src/hb-buffer-deserialize-json.hh + src/hb-buffer-deserialize-text.hh + src/hb-buffer-private.hh + src/hb-buffer-serialize.cc + src/hb-cache-private.hh + src/hb-common.cc src/hb-common.h + src/hb-debug.hh + src/hb-deprecated.h + src/hb-dsalgs.hh + src/hb-face.cc src/hb-face.h + src/hb-face-private.hh + src/hb-font.cc src/hb-font.h + src/hb-font-private.hh + src/hb-mutex-private.hh + src/hb-object-private.hh + src/hb-open-file-private.hh + src/hb-open-type-private.hh + src/hb-ot-cbdt-table.hh + src/hb-ot-cmap-table.hh + src/hb-ot-glyf-table.hh + src/hb-ot-head-table.hh + src/hb-ot-hhea-table.hh + src/hb-ot-hmtx-table.hh + src/hb-ot-maxp-table.hh + src/hb-ot-name-table.hh + src/hb-ot-os2-table.hh + src/hb-ot-post-table.hh + src/hb-ot-tag.cc + src/hb-private.hh + src/hb-set.cc src/hb-set.h + src/hb-set-digest-private.hh + src/hb-set-private.hh + src/hb-shape.cc src/hb-shape.h + src/hb-shape-plan.cc src/hb-shape-plan.h + src/hb-shape-plan-private.hh + src/hb-shaper.cc + src/hb-shaper-impl-private.hh + src/hb-shaper-list.hh + src/hb-shaper-private.hh + src/hb-string-array.hh + src/hb-unicode.cc src/hb-unicode.h + src/hb-unicode-private.hh + src/hb-utf-private.hh + src/hb-version.h + src/hb-warning.cc + DEFINES + HAVE_ATEXIT + HAVE_CONFIG_H + HB_DISABLE_DEPRECATED + HB_EXTERN= + HB_NDEBUG + HB_NO_UNICODE_FUNCS + QT_NO_VERSION_TAGGING + INCLUDE_DIRECTORIES + $<TARGET_PROPERTY:Core,INCLUDE_DIRECTORIES> # special case + "${CMAKE_CURRENT_SOURCE_DIR}" # special case + PUBLIC_INCLUDE_DIRECTORIES + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> +) +qt_disable_warnings(BundledHarfbuzz) +qt_set_symbol_visibility_hidden(BundledHarfbuzz) + +#### Keys ignored in scope 1:.:.:harfbuzz-ng.pro:<TRUE>: +# SHAPERS = "opentype" + +## Scopes: +##################################################################### + +qt_extend_target(BundledHarfbuzz CONDITION APPLE + SOURCES + src/hb-coretext.cc src/hb-coretext.h + DEFINES + HAVE_CORETEXT +) + +#### Keys ignored in scope 2:.:.:harfbuzz-ng.pro:APPLE: +# SHAPERS = "coretext" + +qt_extend_target(BundledHarfbuzz CONDITION UNIX + DEFINES + HAVE_PTHREAD + HAVE_SCHED_H + HAVE_SCHED_YIELD +) + +qt_extend_target(BundledHarfbuzz CONDITION WIN32 + DEFINES + HB_NO_WIN1256 +) + +qt_extend_target(BundledHarfbuzz CONDITION ANDROID + DEFINES + _POSIX_C_SOURCE=200112L +) + +qt_extend_target(BundledHarfbuzz CONDITION TRUE # special case + SOURCES + src/hb-ot.h + src/hb-ot-font.cc src/hb-ot-font.h + src/hb-ot-kern-table.hh + src/hb-ot-layout.cc src/hb-ot-layout.h + src/hb-ot-layout-common-private.hh + src/hb-ot-layout-gdef-table.hh + src/hb-ot-layout-gpos-table.hh + src/hb-ot-layout-gsub-table.hh + src/hb-ot-layout-gsubgpos-private.hh + src/hb-ot-layout-jstf-table.hh + src/hb-ot-layout-math-table.hh + src/hb-ot-layout-private.hh + src/hb-ot-map.cc + src/hb-ot-map-private.hh + src/hb-ot-math.cc src/hb-ot-math.h + src/hb-ot-math-table.hh + src/hb-ot-post-macroman.hh + src/hb-ot-shape.cc src/hb-ot-shape.h + src/hb-ot-shape-complex-arabic.cc + src/hb-ot-shape-complex-arabic-fallback.hh + src/hb-ot-shape-complex-arabic-private.hh + src/hb-ot-shape-complex-arabic-table.hh + src/hb-ot-shape-complex-default.cc + src/hb-ot-shape-complex-hangul.cc + src/hb-ot-shape-complex-hebrew.cc + src/hb-ot-shape-complex-indic.cc + src/hb-ot-shape-complex-indic-machine.hh + src/hb-ot-shape-complex-indic-private.hh + src/hb-ot-shape-complex-indic-table.cc + src/hb-ot-shape-complex-myanmar.cc + src/hb-ot-shape-complex-myanmar-machine.hh + src/hb-ot-shape-complex-private.hh + src/hb-ot-shape-complex-thai.cc + src/hb-ot-shape-complex-tibetan.cc + src/hb-ot-shape-complex-use.cc + src/hb-ot-shape-complex-use-machine.hh + src/hb-ot-shape-complex-use-private.hh + src/hb-ot-shape-complex-use-table.cc + src/hb-ot-shape-fallback.cc + src/hb-ot-shape-fallback-private.hh + src/hb-ot-shape-normalize.cc + src/hb-ot-shape-normalize-private.hh + src/hb-ot-shape-private.hh + src/hb-ot-tag.h + src/hb-ot-var.cc src/hb-ot-var.h + src/hb-ot-var-avar-table.hh + src/hb-ot-var-fvar-table.hh + src/hb-ot-var-hvar-table.hh + src/hb-ot-var-mvar-table.hh + DEFINES + HAVE_OT +) + +qt_extend_target(BundledHarfbuzz CONDITION APPLE_UIKIT + LIBRARIES + ${FWCoreGraphics} + ${FWCoreText} +) + +qt_extend_target(BundledHarfbuzz CONDITION APPLE AND NOT APPLE_UIKIT + LIBRARIES + ${FWApplicationServices} +) + +qt_extend_target(BundledHarfbuzz CONDITION SHAPERS_ISEMPTY OR SHAPERS___contains___fallback + SOURCES + src/hb-fallback-shape.cc + DEFINES + HAVE_FALLBACK +) diff --git a/src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro b/src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro index ad40b98753..54060e20ff 100644 --- a/src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro +++ b/src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro @@ -164,7 +164,7 @@ contains(SHAPERS, opentype) { $$PWD/src/hb-ot-var.h } -contains(SHAPERS, coretext) { +darwin { DEFINES += HAVE_CORETEXT SOURCES += \ @@ -173,13 +173,14 @@ contains(SHAPERS, coretext) { HEADERS += \ $$PWD/src/hb-coretext.h - uikit: \ + uikit { # On iOS/tvOS/watchOS CoreText and CoreGraphics are stand-alone frameworks LIBS_PRIVATE += -framework CoreText -framework CoreGraphics - else: \ + } else { # On Mac OS they are part of the ApplicationServices umbrella framework, # even in 10.8 where they were also made available stand-alone. LIBS_PRIVATE += -framework ApplicationServices + } CONFIG += watchos_coretext } diff --git a/src/3rdparty/libpng/CMakeLists.txt b/src/3rdparty/libpng/CMakeLists.txt new file mode 100644 index 0000000000..d1c5cea164 --- /dev/null +++ b/src/3rdparty/libpng/CMakeLists.txt @@ -0,0 +1,54 @@ +# Generated from libpng.pro. + +##################################################################### +## BundledLibpng Generic Library: +##################################################################### + +qt_add_3rdparty_library(BundledLibpng + STATIC + INSTALL + SOURCES + png.c + pngerror.c + pngget.c + pngmem.c + pngpread.c + pngread.c + pngrio.c + pngrtran.c + pngrutil.c + pngset.c + pngtrans.c + pngwio.c + pngwrite.c + pngwtran.c + pngwutil.c + DEFINES + PNG_ARM_NEON_OPT=0 + PNG_POWERPC_VSX_OPT=0 + PUBLIC_INCLUDE_DIRECTORIES + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> +) +qt_disable_warnings(BundledLibpng) +qt_set_symbol_visibility_hidden(BundledLibpng) + +#### Keys ignored in scope 1:.:.:libpng.pro:<TRUE>: +# TR_EXCLUDE = "$$PWD/*" + +## Scopes: +##################################################################### + +qt_extend_target(BundledLibpng CONDITION QT_FEATURE_system_zlib + LIBRARIES + ZLIB::ZLIB +) + +qt_extend_target(BundledLibpng CONDITION NOT QT_FEATURE_system_zlib + INCLUDE_DIRECTORIES + ../zlib/src +) + +qt_extend_target(BundledLibpng CONDITION NOT QT_FEATURE_system_zlib AND NOT no_core_dep + LIBRARIES + Qt::Core +) diff --git a/src/3rdparty/pcre2/CMakeLists.txt b/src/3rdparty/pcre2/CMakeLists.txt new file mode 100644 index 0000000000..76cddc83bc --- /dev/null +++ b/src/3rdparty/pcre2/CMakeLists.txt @@ -0,0 +1,72 @@ +# Generated from pcre2.pro. + +##################################################################### +## BundledPcre2 Generic Library: +##################################################################### + +qt_add_3rdparty_library(BundledPcre2 + STATIC + SOURCES + src/config.h + src/pcre2.h + src/pcre2_auto_possess.c + src/pcre2_chartables.c + src/pcre2_compile.c + src/pcre2_config.c + src/pcre2_context.c + src/pcre2_dfa_match.c + src/pcre2_error.c + src/pcre2_extuni.c + src/pcre2_find_bracket.c + src/pcre2_internal.h + src/pcre2_intmodedep.h + src/pcre2_jit_compile.c + src/pcre2_maketables.c + src/pcre2_match.c + src/pcre2_match_data.c + src/pcre2_newline.c + src/pcre2_ord2utf.c + src/pcre2_pattern_info.c + src/pcre2_script_run.c + src/pcre2_serialize.c + src/pcre2_string_utils.c + src/pcre2_study.c + src/pcre2_substitute.c + src/pcre2_substring.c + src/pcre2_tables.c + src/pcre2_ucd.c + src/pcre2_ucp.h + src/pcre2_valid_utf.c + src/pcre2_xclass.c + DEFINES + HAVE_CONFIG_H + PUBLIC_DEFINES + PCRE2_CODE_UNIT_WIDTH=16 + PUBLIC_INCLUDE_DIRECTORIES + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src> +) +qt_disable_warnings(BundledPcre2) +qt_set_symbol_visibility_hidden(BundledPcre2) + +## Scopes: +##################################################################### + +qt_extend_target(BundledPcre2 CONDITION WIN32 + PUBLIC_DEFINES + PCRE2_STATIC +) + +qt_extend_target(BundledPcre2 CONDITION APPLE_UIKIT OR QNX OR WINRT + DEFINES + PCRE2_DISABLE_JIT +) + +qt_extend_target(BundledPcre2 CONDITION (TEST_architecture_arch STREQUAL "arm") AND WIN32 + DEFINES + PCRE2_DISABLE_JIT +) + +qt_extend_target(BundledPcre2 CONDITION (TEST_architecture_arch STREQUAL "arm64") AND WIN32 + DEFINES + PCRE2_DISABLE_JIT +) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ce94330a90..00c2f05b29 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,24 @@ # special case skip regeneration + +# Temporary fix for OpenSSL feature detection until we can provide a +# proper implementation of additional compile tests for library dependencies +# in configure.json + +find_package(OpenSSL) +if (NOT OPENSSL_FOUND OR NOT OPENSSL_VERSION VERSION_GREATER_EQUAL "1.1.0") + set(QT_FEATURE_openssl_runtime OFF CACHE BOOL "" FORCE) + set(QT_FEATURE_openssl_linked OFF CACHE BOOL "" FORCE) + set(QT_FEATURE_openssl OFF CACHE BOOL "" FORCE) +endif() + +# We need to include the features of a few modules before they are actually declared. +# The feature values are used as conditions for deciding whether bundled 3rd party libraries +# should be built. +# The order of evaluation matters. +qt_feature_evaluate_features("${CMAKE_CURRENT_SOURCE_DIR}/corelib/configure.cmake") +qt_feature_evaluate_features("${CMAKE_CURRENT_SOURCE_DIR}/network/configure.cmake") +qt_feature_evaluate_features("${CMAKE_CURRENT_SOURCE_DIR}/gui/configure.cmake") + add_subdirectory(3rdparty) function(find_or_build_bootstrap_names) diff --git a/src/corelib/.prev_CMakeLists.txt b/src/corelib/.prev_CMakeLists.txt index d92b3272ad..a0b11a7329 100644 --- a/src/corelib/.prev_CMakeLists.txt +++ b/src/corelib/.prev_CMakeLists.txt @@ -236,7 +236,6 @@ qt_add_module(Core ../3rdparty/sha3 ../3rdparty/tinycbor/src LIBRARIES - ZLIB::ZLIB doubleconversion PRECOMPILED_HEADER "global/qt_pch.h" @@ -306,8 +305,10 @@ endif() #### Keys ignored in scope 2:.:.:corelib.pro:QT_FEATURE_gc_binaries: # MODULE_CONFIG = "gc_binaries" -#### Keys ignored in scope 3:.:.:corelib.pro:NOT QT_NAMESPACE_ISEMPTY: -# MODULE_DEFINES = "QT_NAMESPACE=$$QT_NAMESPACE" +qt_extend_target(Core CONDITION NOT QT_NAMESPACE_ISEMPTY + PUBLIC_DEFINES + QT_NAMESPACE= +) qt_extend_target(Core CONDITION ANDROID SOURCES @@ -594,6 +595,32 @@ qt_extend_target(Core CONDITION MSVC "tools/qvector_msvc.cpp" ) +qt_extend_target(Core CONDITION QT_FEATURE_system_zlib + LIBRARIES + ZLIB::ZLIB +) + +qt_extend_target(Core CONDITION NOT QT_FEATURE_system_zlib + SOURCES + ../3rdparty/zlib/src/adler32.c + ../3rdparty/zlib/src/compress.c + ../3rdparty/zlib/src/crc32.c + ../3rdparty/zlib/src/deflate.c + ../3rdparty/zlib/src/gzclose.c + ../3rdparty/zlib/src/gzlib.c + ../3rdparty/zlib/src/gzread.c + ../3rdparty/zlib/src/gzwrite.c + ../3rdparty/zlib/src/infback.c + ../3rdparty/zlib/src/inffast.c + ../3rdparty/zlib/src/inflate.c + ../3rdparty/zlib/src/inftrees.c + ../3rdparty/zlib/src/trees.c + ../3rdparty/zlib/src/uncompr.c + ../3rdparty/zlib/src/zutil.c + INCLUDE_DIRECTORIES + ../3rdparty/zlib/src +) + qt_extend_target(Core CONDITION QT_FEATURE_commandlineparser SOURCES tools/qcommandlineoption.cpp tools/qcommandlineoption.h diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt index 0d827099c8..8e236ec3f5 100644 --- a/src/corelib/CMakeLists.txt +++ b/src/corelib/CMakeLists.txt @@ -4,6 +4,7 @@ qt_find_package(Threads PROVIDED_TARGETS Threads::Threads) qt_find_package(WrapDoubleConversion REQUIRED PROVIDED_TARGETS WrapDoubleConversion::WrapDoubleConversion) +qt_find_package(WrapPCRE2 PROVIDED_TARGETS WrapPCRE2::WrapPCRE2) if (NOT WrapDoubleConversion_FOUND) message(FATAL_ERROR "Your C library does not provide \ @@ -249,14 +250,12 @@ qt_add_module(Core INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/global" # special case ../3rdparty/tinycbor/src - # special case: remove ../3rdparty/... PRECOMPILED_HEADER global/qt_pch.h NO_PCH_SOURCES "text/qstring_compat.cpp" LIBRARIES - ZLIB::ZLIB - # double-conversion # special case + # double-conversion # special case remove Qt::GlobalConfigPrivate # special case QtHarfBuzz # special case Threads::Threads # special case @@ -414,8 +413,13 @@ endif() #### Keys ignored in scope 2:.:.:corelib.pro:QT_FEATURE_gc_binaries: # MODULE_CONFIG = "gc_binaries" -#### Keys ignored in scope 3:.:.:corelib.pro:NOT QT_NAMESPACE_ISEMPTY: -# MODULE_DEFINES = "QT_NAMESPACE=$$QT_NAMESPACE" +# special case begin +# remove because it's handled manually +#qt_extend_target(Core CONDITION NOT QT_NAMESPACE_ISEMPTY +# PUBLIC_DEFINES +# QT_NAMESPACE= +#) +# special case end qt_extend_target(Core CONDITION ANDROID SOURCES @@ -694,6 +698,32 @@ qt_extend_target(Core CONDITION MSVC "tools/qvector_msvc.cpp" ) +qt_extend_target(Core CONDITION QT_FEATURE_system_zlib + LIBRARIES + ZLIB::ZLIB +) + +qt_extend_target(Core CONDITION NOT QT_FEATURE_system_zlib + SOURCES + ../3rdparty/zlib/src/adler32.c + ../3rdparty/zlib/src/compress.c + ../3rdparty/zlib/src/crc32.c + ../3rdparty/zlib/src/deflate.c + ../3rdparty/zlib/src/gzclose.c + ../3rdparty/zlib/src/gzlib.c + ../3rdparty/zlib/src/gzread.c + ../3rdparty/zlib/src/gzwrite.c + ../3rdparty/zlib/src/infback.c + ../3rdparty/zlib/src/inffast.c + ../3rdparty/zlib/src/inflate.c + ../3rdparty/zlib/src/inftrees.c + ../3rdparty/zlib/src/trees.c + ../3rdparty/zlib/src/uncompr.c + ../3rdparty/zlib/src/zutil.c + INCLUDE_DIRECTORIES + ../3rdparty/zlib/src +) + qt_extend_target(Core CONDITION QT_FEATURE_commandlineparser SOURCES tools/qcommandlineoption.cpp tools/qcommandlineoption.h @@ -1258,3 +1288,14 @@ qt_add_docs(Core doc/qtcore.qdocconf ) +# special case begin +# Handle qtzlib.pro to create headers for the +# QtZlibPrivate target, equivalent to Qt += zlib-private +if(NOT QT_FEATURE_system_zlib) + qt_add_module(Zlib + INTERNAL_MODULE + HEADER_MODULE + NO_CONFIG_HEADER_FILE + ) +endif() +# special case end diff --git a/src/corelib/configure.cmake b/src/corelib/configure.cmake index 78565ca340..d2b310b58d 100644 --- a/src/corelib/configure.cmake +++ b/src/corelib/configure.cmake @@ -16,7 +16,7 @@ qt_find_package(Libsystemd PROVIDED_TARGETS PkgConfig::Libsystemd) qt_find_package(Atomic PROVIDED_TARGETS Atomic) qt_find_package(WrapRt PROVIDED_TARGETS WrapRt) qt_find_package(LTTngUST PROVIDED_TARGETS LTTng::UST) -qt_find_package(WrapPCRE2 PROVIDED_TARGETS WrapPCRE2::WrapPCRE2) +qt_find_package(WrapSystemPCRE2 PROVIDED_TARGETS WrapSystemPCRE2::WrapSystemPCRE2) set_package_properties(WrapPCRE2 PROPERTIES TYPE REQUIRED) if((QNX) OR QT_FIND_ALL_PACKAGES_ALWAYS) qt_find_package(PPS PROVIDED_TARGETS PPS::PPS) @@ -642,6 +642,12 @@ qt_feature("pcre2" DISABLE INPUT_pcre STREQUAL 'no' OR INPUT_pcre STREQUAL 'system' ) qt_feature_config("pcre2" QMAKE_PRIVATE_CONFIG) +qt_feature("system-pcre2" PRIVATE + LABEL " Using system PCRE2" + CONDITION WrapSystemPCRE2_FOUND + ENABLE INPUT_pcre STREQUAL 'system' + DISABLE INPUT_pcre STREQUAL 'no' OR INPUT_pcre STREQUAL 'qt' +) qt_feature("poll_ppoll" PRIVATE LABEL "Native ppoll()" CONDITION NOT WASM AND TEST_ppoll @@ -701,7 +707,7 @@ qt_feature("regularexpression" PUBLIC SECTION "Kernel" LABEL "QRegularExpression" PURPOSE "Provides an API to Perl-compatible regular expressions." - CONDITION ON OR QT_FEATURE_pcre2 + CONDITION QT_FEATURE_system_pcre2 OR QT_FEATURE_pcre2 ) qt_feature_definition("regularexpression" "QT_NO_REGULAREXPRESSION" NEGATE VALUE "1") qt_feature("sharedmemory" PUBLIC diff --git a/src/gui/.prev_CMakeLists.txt b/src/gui/.prev_CMakeLists.txt index 885be85a41..8d1ea159f0 100644 --- a/src/gui/.prev_CMakeLists.txt +++ b/src/gui/.prev_CMakeLists.txt @@ -215,7 +215,6 @@ qt_add_module(Gui ../3rdparty/VulkanMemoryAllocator LIBRARIES Qt::CorePrivate - ZLIB::ZLIB PUBLIC_LIBRARIES Qt::Core PRIVATE_MODULE_INTERFACE @@ -397,7 +396,7 @@ qt_extend_target(Gui CONDITION QT_FEATURE_png SOURCES image/qpnghandler.cpp image/qpnghandler_p.h LIBRARIES - PNG::PNG + WrapPNG::WrapPNG ) #### Keys ignored in scope 38:.:image:image/image.pri:WIN32 AND mingw: @@ -538,6 +537,21 @@ qt_extend_target(Gui CONDITION ANDROID AND TEST_architecture_arch STREQUAL x86_6 QT_COMPILER_SUPPORTS_SSE4_2 ) +qt_extend_target(Gui CONDITION QT_FEATURE_system_zlib + LIBRARIES + ZLIB::ZLIB +) + +qt_extend_target(Gui CONDITION NOT QT_FEATURE_system_zlib + INCLUDE_DIRECTORIES + ../3rdparty/zlib/src +) + +qt_extend_target(Gui CONDITION NOT QT_FEATURE_system_zlib AND NOT no_core_dep + LIBRARIES + Qt::Core +) + qt_extend_target(Gui CONDITION QT_FEATURE_regularexpression SOURCES util/qshadergenerator.cpp util/qshadergenerator_p.h diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index f18bb0ed16..1383381c85 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -8,6 +8,8 @@ set(OpenGL_GL_PREFERENCE GLVND) # special case: # special case begin qt_find_package(X11_XCB) +qt_find_package(WrapHarfbuzz PROVIDED_TARGETS WrapHarfbuzz::WrapHarfbuzz) +qt_find_package(WrapPNG PROVIDED_TARGETS WrapPNG::WrapPNG) if (QT_FEATURE_gui) if (WINRT) @@ -259,7 +261,6 @@ qt_add_module(Gui ../3rdparty/VulkanMemoryAllocator LIBRARIES Qt::CorePrivate - ZLIB::ZLIB PUBLIC_LIBRARIES Qt::Core PRIVATE_MODULE_INTERFACE @@ -479,7 +480,7 @@ qt_extend_target(Gui CONDITION QT_FEATURE_png SOURCES image/qpnghandler.cpp image/qpnghandler_p.h LIBRARIES - PNG::PNG + WrapPNG::WrapPNG ) #### Keys ignored in scope 38:.:image:image/image.pri:WIN32 AND mingw: @@ -639,6 +640,21 @@ qt_extend_target(Gui CONDITION ANDROID AND TEST_architecture_arch STREQUAL x86_6 QT_COMPILER_SUPPORTS_SSE4_2 ) +qt_extend_target(Gui CONDITION QT_FEATURE_system_zlib + LIBRARIES + ZLIB::ZLIB +) + +qt_extend_target(Gui CONDITION NOT QT_FEATURE_system_zlib + INCLUDE_DIRECTORIES + ../3rdparty/zlib/src +) + +qt_extend_target(Gui CONDITION NOT QT_FEATURE_system_zlib AND NOT no_core_dep + LIBRARIES + Qt::Core +) + qt_extend_target(Gui CONDITION QT_FEATURE_regularexpression SOURCES util/qshadergenerator.cpp util/qshadergenerator_p.h @@ -679,14 +695,6 @@ qt_extend_target(Gui CONDITION QT_FEATURE_opengl AND QT_FEATURE_opengles2 opengl/qopenglfunctions_es2.cpp opengl/qopenglfunctions_es2.h ) -# special case begin -# Make Vulkan a global imported target, so that generator expressions involving Vulkan -# can be correctly evaluated in any sub project directory. -if(TARGET Vulkan::Vulkan) - set_property(TARGET Vulkan::Vulkan PROPERTY IMPORTED_GLOBAL TRUE) -endif() -# special case end - qt_extend_target(Gui CONDITION QT_FEATURE_vulkan SOURCES rhi/qrhivulkan.cpp rhi/qrhivulkan_p.h diff --git a/src/gui/configure.cmake b/src/gui/configure.cmake index aac73e8bc2..7b3cd14ce4 100644 --- a/src/gui/configure.cmake +++ b/src/gui/configure.cmake @@ -26,14 +26,14 @@ qt_find_package(ATSPI2 PROVIDED_TARGETS PkgConfig::ATSPI2) qt_find_package(DirectFB PROVIDED_TARGETS PkgConfig::DirectFB) qt_find_package(Libdrm PROVIDED_TARGETS Libdrm::Libdrm) qt_find_package(EGL PROVIDED_TARGETS EGL::EGL) -qt_find_package(WrapFreetype PROVIDED_TARGETS WrapFreetype::WrapFreetype) +qt_find_package(WrapSystemFreetype PROVIDED_TARGETS WrapSystemFreetype::WrapSystemFreetype) set_package_properties(WrapFreetype PROPERTIES TYPE REQUIRED) qt_find_package(Fontconfig PROVIDED_TARGETS Fontconfig::Fontconfig) qt_find_package(gbm PROVIDED_TARGETS gbm::gbm) -qt_find_package(WrapHarfbuzz PROVIDED_TARGETS WrapHarfbuzz::WrapHarfbuzz) +qt_find_package(WrapSystemHarfbuzz PROVIDED_TARGETS WrapSystemHarfbuzz::WrapSystemHarfbuzz) qt_find_package(Libinput PROVIDED_TARGETS Libinput::Libinput) qt_find_package(JPEG PROVIDED_TARGETS JPEG::JPEG) -qt_find_package(PNG PROVIDED_TARGETS PNG::PNG) +qt_find_package(WrapSystemPNG PROVIDED_TARGETS WrapSystemPNG::WrapSystemPNG) qt_find_package(Mtdev PROVIDED_TARGETS PkgConfig::Mtdev) qt_find_package(OpenGL PROVIDED_TARGETS OpenGL::GL) qt_find_package(GLESv2 PROVIDED_TARGETS GLESv2::GLESv2) @@ -43,7 +43,7 @@ if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) qt_find_package(Wayland PROVIDED_TARGETS Wayland::Server) endif() if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) - qt_find_package(X11 PROVIDED_TARGETS X11::XCB) + qt_find_package(X11 PROVIDED_TARGETS X11::X11) endif() if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) qt_find_package(X11 PROVIDED_TARGETS ${X11_SM_LIB} ${X11_ICE_LIB}) @@ -82,6 +82,9 @@ if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) qt_find_package(XCB COMPONENTS XINERAMA PROVIDED_TARGETS XCB::XINERAMA) endif() if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) + qt_find_package(X11_XCB PROVIDED_TARGETS X11::XCB) +endif() +if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) qt_find_package(XCB COMPONENTS XKB PROVIDED_TARGETS XCB::XKB) endif() if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) @@ -97,6 +100,9 @@ if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) qt_find_package(XKB 0.4.1 PROVIDED_TARGETS XKB::XKB) endif() if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) + qt_find_package(XKB_COMMON_X11 0.4.1 PROVIDED_TARGETS PkgConfig::XKB_COMMON_X11) +endif() +if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) qt_find_package(XRender PROVIDED_TARGETS PkgConfig::XRender) endif() @@ -148,7 +154,7 @@ qt_config_compile_test(egl_x11 LABEL "EGL on X11" LIBRARIES EGL::EGL - X11::XCB + X11::X11 CODE "// Check if EGL is compatible with X. Some EGL implementations, typically on // embedded devices, are not intended to be used together with X. EGL support @@ -609,10 +615,17 @@ qt_feature("freetype" PUBLIC PRIVATE PURPOSE "Supports the FreeType 2 font engine (and its supported font formats)." ) qt_feature_definition("freetype" "QT_NO_FREETYPE" NEGATE VALUE "1") +qt_feature("system-freetype" PRIVATE + LABEL " Using system FreeType" + AUTODETECT NOT MSVC + CONDITION QT_FEATURE_freetype AND WrapSystemFreetype_FOUND + ENABLE INPUT_freetype STREQUAL 'system' + DISABLE INPUT_freetype STREQUAL 'qt' +) qt_feature("fontconfig" PUBLIC PRIVATE LABEL "Fontconfig" AUTODETECT NOT APPLE - CONDITION NOT MSVC AND ON AND FONTCONFIG_FOUND + CONDITION NOT MSVC AND QT_FEATURE_system_freetype AND FONTCONFIG_FOUND ) qt_feature_definition("fontconfig" "QT_NO_FONTCONFIG" NEGATE VALUE "1") qt_feature("gbm" @@ -625,6 +638,13 @@ qt_feature("harfbuzz" PUBLIC PRIVATE CONDITION harfbuzz_FOUND ) qt_feature_definition("harfbuzz" "QT_NO_HARFBUZZ" NEGATE VALUE "1") +qt_feature("system-harfbuzz" PRIVATE + LABEL " Using system HarfBuzz" + AUTODETECT NOT APPLE AND NOT WIN32 + CONDITION QT_FEATURE_harfbuzz AND WrapSystemHarfbuzz_FOUND + ENABLE INPUT_harfbuzz STREQUAL 'system' + DISABLE INPUT_harfbuzz STREQUAL 'qt' +) qt_feature("qqnx_imf" PRIVATE LABEL "IMF" CONDITION libs.imf OR FIXME @@ -810,11 +830,24 @@ qt_feature("jpeg" PRIVATE DISABLE INPUT_libjpeg STREQUAL 'no' ) qt_feature_definition("jpeg" "QT_NO_IMAGEFORMAT_JPEG" NEGATE) +qt_feature("system-jpeg" PRIVATE + LABEL " Using system libjpeg" + CONDITION QT_FEATURE_jpeg AND JPEG_FOUND + ENABLE INPUT_libjpeg STREQUAL 'system' + DISABLE INPUT_libjpeg STREQUAL 'qt' +) qt_feature("png" PRIVATE LABEL "PNG" DISABLE INPUT_libpng STREQUAL 'no' ) qt_feature_definition("png" "QT_NO_IMAGEFORMAT_PNG" NEGATE) +qt_feature("system-png" PRIVATE + LABEL " Using system libpng" + AUTODETECT QT_FEATURE_system_zlib + CONDITION QT_FEATURE_png AND WrapSystemPNG_FOUND + ENABLE INPUT_libpng STREQUAL 'system' + DISABLE INPUT_libpng STREQUAL 'qt' +) qt_feature("sessionmanager" PUBLIC SECTION "Kernel" LABEL "Session Management" @@ -884,7 +917,7 @@ qt_feature("xkbcommon" PRIVATE ) qt_feature("xkbcommon-x11" PRIVATE LABEL "xkbcommon-x11" - CONDITION QT_FEATURE_xkbcommon AND XKB_FOUND + CONDITION QT_FEATURE_xkbcommon AND XKB_COMMON_X11_FOUND ) qt_feature("xlib" PRIVATE LABEL "XLib" diff --git a/src/network/.prev_CMakeLists.txt b/src/network/.prev_CMakeLists.txt index afe28a2da0..8f38d07e93 100644 --- a/src/network/.prev_CMakeLists.txt +++ b/src/network/.prev_CMakeLists.txt @@ -50,7 +50,6 @@ qt_add_module(Network kernel LIBRARIES Qt::CorePrivate - ZLIB::ZLIB PUBLIC_LIBRARIES Qt::Core PRIVATE_MODULE_INTERFACE @@ -147,6 +146,21 @@ qt_extend_target(Network CONDITION QT_FEATURE_http socket/qhttpsocketengine.cpp socket/qhttpsocketengine_p.h ) +qt_extend_target(Network CONDITION QT_FEATURE_system_zlib + LIBRARIES + ZLIB::ZLIB +) + +qt_extend_target(Network CONDITION NOT QT_FEATURE_system_zlib + INCLUDE_DIRECTORIES + ../3rdparty/zlib/src +) + +qt_extend_target(Network CONDITION NOT QT_FEATURE_system_zlib AND NOT no_core_dep + LIBRARIES + Qt::Core +) + qt_extend_target(Network CONDITION QT_FEATURE_topleveldomain SOURCES kernel/qtldurl.cpp kernel/qtldurl_p.h diff --git a/src/network/CMakeLists.txt b/src/network/CMakeLists.txt index ca30771eb0..c455a00121 100644 --- a/src/network/CMakeLists.txt +++ b/src/network/CMakeLists.txt @@ -63,7 +63,6 @@ qt_add_module(Network kernel LIBRARIES Qt::CorePrivate - ZLIB::ZLIB PUBLIC_LIBRARIES Qt::Core PRIVATE_MODULE_INTERFACE @@ -160,6 +159,21 @@ qt_extend_target(Network CONDITION QT_FEATURE_http socket/qhttpsocketengine.cpp socket/qhttpsocketengine_p.h ) +qt_extend_target(Network CONDITION QT_FEATURE_system_zlib + LIBRARIES + ZLIB::ZLIB +) + +qt_extend_target(Network CONDITION NOT QT_FEATURE_system_zlib + INCLUDE_DIRECTORIES + ../3rdparty/zlib/src +) + +qt_extend_target(Network CONDITION NOT QT_FEATURE_system_zlib AND NOT no_core_dep + LIBRARIES + Qt::Core +) + qt_extend_target(Network CONDITION QT_FEATURE_topleveldomain SOURCES kernel/qtldurl.cpp kernel/qtldurl_p.h diff --git a/src/platformsupport/fontdatabases/CMakeLists.txt b/src/platformsupport/fontdatabases/CMakeLists.txt index 1150ac6bef..b613d6cf6a 100644 --- a/src/platformsupport/fontdatabases/CMakeLists.txt +++ b/src/platformsupport/fontdatabases/CMakeLists.txt @@ -1,6 +1,6 @@ # Generated from fontdatabases.pro. -qt_find_package(WrapFreetype) # special case +qt_find_package(WrapFreetype PROVIDED_TARGETS WrapFreetype::WrapFreetype) # special case qt_find_package(Fontconfig) # special case ##################################################################### diff --git a/src/plugins/imageformats/jpeg/.prev_CMakeLists.txt b/src/plugins/imageformats/jpeg/.prev_CMakeLists.txt index 25b5861122..a02c8f05ed 100644 --- a/src/plugins/imageformats/jpeg/.prev_CMakeLists.txt +++ b/src/plugins/imageformats/jpeg/.prev_CMakeLists.txt @@ -11,7 +11,6 @@ qt_add_plugin(QJpegPlugin main.cpp main.h qjpeghandler.cpp qjpeghandler_p.h PUBLIC_LIBRARIES - JPEG::JPEG Qt::Core Qt::CorePrivate Qt::Gui @@ -20,3 +19,76 @@ qt_add_plugin(QJpegPlugin #### Keys ignored in scope 1:.:.:jpeg.pro:<TRUE>: # OTHER_FILES = "jpeg.json" + +## Scopes: +##################################################################### + +qt_extend_target(QJpegPlugin CONDITION QT_FEATURE_system_jpeg + PUBLIC_LIBRARIES + JPEG::JPEG +) + +qt_extend_target(QJpegPlugin CONDITION NOT QT_FEATURE_system_jpeg + SOURCES + ../../../3rdparty/libjpeg/src/jaricom.c + ../../../3rdparty/libjpeg/src/jcapimin.c + ../../../3rdparty/libjpeg/src/jcapistd.c + ../../../3rdparty/libjpeg/src/jcarith.c + ../../../3rdparty/libjpeg/src/jccoefct.c + ../../../3rdparty/libjpeg/src/jccolor.c + ../../../3rdparty/libjpeg/src/jcdctmgr.c + ../../../3rdparty/libjpeg/src/jchuff.c + ../../../3rdparty/libjpeg/src/jcinit.c + ../../../3rdparty/libjpeg/src/jcmainct.c + ../../../3rdparty/libjpeg/src/jcmarker.c + ../../../3rdparty/libjpeg/src/jcmaster.c + ../../../3rdparty/libjpeg/src/jcomapi.c + ../../../3rdparty/libjpeg/src/jcparam.c + ../../../3rdparty/libjpeg/src/jcphuff.c + ../../../3rdparty/libjpeg/src/jcprepct.c + ../../../3rdparty/libjpeg/src/jcsample.c + ../../../3rdparty/libjpeg/src/jctrans.c + ../../../3rdparty/libjpeg/src/jdapimin.c + ../../../3rdparty/libjpeg/src/jdapistd.c + ../../../3rdparty/libjpeg/src/jdarith.c + ../../../3rdparty/libjpeg/src/jdatadst.c + ../../../3rdparty/libjpeg/src/jdatasrc.c + ../../../3rdparty/libjpeg/src/jdcoefct.c + ../../../3rdparty/libjpeg/src/jdcolor.c + ../../../3rdparty/libjpeg/src/jddctmgr.c + ../../../3rdparty/libjpeg/src/jdhuff.c + ../../../3rdparty/libjpeg/src/jdinput.c + ../../../3rdparty/libjpeg/src/jdmainct.c + ../../../3rdparty/libjpeg/src/jdmarker.c + ../../../3rdparty/libjpeg/src/jdmaster.c + ../../../3rdparty/libjpeg/src/jdmerge.c + ../../../3rdparty/libjpeg/src/jdphuff.c + ../../../3rdparty/libjpeg/src/jdpostct.c + ../../../3rdparty/libjpeg/src/jdsample.c + ../../../3rdparty/libjpeg/src/jdtrans.c + ../../../3rdparty/libjpeg/src/jerror.c + ../../../3rdparty/libjpeg/src/jfdctflt.c + ../../../3rdparty/libjpeg/src/jfdctfst.c + ../../../3rdparty/libjpeg/src/jfdctint.c + ../../../3rdparty/libjpeg/src/jidctflt.c + ../../../3rdparty/libjpeg/src/jidctfst.c + ../../../3rdparty/libjpeg/src/jidctint.c + ../../../3rdparty/libjpeg/src/jidctred.c + ../../../3rdparty/libjpeg/src/jmemmgr.c + ../../../3rdparty/libjpeg/src/jmemnobs.c + ../../../3rdparty/libjpeg/src/jquant1.c + ../../../3rdparty/libjpeg/src/jquant2.c + ../../../3rdparty/libjpeg/src/jsimd_none.c + ../../../3rdparty/libjpeg/src/jutils.c + INCLUDE_DIRECTORIES + ../../../3rdparty/libjpeg + ../../../3rdparty/libjpeg/src +) + +qt_extend_target(QJpegPlugin CONDITION WINRT AND NOT QT_FEATURE_system_jpeg + DEFINES + NO_GETENV +) + +#### Keys ignored in scope 6:.:../../../3rdparty:../../../3rdparty/libjpeg.pri:GCC: +# QMAKE_CFLAGS_WARN_ON = "-Wno-unused-parameter" "-Wno-main" diff --git a/src/plugins/imageformats/jpeg/CMakeLists.txt b/src/plugins/imageformats/jpeg/CMakeLists.txt index 6aaa6538ec..13d28c7b8b 100644 --- a/src/plugins/imageformats/jpeg/CMakeLists.txt +++ b/src/plugins/imageformats/jpeg/CMakeLists.txt @@ -13,7 +13,6 @@ qt_add_plugin(QJpegPlugin main.cpp main.h qjpeghandler.cpp qjpeghandler_p.h PUBLIC_LIBRARIES - JPEG::JPEG Qt::Core Qt::CorePrivate Qt::Gui @@ -22,3 +21,76 @@ qt_add_plugin(QJpegPlugin #### Keys ignored in scope 1:.:.:jpeg.pro:<TRUE>: # OTHER_FILES = "jpeg.json" + +## Scopes: +##################################################################### + +qt_extend_target(QJpegPlugin CONDITION QT_FEATURE_system_jpeg + PUBLIC_LIBRARIES + JPEG::JPEG +) + +qt_extend_target(QJpegPlugin CONDITION NOT QT_FEATURE_system_jpeg + SOURCES + ../../../3rdparty/libjpeg/src/jaricom.c + ../../../3rdparty/libjpeg/src/jcapimin.c + ../../../3rdparty/libjpeg/src/jcapistd.c + ../../../3rdparty/libjpeg/src/jcarith.c + ../../../3rdparty/libjpeg/src/jccoefct.c + ../../../3rdparty/libjpeg/src/jccolor.c + ../../../3rdparty/libjpeg/src/jcdctmgr.c + ../../../3rdparty/libjpeg/src/jchuff.c + ../../../3rdparty/libjpeg/src/jcinit.c + ../../../3rdparty/libjpeg/src/jcmainct.c + ../../../3rdparty/libjpeg/src/jcmarker.c + ../../../3rdparty/libjpeg/src/jcmaster.c + ../../../3rdparty/libjpeg/src/jcomapi.c + ../../../3rdparty/libjpeg/src/jcparam.c + ../../../3rdparty/libjpeg/src/jcphuff.c + ../../../3rdparty/libjpeg/src/jcprepct.c + ../../../3rdparty/libjpeg/src/jcsample.c + ../../../3rdparty/libjpeg/src/jctrans.c + ../../../3rdparty/libjpeg/src/jdapimin.c + ../../../3rdparty/libjpeg/src/jdapistd.c + ../../../3rdparty/libjpeg/src/jdarith.c + ../../../3rdparty/libjpeg/src/jdatadst.c + ../../../3rdparty/libjpeg/src/jdatasrc.c + ../../../3rdparty/libjpeg/src/jdcoefct.c + ../../../3rdparty/libjpeg/src/jdcolor.c + ../../../3rdparty/libjpeg/src/jddctmgr.c + ../../../3rdparty/libjpeg/src/jdhuff.c + ../../../3rdparty/libjpeg/src/jdinput.c + ../../../3rdparty/libjpeg/src/jdmainct.c + ../../../3rdparty/libjpeg/src/jdmarker.c + ../../../3rdparty/libjpeg/src/jdmaster.c + ../../../3rdparty/libjpeg/src/jdmerge.c + ../../../3rdparty/libjpeg/src/jdphuff.c + ../../../3rdparty/libjpeg/src/jdpostct.c + ../../../3rdparty/libjpeg/src/jdsample.c + ../../../3rdparty/libjpeg/src/jdtrans.c + ../../../3rdparty/libjpeg/src/jerror.c + ../../../3rdparty/libjpeg/src/jfdctflt.c + ../../../3rdparty/libjpeg/src/jfdctfst.c + ../../../3rdparty/libjpeg/src/jfdctint.c + ../../../3rdparty/libjpeg/src/jidctflt.c + ../../../3rdparty/libjpeg/src/jidctfst.c + ../../../3rdparty/libjpeg/src/jidctint.c + ../../../3rdparty/libjpeg/src/jidctred.c + ../../../3rdparty/libjpeg/src/jmemmgr.c + ../../../3rdparty/libjpeg/src/jmemnobs.c + ../../../3rdparty/libjpeg/src/jquant1.c + ../../../3rdparty/libjpeg/src/jquant2.c + ../../../3rdparty/libjpeg/src/jsimd_none.c + ../../../3rdparty/libjpeg/src/jutils.c + INCLUDE_DIRECTORIES + ../../../3rdparty/libjpeg + ../../../3rdparty/libjpeg/src +) + +qt_extend_target(QJpegPlugin CONDITION WINRT AND NOT QT_FEATURE_system_jpeg + DEFINES + NO_GETENV +) + +#### Keys ignored in scope 6:.:../../../3rdparty:../../../3rdparty/libjpeg.pri:GCC: +# QMAKE_CFLAGS_WARN_ON = "-Wno-unused-parameter" "-Wno-main" diff --git a/src/plugins/platforms/minimal/CMakeLists.txt b/src/plugins/platforms/minimal/CMakeLists.txt index 4f4638b640..623cf5f83a 100644 --- a/src/plugins/platforms/minimal/CMakeLists.txt +++ b/src/plugins/platforms/minimal/CMakeLists.txt @@ -4,6 +4,8 @@ ## QMinimalIntegrationPlugin Plugin: ##################################################################### +qt_find_package(WrapFreetype PROVIDED_TARGETS WrapFreetype::WrapFreetype) # special case + qt_add_plugin(QMinimalIntegrationPlugin OUTPUT_NAME qminimal TYPE platforms diff --git a/src/tools/bootstrap/.prev_CMakeLists.txt b/src/tools/bootstrap/.prev_CMakeLists.txt index e43c5eb350..be8c0e22d8 100644 --- a/src/tools/bootstrap/.prev_CMakeLists.txt +++ b/src/tools/bootstrap/.prev_CMakeLists.txt @@ -107,6 +107,13 @@ qt_add_module(Bootstrap QT_VERSION_MINOR= QT_VERSION_PATCH= QT_VERSION_STR=\"\" + PUBLIC_DEFINES + QT_BOOTSTRAPPED + QT_NO_CAST_TO_ASCII + QT_VERSION_MAJOR= + QT_VERSION_MINOR= + QT_VERSION_PATCH= + QT_VERSION_STR=\"\" INCLUDE_DIRECTORIES .. ../../3rdparty/tinycbor/src @@ -184,7 +191,7 @@ qt_extend_target(Bootstrap CONDITION UNIX AND NOT APPLE_OSX ../../corelib/io/qstandardpaths_unix.cpp ) -qt_extend_target(Bootstrap CONDITION CMAKE_CROSSCOMPILING +qt_extend_target(Bootstrap CONDITION CMAKE_CROSSCOMPILING OR NOT QT_FEATURE_system_zlib SOURCES ../../3rdparty/zlib/src/adler32.c ../../3rdparty/zlib/src/compress.c @@ -205,7 +212,7 @@ qt_extend_target(Bootstrap CONDITION CMAKE_CROSSCOMPILING ../../3rdparty/zlib/src ) -qt_extend_target(Bootstrap CONDITION NOT CMAKE_CROSSCOMPILING +qt_extend_target(Bootstrap CONDITION QT_FEATURE_system_zlib AND NOT CMAKE_CROSSCOMPILING LIBRARIES ZLIB::ZLIB ) diff --git a/src/tools/bootstrap/CMakeLists.txt b/src/tools/bootstrap/CMakeLists.txt index 88b2c94038..c9deb2c4f5 100644 --- a/src/tools/bootstrap/CMakeLists.txt +++ b/src/tools/bootstrap/CMakeLists.txt @@ -4,8 +4,11 @@ ## Bootstrap Module: ##################################################################### -# special case: +# special case begin +# The bootstrap library has a few manual tweaks compared to other +# libraries. add_library(Bootstrap STATIC) +# special case end qt_extend_target(Bootstrap SOURCES ../../corelib/codecs/qlatincodec.cpp @@ -110,11 +113,10 @@ qt_extend_target(Bootstrap .. ../../3rdparty/tinycbor/src PUBLIC_INCLUDE_DIRECTORIES # special case - $<TARGET_PROPERTY:Core,INCLUDE_DIRECTORIES> - $<TARGET_PROPERTY:Xml,INCLUDE_DIRECTORIES> + $<TARGET_PROPERTY:Core,INCLUDE_DIRECTORIES> # special case + $<TARGET_PROPERTY:Xml,INCLUDE_DIRECTORIES> # special case PUBLIC_LIBRARIES # special case - ZLIB::ZLIB - Qt::Platform + Qt::Platform # special case ) #### Keys ignored in scope 1:.:.:bootstrap.pro:<TRUE>: @@ -189,34 +191,31 @@ qt_extend_target(Bootstrap CONDITION UNIX AND NOT APPLE_OSX ../../corelib/io/qstandardpaths_unix.cpp ) -# special case begin -# These lines need to commented out. This will never get cross_compiled! -#qt_extend_target(Bootstrap CONDITION CMAKE_CROSSCOMPILING -# SOURCES -# ../../3rdparty/zlib/src/adler32.c -# ../../3rdparty/zlib/src/compress.c -# ../../3rdparty/zlib/src/crc32.c -# ../../3rdparty/zlib/src/deflate.c -# ../../3rdparty/zlib/src/gzclose.c -# ../../3rdparty/zlib/src/gzlib.c -# ../../3rdparty/zlib/src/gzread.c -# ../../3rdparty/zlib/src/gzwrite.c -# ../../3rdparty/zlib/src/infback.c -# ../../3rdparty/zlib/src/inffast.c -# ../../3rdparty/zlib/src/inflate.c -# ../../3rdparty/zlib/src/inftrees.c -# ../../3rdparty/zlib/src/trees.c -# ../../3rdparty/zlib/src/uncompr.c -# ../../3rdparty/zlib/src/zutil.c -# INCLUDE_DIRECTORIES -# ../../3rdparty/zlib/src -#) -# -#qt_extend_target(Bootstrap CONDITION NOT CMAKE_CROSSCOMPILING -# LIBRARIES -# ZLIB::ZLIB -#) -# special case end +qt_extend_target(Bootstrap CONDITION CMAKE_CROSSCOMPILING OR NOT QT_FEATURE_system_zlib + SOURCES + ../../3rdparty/zlib/src/adler32.c + ../../3rdparty/zlib/src/compress.c + ../../3rdparty/zlib/src/crc32.c + ../../3rdparty/zlib/src/deflate.c + ../../3rdparty/zlib/src/gzclose.c + ../../3rdparty/zlib/src/gzlib.c + ../../3rdparty/zlib/src/gzread.c + ../../3rdparty/zlib/src/gzwrite.c + ../../3rdparty/zlib/src/infback.c + ../../3rdparty/zlib/src/inffast.c + ../../3rdparty/zlib/src/inflate.c + ../../3rdparty/zlib/src/inftrees.c + ../../3rdparty/zlib/src/trees.c + ../../3rdparty/zlib/src/uncompr.c + ../../3rdparty/zlib/src/zutil.c + INCLUDE_DIRECTORIES + ../../3rdparty/zlib/src +) + +qt_extend_target(Bootstrap CONDITION QT_FEATURE_system_zlib AND NOT CMAKE_CROSSCOMPILING + LIBRARIES + ZLIB::ZLIB +) qt_extend_target(Bootstrap CONDITION WIN32 AND mingw PUBLIC_LIBRARIES |