diff options
| -rw-r--r-- | ports/qt5-base/CONTROL | 16 | ||||
| -rw-r--r-- | ports/qt5-base/cmake/qt_fix_cmake.cmake | 8 | ||||
| -rw-r--r-- | ports/qt5-base/fixcmake.py | 33 | ||||
| -rw-r--r-- | ports/qt5-base/patches/gui_configure.patch | 13 | ||||
| -rw-r--r-- | ports/qt5-base/patches/icu.patch | 24 | ||||
| -rw-r--r-- | ports/qt5-base/portfile.cmake | 66 | ||||
| -rw-r--r-- | ports/qt5-base/vcpkg-cmake-wrapper.cmake | 26 | ||||
| -rw-r--r-- | ports/qt5-imageformats/CONTROL | 4 | ||||
| -rw-r--r-- | ports/qt5-imageformats/portfile.cmake | 13 | ||||
| -rw-r--r-- | ports/qt5-tools/CONTROL | 2 | ||||
| -rw-r--r-- | ports/qt5-tools/portfile.cmake | 5 | ||||
| -rw-r--r-- | ports/qt5-xmlpatterns/CONTROL | 2 | ||||
| -rw-r--r-- | ports/qt5-xmlpatterns/portfile.cmake | 5 | ||||
| -rw-r--r-- | scripts/ci.baseline.txt | 20 | ||||
| -rw-r--r-- | scripts/cmake/vcpkg_configure_qmake.cmake | 6 |
15 files changed, 178 insertions, 65 deletions
diff --git a/ports/qt5-base/CONTROL b/ports/qt5-base/CONTROL index 7cd856203..ac926522b 100644 --- a/ports/qt5-base/CONTROL +++ b/ports/qt5-base/CONTROL @@ -1,8 +1,8 @@ -Source: qt5-base
-Version: 5.12.5-7
-Homepage: https://www.qt.io/
-Description: Qt5 Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components.
-Build-Depends: zlib, libjpeg-turbo, libpng, freetype, pcre2, harfbuzz, sqlite3, libpq, double-conversion, openssl
-
-Feature: latest
-Description: Build latest qt version (5.13.1) instead of LTS
+Source: qt5-base +Version: 5.12.5-8 +Homepage: https://www.qt.io/ +Description: Qt5 Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components. +Build-Depends: zlib, libjpeg-turbo, libpng, freetype, pcre2, harfbuzz, sqlite3, libpq, double-conversion, openssl, angle (!windows), egl-registry, icu (!uwp), fontconfig (!windows) + +Feature: latest +Description: Build latest qt version (5.13.1) instead of LTS diff --git a/ports/qt5-base/cmake/qt_fix_cmake.cmake b/ports/qt5-base/cmake/qt_fix_cmake.cmake index 6da5deb8e..f435566c6 100644 --- a/ports/qt5-base/cmake/qt_fix_cmake.cmake +++ b/ports/qt5-base/cmake/qt_fix_cmake.cmake @@ -13,7 +13,13 @@ function(qt_fix_cmake PACKAGE_DIR_TO_FIX PORT_TO_FIX) LOGNAME fix-cmake
)
endif()
-
+ if(EXISTS ${PACKAGE_DIR_TO_FIX}/share/cmake)
+ vcpkg_execute_required_process(
+ COMMAND ${PYTHON2} ${CURRENT_INSTALLED_DIR}/share/qt5/fixcmake.py ${PORT_TO_FIX}
+ WORKING_DIRECTORY ${PACKAGE_DIR_TO_FIX}/share/cmake
+ LOGNAME fix-cmake
+ )
+ endif()
#Install cmake files
if(EXISTS ${PACKAGE_DIR_TO_FIX}/lib/cmake)
file(MAKE_DIRECTORY ${PACKAGE_DIR_TO_FIX}/share)
diff --git a/ports/qt5-base/fixcmake.py b/ports/qt5-base/fixcmake.py index afb127560..6f677327c 100644 --- a/ports/qt5-base/fixcmake.py +++ b/ports/qt5-base/fixcmake.py @@ -13,40 +13,45 @@ tooldir="/tools/"+port+"/bin/" for f in files: openedfile = open(f, "r") builder = "" - dllpattern = re.compile("_install_prefix}/bin/Qt5.*d+(.dll|.so)") - libpattern = re.compile("_install_prefix}/lib/Qt5.*d+(.lib|.a)") + dllpatterndebug = re.compile("_install_prefix}/bin/Qt5.*d+(.dll|.so)") + libpatterndebug = re.compile("_install_prefix}/lib/Qt5.*d+(.lib|.a)") exepattern = re.compile("_install_prefix}/bin/[a-z]+(.exe|)") toolexepattern = re.compile("_install_prefix}/tools/qt5/bin/[a-z]+(.exe|)") tooldllpattern = re.compile("_install_prefix}/tools/qt5/bin/Qt5.*d+(.dll|.so)") + populatepluginpattern = re.compile("_populate_[^_]+_plugin_properties\([^ ]+ RELEASE") + populatetargetpattern = re.compile("_populate_[^_]+_target_properties\(RELEASE ") for line in openedfile: if "_install_prefix}/tools/qt5/${LIB_LOCATION}" in line: builder += " if (${Configuration} STREQUAL \"RELEASE\")" builder += "\n " + line.replace("/tools/qt5/bin", "/bin/") - builder += " else()" - builder += "\n " + line.replace("/tools/qt5/debug/bin", "/debug/bin/") + builder += " else()" #This requires a release and debug build since Qt will check that the file exists! + #It would be better to use an elseif here with a EXISTS check but that requires a more complicated regex to build the complete filepath since each module uses its own _(qtmodule)_install_prefix + #so single configuration builds of Qt are currently not supported. Thus => + #TODO: Make single configuration builds of Qt work correctly! + builder += "\n " + line.replace("/tools/qt5/debug/bin", "/debug/bin/") builder += " endif()\n" elif "_install_prefix}/bin/${LIB_LOCATION}" in line: builder += " if (${Configuration} STREQUAL \"RELEASE\")" builder += "\n " + line - builder += " else()" - builder += "\n " + line.replace("/bin/", "/debug/bin/") + builder += " else()" #This requires a release and debug build! + builder += "\n " + line.replace("/bin/", "/debug/bin/") builder += " endif()\n" elif "_install_prefix}/lib/${LIB_LOCATION}" in line: builder += " if (${Configuration} STREQUAL \"RELEASE\")" builder += "\n " + line - builder += " else()" + builder += " else()" #This requires a release and debug build! builder += "\n " + line.replace("/lib/", "/debug/lib/") builder += " endif()\n" elif "_install_prefix}/lib/${IMPLIB_LOCATION}" in line: builder += " if (${Configuration} STREQUAL \"RELEASE\")" builder += "\n " + line - builder += " else()" + builder += " else()" #This requires a release and debug build! builder += "\n " + line.replace("/lib/", "/debug/lib/") builder += " endif()\n" elif "_install_prefix}/plugins/${PLUGIN_LOCATION}" in line: builder += " if (${Configuration} STREQUAL \"RELEASE\")" builder += "\n " + line - builder += " else()" + builder += " else()" #This requires a release and debug build! builder += "\n " + line.replace("/plugins/", "/debug/plugins/") builder += " endif()\n" elif "_install_prefix}/lib/qtmaind.lib" in line: @@ -60,9 +65,15 @@ for f in files: builder += " set_target_properties(Qt5::WinMain PROPERTIES\n" builder += " IMPORTED_LOCATION_DEBUG ${imported_location_debug}\n" builder += " )\n" - elif dllpattern.search(line) != None: + elif populatepluginpattern.search(line) != None: + builder += line + builder += line.replace("RELEASE", "DEBUG").replace(".dll", "d.dll").replace(".lib", "d.lib") + elif populatetargetpattern.search(line) != None: + builder += line + builder += line.replace("RELEASE", "DEBUG").replace(".dll", "d.dll").replace(".lib", "d.lib") + elif dllpatterndebug.search(line) != None: builder += line.replace("/bin/", "/debug/bin/") - elif libpattern.search(line) != None: + elif libpatterndebug.search(line) != None: builder += line.replace("/lib/", "/debug/lib/") elif tooldllpattern.search(line) != None: builder += line.replace("/tools/qt5/bin", "/debug/bin/") diff --git a/ports/qt5-base/patches/gui_configure.patch b/ports/qt5-base/patches/gui_configure.patch index 31c29dbeb..7a283dc62 100644 --- a/ports/qt5-base/patches/gui_configure.patch +++ b/ports/qt5-base/patches/gui_configure.patch @@ -14,3 +14,16 @@ index c51e3ceee..7f7e206b6 100644 ], "use": [ { "lib": "zlib", "condition": "features.system-zlib" } +@@ -262,7 +262,10 @@ + "headers": "fontconfig/fontconfig.h", + "sources": [ +- { "type": "pkgConfig", "args": "fontconfig" }, ++ { "type": "pkgConfig", "args": "breakfontconfig" }, +- { "type": "freetype", "libs": "-lfontconfig" } ++ { "type": "freetype", "libs": "-lbreakautofind" }, ++ { "libs": "-lfontconfig -lexpat" }, ++ { "libs": "-llibfontconfig -llibexpat" }, ++ "-lfontconfig" + ], + "use": "freetype" + }, diff --git a/ports/qt5-base/patches/icu.patch b/ports/qt5-base/patches/icu.patch new file mode 100644 index 000000000..16c13b0c3 --- /dev/null +++ b/ports/qt5-base/patches/icu.patch @@ -0,0 +1,24 @@ +diff --git a/src/corelib/configure.json b/src/corelib/configure.json +index de8d26a12..068b80c51 100644 +--- a/src/corelib/configure.json ++++ b/src/corelib/configure.json +@@ -106,13 +106,17 @@ + "headers": [ "unicode/utypes.h", "unicode/ucol.h", "unicode/ustring.h" ], + "sources": [ + { ++ "libs": "", + "builds": { +- "debug": "-lsicuind -lsicuucd -lsicudtd", +- "release": "-lsicuin -lsicuuc -lsicudt" ++ "debug": "-licuind -licuucd -licudtd", ++ "release": "-licuin -licuuc -licudt" + }, + "condition": "config.win32 && !features.shared" + }, ++ { "libs": "-licuind -licuucd -licudtd", "condition": "config.win32 && !features.shared"}, ++ { "libs": "-licuin -licuuc -licudt", "condition": "config.win32 && !features.shared"}, + { "libs": "-licuin -licuuc -licudt", "condition": "config.win32 && features.shared" }, ++ { "libs": "-licuind -licuucd -licudtd", "condition": "config.win32 && features.shared" }, + { "libs": "-licui18n -licuuc -licudata", "condition": "!config.win32" } + ], + "use": [ diff --git a/ports/qt5-base/portfile.cmake b/ports/qt5-base/portfile.cmake index 42ab6c792..443d462e1 100644 --- a/ports/qt5-base/portfile.cmake +++ b/ports/qt5-base/portfile.cmake @@ -37,7 +37,8 @@ qt_download_submodule( OUT_SOURCE_PATH SOURCE_PATH patches/winmain_pro.patch #Moves qtmain to manual-link patches/windows_prf.patch #fixes the qtmain dependency due to the above move patches/qt_app.patch #Moves the target location of qt5 host apps to always install into the host dir. - patches/gui_configure.patch #Patches the gui configure.json to break freetype autodetection because it does not include its dependencies. + patches/gui_configure.patch #Patches the gui configure.json to break freetype/fontconfig autodetection because it does not include its dependencies. + patches/icu.patch #Help configure find static icu builds in vcpkg on windows #patches/static_opengl.patch #Use this patch if you really want to statically link angle on windows (e.g. using -opengl es2 and -static). #Be carefull since it requires definining _GDI32_ for all dependent projects due to redefinition errors in the #the windows supplied gl.h header and the angle gl.h otherwise. @@ -67,7 +68,7 @@ set(CORE_OPTIONS # ENV ANGLE_DIR to external angle source dir. (Will always be compiled with Qt) #-optimized-tools #-force-debug-info - #-verbose + -verbose ) ## 3rd Party Libs @@ -79,7 +80,9 @@ list(APPEND CORE_OPTIONS -system-pcre -system-doubleconversion -system-sqlite - -system-harfbuzz) + -system-harfbuzz + -icu + -no-angle) # Qt does not need to build angle. VCPKG will build angle! if(QT_OPENSSL_LINK) list(APPEND CORE_OPTIONS -openssl-linked) @@ -103,6 +106,35 @@ find_library(HARFBUZZ_RELEASE NAMES harfbuzz PATHS "${CURRENT_INSTALLED_DIR}/lib find_library(HARFBUZZ_DEBUG NAMES harfbuzz PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) find_library(SQLITE_RELEASE NAMES sqlite3 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) # Depends on openssl and zlib(linux) find_library(SQLITE_DEBUG NAMES sqlite3 sqlite3d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) + +find_library(ICUUC_RELEASE NAMES icuuc libicuuc PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(ICUUC_DEBUG NAMES icuucd libicuucd icuuc libicuuc PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(ICUTU_RELEASE NAMES icutu libicutu PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(ICUTU_DEBUG NAMES icutud libicutud icutu libicutu PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) + +# Was installed in WSL but not on CI machine +# find_library(ICULX_RELEASE NAMES iculx libiculx PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +# find_library(ICULX_DEBUG NAMES iculxd libiculxd iculx libiculx PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) + +find_library(ICUIO_RELEASE NAMES icuio libicuio PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(ICUIO_DEBUG NAMES icuiod libicuiod icuio libicuio PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(ICUIN_RELEASE NAMES icui18n libicui18n icuin PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(ICUIN_DEBUG NAMES icui18nd libicui18nd icui18n libicui18n icuin icuind PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(ICUDATA_RELEASE NAMES icudata libicudata icudt PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(ICUDATA_DEBUG NAMES icudatad libicudatad icudata libicudata icudtd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +set(ICU_RELEASE "${ICUIN_RELEASE} ${ICUTU_RELEASE} ${ICULX_RELEASE} ${ICUUC_RELEASE} ${ICUIO_RELEASE} ${ICUDATA_RELEASE}") +set(ICU_DEBUG "${ICUIN_DEBUG} ${ICUTU_DEBUG} ${ICULX_DEBUG} ${ICUUC_DEBUG} ${ICUIO_DEBUG} ${ICUDATA_DEBUG}") +if(VCPKG_TARGET_IS_WINDOWS) + set(ICU_RELEASE "${ICU_RELEASE} Advapi32.lib") + set(ICU_DEBUG "${ICU_DEBUG} Advapi32.lib" ) +endif() + + +find_library(FONTCONFIG_RELEASE NAMES fontconfig PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(FONTCONFIG_DEBUG NAMES fontconfig PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(EXPAT_RELEASE NAMES expat PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(EXPAT_DEBUG NAMES expat PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) + #Dependent libraries find_library(BZ2_RELEASE bz2 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) find_library(BZ2_DEBUG bz2 bz2d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) @@ -117,8 +149,9 @@ set(RELEASE_OPTIONS "LIBPNG_LIBS=${LIBPNG_RELEASE} ${ZLIB_RELEASE}" "PCRE2_LIBS=${PCRE2_RELEASE}" "FREETYPE_LIBS=${FREETYPE_RELEASE} ${BZ2_RELEASE} ${LIBPNG_RELEASE} ${ZLIB_RELEASE}" + "ICU_LIBS=${ICU_RELEASE}" "QMAKE_LIBS_PRIVATE+=${BZ2_RELEASE}" - "QMAKE_LIBS_PRIVATE+=${LIBPNG_RELEASE}" + "QMAKE_LIBS_PRIVATE+=${LIBPNG_RELEASE}" ) set(DEBUG_OPTIONS "LIBJPEG_LIBS=${JPEG_DEBUG}" @@ -126,6 +159,7 @@ set(DEBUG_OPTIONS "LIBPNG_LIBS=${LIBPNG_DEBUG} ${ZLIB_DEBUG}" "PCRE2_LIBS=${PCRE2_DEBUG}" "FREETYPE_LIBS=${FREETYPE_DEBUG} ${BZ2_DEBUG} ${LIBPNG_DEBUG} ${ZLIB_DEBUG}" + "ICU_LIBS=${ICU_DEBUG}" "QMAKE_LIBS_PRIVATE+=${BZ2_DEBUG}" "QMAKE_LIBS_PRIVATE+=${LIBPNG_DEBUG}" ) @@ -144,14 +178,17 @@ if(VCPKG_TARGET_IS_WINDOWS) "PSQL_LIBS=${PSQL_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib" "SQLITE_LIBS=${SQLITE_RELEASE}" "HARFBUZZ_LIBS=${HARFBUZZ_RELEASE}" + "OPENSSL_LIBS=${SSL_RELEASE} ${EAY_RELEASE} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib" ) list(APPEND DEBUG_OPTIONS "PSQL_LIBS=${PSQL_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib" "SQLITE_LIBS=${SQLITE_DEBUG}" "HARFBUZZ_LIBS=${HARFBUZZ_DEBUG}" + "OPENSSL_LIBS=${SSL_DEBUG} ${EAY_DEBUG} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib" ) elseif(VCPKG_TARGET_IS_LINUX) + list(APPEND CORE_OPTIONS -fontconfig) if (NOT EXISTS "/usr/include/GL/glu.h") message(FATAL_ERROR "qt5 requires libgl1-mesa-dev and libglu1-mesa-dev, please use your distribution's package manager to install them.\nExample: \"apt-get install libgl1-mesa-dev libglu1-mesa-dev\"") endif() @@ -159,13 +196,18 @@ elseif(VCPKG_TARGET_IS_LINUX) "PSQL_LIBS=${PSQL_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread" "SQLITE_LIBS=${SQLITE_RELEASE} -ldl -lpthread" "HARFBUZZ_LIBS=${HARFBUZZ_RELEASE}" + "OPENSSL_LIBS=${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread" + "FONTCONFIG_LIBS=${FONTCONFIG_RELEASE} ${FREETYPE_RELEASE} ${EXPAT_RELEASE}" ) list(APPEND DEBUG_OPTIONS "PSQL_LIBS=${PSQL_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} -ldl -lpthread" "SQLITE_LIBS=${SQLITE_DEBUG} -ldl -lpthread" "HARFBUZZ_LIBS=${HARFBUZZ_DEBUG}" + "OPENSSL_LIBS=${SSL_DEBUG} ${EAY_DEBUG} -ldl -lpthread" + "FONTCONFIG_LIBS=${FONTCONFIG_DEBUG} ${FREETYPE_DEBUG} ${EXPAT_DEBUG}" ) elseif(VCPKG_TARGET_IS_OSX) + list(APPEND CORE_OPTIONS -fontconfig) if(DEFINED VCPKG_OSX_DEPLOYMENT_TARGET) set(ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET} ${VCPKG_OSX_DEPLOYMENT_TARGET}) else() @@ -192,11 +234,15 @@ elseif(VCPKG_TARGET_IS_OSX) "PSQL_LIBS=${PSQL_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread" "SQLITE_LIBS=${SQLITE_RELEASE} -ldl -lpthread" "HARFBUZZ_LIBS=${HARFBUZZ_RELEASE} -framework ApplicationServices" + "OPENSSL_LIBS=${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread" + "FONTCONFIG_LIBS=${FONTCONFIG_RELEASE} ${FREETYPE_RELEASE} ${EXPAT_RELEASE}" ) list(APPEND DEBUG_OPTIONS "PSQL_LIBS=${PSQL_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} -ldl -lpthread" "SQLITE_LIBS=${SQLITE_DEBUG} -ldl -lpthread" "HARFBUZZ_LIBS=${HARFBUZZ_DEBUG} -framework ApplicationServices" + "OPENSSL_LIBS=${SSL_DEBUG} ${EAY_DEBUG} -ldl -lpthread" + "FONTCONFIG_LIBS=${FONTCONFIG_DEBUG} ${FREETYPE_DEBUG} ${EXPAT_DEBUG}" ) endif() @@ -243,11 +289,13 @@ else() #This needs a new VCPKG policy. if(VCPKG_TARGET_IS_WINDOWS AND ${VCPKG_LIBRARY_LINKAGE} MATCHES "static") # Move angle dll libraries message(STATUS "Moving ANGLE dlls from /bin to /tools/qt5-angle/bin. In static builds dlls are not allowed in /bin") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/qt5-angle) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/qt5-angle/bin) - if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/bin) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/qt5-angle/debug) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/tools/qt5-angle/debug/bin) + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/qt5-angle) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/qt5-angle/bin) + if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/bin) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/qt5-angle/debug) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/tools/qt5-angle/debug/bin) + endif() endif() endif() diff --git a/ports/qt5-base/vcpkg-cmake-wrapper.cmake b/ports/qt5-base/vcpkg-cmake-wrapper.cmake index 81a434ffd..1f048e327 100644 --- a/ports/qt5-base/vcpkg-cmake-wrapper.cmake +++ b/ports/qt5-base/vcpkg-cmake-wrapper.cmake @@ -2,10 +2,16 @@ _find_package(${ARGS}) function(add_qt_library _target) foreach(_lib IN LISTS ARGN) - find_library(${_lib}_LIBRARY_DEBUG NAMES ${_lib}d PATH_SUFFIXES debug/plugins/platforms) - find_library(${_lib}_LIBRARY_RELEASE NAMES ${_lib} PATH_SUFFIXES plugins/platforms) - set_property(TARGET ${_target} APPEND PROPERTY INTERFACE_LINK_LIBRARIES - \$<\$<NOT:\$<CONFIG:DEBUG>>:${${_lib}_LIBRARY_RELEASE}>\$<\$<CONFIG:DEBUG>:${${_lib}_LIBRARY_DEBUG}>) + #The fact that we are within this file means we are using the VCPKG toolchain. Has such we only need to search in VCPKG paths! + find_library(${_lib}_LIBRARY_DEBUG NAMES ${_lib}d ${_lib} NAMES_PER_DIR PATH_SUFFIXES lib plugins/platforms PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH) + find_library(${_lib}_LIBRARY_RELEASE NAMES ${_lib} NAMES_PER_DIR PATH_SUFFIXES lib plugins/platforms PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH) + if(${_lib}_LIBRARY_RELEASE) + list(APPEND interface_lib \$<\$<NOT:\$<CONFIG:DEBUG>>:${${_lib}_LIBRARY_RELEASE}>) + endif() + if(${_lib}_LIBRARY_DEBUG) + list(APPEND interface_lib \$<\$<CONFIG:DEBUG>:${${_lib}_LIBRARY_DEBUG}>) + endif() + set_property(TARGET ${_target} APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${interface_lib}) endforeach() endfunction() @@ -23,12 +29,14 @@ if("${_target_type}" STREQUAL "STATIC_LIBRARY") set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_LINK_LIBRARIES ZLIB::ZLIB JPEG::JPEG PNG::PNG Freetype::Freetype sqlite3 harfbuzz::harfbuzz - double-conversion::double-conversion OpenSSL::SSL OpenSSL::Crypto + double-conversion::double-conversion OpenSSL::SSL OpenSSL::Crypto PostgreSQL::PostgreSQL ) add_qt_library(Qt5::Core pcre2-16 - libpq + icuin icui18n + icutu icuuc icuio + icudt icudata Qt5ThemeSupport Qt5EventDispatcherSupport Qt5PlatformCompositorSupport @@ -39,7 +47,11 @@ if("${_target_type}" STREQUAL "STATIC_LIBRARY") Netapi32.lib Ws2_32.lib Mincore.lib Winmm.lib Iphlpapi.lib Wtsapi32.lib Dwmapi.lib Imm32.lib) add_qt_library(Qt5::Core Qt5WindowsUIAutomationSupport qwindows qdirect2d) - + elseif(UNIX AND NOT APPLE) + add_qt_library(Qt5::Core + Qt5GraphicsSupport + Qt5ClipboardSupport + Qt5AccessibilitySupport) elseif(APPLE) set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_LINK_LIBRARIES "-weak_framework DiskArbitration" "-weak_framework IOKit" "-weak_framework Foundation" "-weak_framework CoreServices" diff --git a/ports/qt5-imageformats/CONTROL b/ports/qt5-imageformats/CONTROL index 1fe00cbdc..24108f974 100644 --- a/ports/qt5-imageformats/CONTROL +++ b/ports/qt5-imageformats/CONTROL @@ -1,4 +1,4 @@ Source: qt5-imageformats
-Version: 5.12.5-1
+Version: 5.12.5-2
Description: Qt5 Image Formats Module - Plugins for additional image formats: TIFF, MNG, TGA, WBMP
-Build-Depends: qt5-base, tiff, libwebp
+Build-Depends: qt5-base, tiff, libwebp, jasper
diff --git a/ports/qt5-imageformats/portfile.cmake b/ports/qt5-imageformats/portfile.cmake index ad7f37070..91e83883a 100644 --- a/ports/qt5-imageformats/portfile.cmake +++ b/ports/qt5-imageformats/portfile.cmake @@ -5,11 +5,18 @@ include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) list(APPEND CORE_OPTIONS -system-tiff -system-webp + -jasper + -no-mng # must be explicitly disabled to not automatically pick up mng -verbose) find_library(TIFF_RELEASE NAMES tiff PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) # Depends on lzma find_library(TIFF_DEBUG NAMES tiffd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(JASPER_RELEASE NAMES jasper PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(JASPER_DEBUG NAMES jasperd jasper libjasperd libjasper PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(FREEGLUT_RELEASE NAMES freeglut glut PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(FREEGLUT_DEBUG NAMES freeglutd freeglut glutd glut PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) + find_library(WEBP_RELEASE NAMES webp PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) find_library(WEBP_DEBUG NAMES webpd webp PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) find_library(WEBPDEMUX_RELEASE NAMES webpdemux PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) @@ -22,7 +29,9 @@ find_library(LZMA_RELEASE lzma PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_P find_library(LZMA_DEBUG lzmad lzma PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) set(OPT_REL "TIFF_LIBS=${TIFF_RELEASE} ${LZMA_RELEASE}" - "WEBP_LIBS=${WEBP_RELEASE} ${WEBPDEMUX_RELEASE}") + "WEBP_LIBS=${WEBP_RELEASE} ${WEBPDEMUX_RELEASE}" + "JASPER_LIBS=${JASPER_RELEASE} ${FREEGLUT_RELEASE}") # This will still fail if LIBWEBP is installed with all available features due to the missing additional dependencies set(OPT_DBG "TIFF_LIBS=${TIFF_DEBUG} ${LZMA_DEBUG}" - "WEBP_LIBS=${WEBP_DEBUG} ${WEBPDEMUX_DEBUG}") + "WEBP_LIBS=${WEBP_DEBUG} ${WEBPDEMUX_DEBUG}" + "JASPER_LIBS=${JASPER_DEBUG} ${FREEGLUT_DEBUG}") qt_submodule_installation(BUILD_OPTIONS ${CORE_OPTIONS} BUILD_OPTIONS_RELEASE ${OPT_REL} BUILD_OPTIONS_DEBUG ${OPT_DBG})
\ No newline at end of file diff --git a/ports/qt5-tools/CONTROL b/ports/qt5-tools/CONTROL index ad3c67bc5..bfa94474c 100644 --- a/ports/qt5-tools/CONTROL +++ b/ports/qt5-tools/CONTROL @@ -1,4 +1,4 @@ Source: qt5-tools
-Version: 5.12.5-2
+Version: 5.12.5-3
Description: Qt5 Tools Module; Includes deployment tools and helpers, Qt Designer, Assistant, and other applications
Build-Depends: qt5-base, qt5-declarative, qt5-activeqt (windows)
diff --git a/ports/qt5-tools/portfile.cmake b/ports/qt5-tools/portfile.cmake index 214726759..fdbfa8d8e 100644 --- a/ports/qt5-tools/portfile.cmake +++ b/ports/qt5-tools/portfile.cmake @@ -1,2 +1,5 @@ include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) -qt_submodule_installation()
\ No newline at end of file +qt_submodule_installation() +if(EXISTS "${CURRENT_INSTALLED_DIR}/plugins/platforms/qminimal${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}") + file(INSTALL "${CURRENT_INSTALLED_DIR}/plugins/platforms/qminimal${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/plugins/platforms") +endif()
\ No newline at end of file diff --git a/ports/qt5-xmlpatterns/CONTROL b/ports/qt5-xmlpatterns/CONTROL index 6e7b3d711..15a676498 100644 --- a/ports/qt5-xmlpatterns/CONTROL +++ b/ports/qt5-xmlpatterns/CONTROL @@ -1,4 +1,4 @@ Source: qt5-xmlpatterns
-Version: 5.12.5
+Version: 5.12.5-1
Description: Qt5 XML Patterns Module - Support for XPath, XQuery, XSLT and XML schema validation
Build-Depends: qt5-base, qt5-declarative
diff --git a/ports/qt5-xmlpatterns/portfile.cmake b/ports/qt5-xmlpatterns/portfile.cmake index 214726759..fdbfa8d8e 100644 --- a/ports/qt5-xmlpatterns/portfile.cmake +++ b/ports/qt5-xmlpatterns/portfile.cmake @@ -1,2 +1,5 @@ include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) -qt_submodule_installation()
\ No newline at end of file +qt_submodule_installation() +if(EXISTS "${CURRENT_INSTALLED_DIR}/plugins/platforms/qminimal${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}") + file(INSTALL "${CURRENT_INSTALLED_DIR}/plugins/platforms/qminimal${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/plugins/platforms") +endif()
\ No newline at end of file diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 23f4805c3..87919c1f2 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -304,7 +304,6 @@ cudnn:arm-uwp=fail cudnn:x64-uwp=fail
cudnn:x64-windows-static=fail
cudnn:x86-windows=fail
-cutelyst2:x64-linux=fail
cutelyst2:x64-osx=fail
darknet:arm-uwp=fail
darknet:x64-uwp=fail
@@ -1365,7 +1364,6 @@ python3:x64-uwp=fail qca:x64-linux=fail
qca:x64-osx=fail
qca:x64-windows-static=fail
-qcustomplot:x64-linux=fail
qcustomplot:x64-osx=fail
qhull:arm-uwp=ignore
qhull:x64-windows-static=ignore
@@ -1375,32 +1373,14 @@ qpid-proton:x64-uwp=fail qpid-proton:x64-windows-static=fail
qscintilla:x64-linux=fail
qscintilla:x64-osx=fail
-qt-advanced-docking-system:x64-linux=ignore
qt5-activeqt:x64-linux=fail
qt5-activeqt:x64-osx=fail
-qt5-base:x64-linux=fail
-qt5-charts:x64-linux=ignore
-qt5-connectivity:x64-linux=ignore
-qt5-datavis3d:x64-linux=ignore
qt5-macextras:x64-linux=fail
qt5-macextras:x64-windows=fail
qt5-macextras:x64-windows-static=fail
qt5-macextras:x86-windows=fail
-qt5-mqtt:x64-linux=ignore
-qt5-networkauth:x64-linux=ignore
-qt5-quickcontrols2:x64-linux=ignore
-qt5-remoteobjects:x64-linux=ignore
-qt5-scxml:x64-linux=ignore
-qt5-serialport:x64-linux=ignore
-qt5-speech:x64-linux=ignore
-qt5-tools:x64-linux=ignore
-qt5-tools:x64-windows-static=ignore
-qt5-webchannel:x64-linux=ignore
-qt5-websockets:x64-linux=ignore
-qt5-webview:x64-linux=ignore
qt5-winextras:x64-linux=fail
qt5-winextras:x64-osx=fail
-qt5-xmlpatterns:x64-linux=ignore
quickfast:x64-linux=ignore
quickfix:x64-linux=ignore
quickfix:x64-windows=ignore
diff --git a/scripts/cmake/vcpkg_configure_qmake.cmake b/scripts/cmake/vcpkg_configure_qmake.cmake index ad5682a3d..44230a79e 100644 --- a/scripts/cmake/vcpkg_configure_qmake.cmake +++ b/scripts/cmake/vcpkg_configure_qmake.cmake @@ -20,7 +20,11 @@ function(vcpkg_configure_qmake) # Find qmake executable set(_triplet_hostbindir ${CURRENT_INSTALLED_DIR}/tools/qt5/bin) - find_program(QMAKE_COMMAND NAMES qmake PATHS ${VCPKG_QT_HOST_TOOLS_ROOT_DIR}/bin ${_triplet_hostbindir}) + if(DEFINED VCPKG_QT_HOST_TOOLS_ROOT_DIR) + find_program(QMAKE_COMMAND NAMES qmake PATHS ${VCPKG_QT_HOST_TOOLS_ROOT_DIR}/bin ${_triplet_hostbindir} NO_DEFAULT_PATH) + else() + find_program(QMAKE_COMMAND NAMES qmake PATHS ${_triplet_hostbindir} NO_DEFAULT_PATH) + endif() if(NOT QMAKE_COMMAND) message(FATAL_ERROR "vcpkg_configure_qmake: unable to find qmake.") |
