diff options
| author | Lennart Trunk <lennart.trunk@outlook.de> | 2019-02-22 23:57:40 +0100 |
|---|---|---|
| committer | Victor Romero <romerosanchezv@gmail.com> | 2019-02-22 14:57:40 -0800 |
| commit | 473e803451a45ddb4d497d4fb6f863ba1ac2b1b2 (patch) | |
| tree | c9467905ed54f6ced24c565d3a9886e3fe5152cf /ports/qt5-base | |
| parent | 63265da7779324bf871ca01813f9a892ddae73b1 (diff) | |
| download | vcpkg-473e803451a45ddb4d497d4fb6f863ba1ac2b1b2.tar.gz vcpkg-473e803451a45ddb4d497d4fb6f863ba1ac2b1b2.zip | |
[qt5] Update to 5.12.1 and add some missing modules (#5293)
* Update qt5-base to 5.12.1
* update qt5-declarative to 5.12.1
* update qt5-modularscripts for 5.12.1
* update qt5-3d to 5.12.1
* update qt5-activeqt to 5.12.1
* add qt5-connectivity
* update qt5-charts to 5.12.1
* update qt5-datavis3d to 5.12.1
* update qt5-gamepad to 5.12.1
* update qt5-graphicaleffects to 5.12.1
* update qt5-imageformats to 5.12.1
* add qt5-location
* update qt5-multimedia to 5.12.1
* update qt5-networkauth to 5.12.1
* add qt5-purchasing
* update qt5-quickcontrols to 5.12.1
* update qt5-quickcontrols2 to 5.12.1
* add qt5-remoteobjects
* update qt5-script to 5.12.1
* update qt5-scxml to 5.12.1
* add qt5-sensors
* update qt5-serialport to 5.12.1
* update qt5-speech to 5.12.1
* update qt5-svg to 5.12.1
* update qt5-tools to 5.12.1
* update qt5-virtualkeyboard to 5.12.1
* add qt5-webchannel
* update qt5-websockets to 5.12.1
* update qt5-winextras to 5.12.1
* update qt5-xmlpatterns to 5.12.1
* update framework port to 5.12.1 and include the new modules
* fix building qt5-base on linux
* [qt5] Remove non-alphanumerical ASCII chars from dependencies
Diffstat (limited to 'ports/qt5-base')
| -rw-r--r-- | ports/qt5-base/CONTROL | 2 | ||||
| -rw-r--r-- | ports/qt5-base/fix-gui-configure-json.patch | 40 | ||||
| -rw-r--r-- | ports/qt5-base/portfile.cmake | 385 | ||||
| -rw-r--r-- | ports/qt5-base/qtdeploy.ps1 | 1 |
4 files changed, 232 insertions, 196 deletions
diff --git a/ports/qt5-base/CONTROL b/ports/qt5-base/CONTROL index fdf74b20c..28df38b4f 100644 --- a/ports/qt5-base/CONTROL +++ b/ports/qt5-base/CONTROL @@ -1,4 +1,4 @@ Source: qt5-base -Version: 5.12.0 +Version: 5.12.1 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 diff --git a/ports/qt5-base/fix-gui-configure-json.patch b/ports/qt5-base/fix-gui-configure-json.patch new file mode 100644 index 000000000..060fd0b3c --- /dev/null +++ b/ports/qt5-base/fix-gui-configure-json.patch @@ -0,0 +1,40 @@ +diff --git a/src/gui/configure.json b/src/gui/configure.json +index 89934c8f..70d08177 100644 +--- a/src/gui/configure.json ++++ b/src/gui/configure.json +@@ -239,7 +239,8 @@ + "sources": [ + { "type": "pkgConfig", "args": "freetype2" }, + { "type": "freetype", "libs": "-lfreetype", "condition": "!config.wasm" }, +- { "libs": "-s USE_FREETYPE=1", "condition": "config.wasm" } ++ { "libs": "-s USE_FREETYPE=1", "condition": "config.wasm" }, ++ { "libs": "-lfreetype" } + ], + "use": [ + { "lib": "zlib", "condition": "features.system-zlib" } +@@ -250,7 +251,7 @@ + "test": { + "tail": [ + "#ifndef FC_RGBA_UNKNOWN", +- "# error This version of fontconfig is tool old, it is missing the FC_RGBA_UNKNOWN define", ++ "# error This version of fontconfig is too old, it is missing the FC_RGBA_UNKNOWN define", + "#endif" + ], + "main": [ +@@ -1436,7 +1437,7 @@ + }, + "eglfs_x11": { + "label": "EGLFS X11", +- "condition": "features.eglfs && features.xcb && features.xcb-xlib && features.egl_x11", ++ "condition": "features.eglfs && features.xcb-xlib && features.egl_x11", + "output": [ "privateFeature" ] + }, + "gif": { +@@ -1569,7 +1570,6 @@ + }, + "xcb-xlib": { + "label": "XCB Xlib", +- "emitIf": "features.xcb", + "condition": "features.xlib && libs.xcb_xlib", + "output": [ "privateFeature" ] + }, diff --git a/ports/qt5-base/portfile.cmake b/ports/qt5-base/portfile.cmake index 79b7f763d..e5b59aeb9 100644 --- a/ports/qt5-base/portfile.cmake +++ b/ports/qt5-base/portfile.cmake @@ -1,195 +1,190 @@ -include(vcpkg_common_functions) - -string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) -if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "Qt5's buildsystem uses very long paths and may fail on your system.\n" - "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." - ) -endif() - -list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) -include(configure_qt) -include(install_qt) - -set(MAJOR_MINOR 5.12) -set(FULL_VERSION ${MAJOR_MINOR}.0) -set(ARCHIVE_NAME "qtbase-everywhere-src-${FULL_VERSION}.tar.xz") - -vcpkg_download_distfile(ARCHIVE_FILE - URLS "http://download.qt.io/official_releases/qt/${MAJOR_MINOR}/${FULL_VERSION}/submodules/${ARCHIVE_NAME}" - FILENAME ${ARCHIVE_NAME} - SHA512 8e6c51b754840d17e694b5b4a0d732afe04ebe48d166bca429db01ce3ac9014bb0ed35fe99ad165973889d96919f6b6774429585bae9a7fdba6b07f4c1eb3570 -) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE "${ARCHIVE_FILE}" - REF ${FULL_VERSION} - PATCHES - fix-system-freetype.patch - fix-system-pcre2.patch - fix-system-pcre2-linux.patch -) - -# Remove vendored dependencies to ensure they are not picked up by the build -foreach(DEPENDENCY freetype zlib harfbuzzng libjpeg libpng double-conversion sqlite) - if(EXISTS ${SOURCE_PATH}/src/3rdparty/${DEPENDENCY}) - file(REMOVE_RECURSE ${SOURCE_PATH}/src/3rdparty/${DEPENDENCY}) - endif() -endforeach() - -file(REMOVE_RECURSE ${SOURCE_PATH}/include/QtZlib) - -# This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings -set(ENV{_CL_} "/utf-8") - -set(CORE_OPTIONS - -confirm-license - -opensource - -system-zlib - -system-libjpeg - -system-libpng - -system-freetype - -system-pcre - -system-harfbuzz - -system-doubleconversion - -system-sqlite - -no-fontconfig - -nomake examples - -nomake tests -) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - list(APPEND CORE_OPTIONS - -static - ) -else() - list(APPEND CORE_OPTIONS - -sql-sqlite - -sql-psql - ) -endif() - -if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - set(PLATFORM "win32-msvc") - - configure_qt( - SOURCE_PATH ${SOURCE_PATH} - PLATFORM ${PLATFORM} - OPTIONS - ${CORE_OPTIONS} - -mp - -opengl desktop # other options are "-no-opengl", "-opengl angle", and "-opengl desktop" - OPTIONS_RELEASE - LIBJPEG_LIBS="-ljpeg" - ZLIB_LIBS="-lzlib" - LIBPNG_LIBS="-llibpng16" - FREETYPE_LIBS="-lfreetype" - PSQL_LIBS="-llibpq" - OPTIONS_DEBUG - LIBJPEG_LIBS="-ljpegd" - ZLIB_LIBS="-lzlibd" - LIBPNG_LIBS="-llibpng16d" - PSQL_LIBS="-llibpqd" - FREETYPE_LIBS="-lfreetyped" - ) - -elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") - configure_qt( - SOURCE_PATH ${SOURCE_PATH} - PLATFORM "linux-g++" - OPTIONS - ${CORE_OPTIONS} - -no-sqlite - -no-opengl # other options are "-no-opengl", "-opengl angle", and "-opengl desktop" - OPTIONS_RELEASE - "LIBJPEG_LIBS=${CURRENT_INSTALLED_DIR}/lib/libjpeg.a" - "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/lib/libpng16.a" - "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/lib/libz.a" - "ZLIB_LIBS=${CURRENT_INSTALLED_DIR}/lib/libz.a" - "LIBPNG_LIBS=${CURRENT_INSTALLED_DIR}/lib/libpng16.a" - "FREETYPE_LIBS=${CURRENT_INSTALLED_DIR}/lib/libfreetype.a" - "PSQL_LIBS=${CURRENT_INSTALLED_DIR}/lib/libpq.a ${CURRENT_INSTALLED_DIR}/lib/libssl.a ${CURRENT_INSTALLED_DIR}/lib/libcrypto.a" - OPTIONS_DEBUG - "LIBJPEG_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libjpeg.a" - "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.a" - "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/debug/lib/libz.a" - "ZLIB_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libz.a" - "LIBPNG_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.a" - "FREETYPE_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libfreetyped.a" - "PSQL_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libpqd.a ${CURRENT_INSTALLED_DIR}/debug/lib/libssl.a ${CURRENT_INSTALLED_DIR}/debug/lib/libcrypto.a" - ) -endif() - -install_qt() - -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) - -file(GLOB BINARY_TOOLS "${CURRENT_PACKAGES_DIR}/bin/*") -list(FILTER BINARY_TOOLS EXCLUDE REGEX "\\.dll\$") -file(INSTALL ${BINARY_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5) -file(REMOVE ${BINARY_TOOLS}) -file(GLOB BINARY_TOOLS "${CURRENT_PACKAGES_DIR}/debug/bin/*") -list(FILTER BINARY_TOOLS EXCLUDE REGEX "\\.dll\$") -file(REMOVE ${BINARY_TOOLS}) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/tools") -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/qt_debug.conf ${CMAKE_CURRENT_LIST_DIR}/qt_release.conf DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5) - -vcpkg_execute_required_process( - COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py - WORKING_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/cmake - LOGNAME fix-cmake -) - -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/qt5) - -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/qtmain.lib) - #--------------------------------------------------------------------------- - # qtmain(d) vs. Qt5AxServer(d) - #--------------------------------------------------------------------------- - # Qt applications have to either link to qtmain(d) or to Qt5AxServer(d), - # never both. See http://doc.qt.io/qt-5/activeqt-server.html for more info. - # - # Create manual-link folders: - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) - # - # Either have users explicitly link against qtmain.lib, qtmaind.lib: - file(COPY ${CURRENT_PACKAGES_DIR}/lib/qtmain.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link) - file(COPY ${CURRENT_PACKAGES_DIR}/lib/qtmain.prl DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/qtmain.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/qtmain.prl) - file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) - file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.prl DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.prl) - - #--------------------------------------------------------------------------- - # Qt5Bootstrap: only used to bootstrap qmake dependencies - #--------------------------------------------------------------------------- - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5Bootstrap.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5Bootstrap.prl) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/Qt5Bootstrap.lib ${CURRENT_PACKAGES_DIR}/tools/qt5/Qt5Bootstrap.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/Qt5Bootstrap.prl ${CURRENT_PACKAGES_DIR}/tools/qt5/Qt5Bootstrap.prl) - #--------------------------------------------------------------------------- -endif() - -file(GLOB_RECURSE PRL_FILES "${CURRENT_PACKAGES_DIR}/lib/*.prl" "${CURRENT_PACKAGES_DIR}/debug/lib/*.prl") -file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/lib" CMAKE_RELEASE_LIB_PATH) -file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib" CMAKE_DEBUG_LIB_PATH) -foreach(PRL_FILE IN LISTS PRL_FILES) - file(READ "${PRL_FILE}" _contents) - string(REPLACE "${CMAKE_RELEASE_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}") - string(REPLACE "${CMAKE_DEBUG_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}") - file(WRITE "${PRL_FILE}" "${_contents}") -endforeach() - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/qtdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/plugins) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/qtdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/debug/plugins) - -file(INSTALL ${SOURCE_PATH}/LICENSE.LGPLv3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +include(vcpkg_common_functions)
+
+string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH)
+if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32)
+ message(WARNING "Qt5's buildsystem uses very long paths and may fail on your system.\n"
+ "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command."
+ )
+endif()
+
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
+include(configure_qt)
+include(install_qt)
+
+set(MAJOR_MINOR 5.12)
+set(FULL_VERSION ${MAJOR_MINOR}.1)
+set(ARCHIVE_NAME "qtbase-everywhere-src-${FULL_VERSION}.tar.xz")
+
+vcpkg_download_distfile(ARCHIVE_FILE
+ URLS "http://download.qt.io/official_releases/qt/${MAJOR_MINOR}/${FULL_VERSION}/submodules/${ARCHIVE_NAME}"
+ FILENAME ${ARCHIVE_NAME}
+ SHA512 51494d8947ae16ab7aee22aca156035718f5a700737547de59b4d61d3919c00f4de858111c8928a66c0385604623d847d231892d964d53924a8c97b6e2bedf25
+)
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE "${ARCHIVE_FILE}"
+ REF ${FULL_VERSION}
+ PATCHES
+ fix-gui-configure-json.patch
+)
+
+# Remove vendored dependencies to ensure they are not picked up by the build
+foreach(DEPENDENCY freetype zlib harfbuzzng libjpeg libpng double-conversion sqlite)
+ if(EXISTS ${SOURCE_PATH}/src/3rdparty/${DEPENDENCY})
+ file(REMOVE_RECURSE ${SOURCE_PATH}/src/3rdparty/${DEPENDENCY})
+ endif()
+endforeach()
+
+file(REMOVE_RECURSE ${SOURCE_PATH}/include/QtZlib)
+
+# This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings
+set(ENV{_CL_} "/utf-8")
+
+set(CORE_OPTIONS
+ -confirm-license
+ -opensource
+ -system-zlib
+ -system-libjpeg
+ -system-libpng
+ -system-freetype
+ -system-pcre
+ -system-harfbuzz
+ -system-doubleconversion
+ -system-sqlite
+ -no-fontconfig
+ -nomake examples
+ -nomake tests
+)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ list(APPEND CORE_OPTIONS
+ -static
+ )
+endif()
+
+if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ set(PLATFORM "win32-msvc")
+
+ configure_qt(
+ SOURCE_PATH ${SOURCE_PATH}
+ PLATFORM ${PLATFORM}
+ OPTIONS
+ ${CORE_OPTIONS}
+ -mp
+ -opengl desktop # other options are "-no-opengl", "-opengl angle", and "-opengl desktop"
+ OPTIONS_RELEASE
+ LIBJPEG_LIBS="-ljpeg"
+ ZLIB_LIBS="-lzlib"
+ LIBPNG_LIBS="-llibpng16"
+ PSQL_LIBS="-llibpq"
+ PCRE2_LIBS="-lpcre2-16"
+ FREETYPE_LIBS="-lfreetype"
+ OPTIONS_DEBUG
+ LIBJPEG_LIBS="-ljpegd"
+ ZLIB_LIBS="-lzlibd"
+ LIBPNG_LIBS="-llibpng16d"
+ PSQL_LIBS="-llibpqd"
+ PCRE2_LIBS="-lpcre2-16d"
+ FREETYPE_LIBS="-lfreetyped"
+ )
+
+elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ configure_qt(
+ SOURCE_PATH ${SOURCE_PATH}
+ PLATFORM "linux-g++"
+ OPTIONS
+ ${CORE_OPTIONS}
+ OPTIONS_RELEASE
+ "LIBJPEG_LIBS=${CURRENT_INSTALLED_DIR}/lib/libjpeg.a"
+ "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/lib/libpng16.a"
+ "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/lib/libz.a"
+ "ZLIB_LIBS=${CURRENT_INSTALLED_DIR}/lib/libz.a"
+ "LIBPNG_LIBS=${CURRENT_INSTALLED_DIR}/lib/libpng16.a"
+ "FREETYPE_LIBS=${CURRENT_INSTALLED_DIR}/lib/libfreetype.a"
+ "PSQL_LIBS=${CURRENT_INSTALLED_DIR}/lib/libpq.a ${CURRENT_INSTALLED_DIR}/lib/libssl.a ${CURRENT_INSTALLED_DIR}/lib/libcrypto.a -ldl -lpthread"
+ "SQLITE_LIBS=${CURRENT_INSTALLED_DIR}/lib/libsqlite3.a -ldl -lpthread"
+ OPTIONS_DEBUG
+ "LIBJPEG_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libjpeg.a"
+ "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.a"
+ "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/debug/lib/libz.a"
+ "ZLIB_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libz.a"
+ "LIBPNG_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.a"
+ "FREETYPE_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libfreetyped.a"
+ "PSQL_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libpqd.a ${CURRENT_INSTALLED_DIR}/debug/lib/libssl.a ${CURRENT_INSTALLED_DIR}/debug/lib/libcrypto.a -ldl -lpthread"
+ "SQLITE_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libsqlite3.a -ldl -lpthread"
+ )
+endif()
+
+install_qt()
+
+file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake)
+
+file(GLOB BINARY_TOOLS "${CURRENT_PACKAGES_DIR}/bin/*")
+list(FILTER BINARY_TOOLS EXCLUDE REGEX "\\.dll\$")
+file(INSTALL ${BINARY_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5)
+file(REMOVE ${BINARY_TOOLS})
+file(GLOB BINARY_TOOLS "${CURRENT_PACKAGES_DIR}/debug/bin/*")
+list(FILTER BINARY_TOOLS EXCLUDE REGEX "\\.dll\$")
+file(REMOVE ${BINARY_TOOLS})
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/tools")
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
+endif()
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/qt_debug.conf ${CMAKE_CURRENT_LIST_DIR}/qt_release.conf DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5)
+
+vcpkg_execute_required_process(
+ COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py
+ WORKING_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/cmake
+ LOGNAME fix-cmake
+)
+
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/qt5)
+
+if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/qtmain.lib)
+ #---------------------------------------------------------------------------
+ # qtmain(d) vs. Qt5AxServer(d)
+ #---------------------------------------------------------------------------
+ # Qt applications have to either link to qtmain(d) or to Qt5AxServer(d),
+ # never both. See http://doc.qt.io/qt-5/activeqt-server.html for more info.
+ #
+ # Create manual-link folders:
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+ #
+ # Either have users explicitly link against qtmain.lib, qtmaind.lib:
+ file(COPY ${CURRENT_PACKAGES_DIR}/lib/qtmain.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+ file(COPY ${CURRENT_PACKAGES_DIR}/lib/qtmain.prl DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/qtmain.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/qtmain.prl)
+ file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+ file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.prl DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.prl)
+
+ #---------------------------------------------------------------------------
+ # Qt5Bootstrap: only used to bootstrap qmake dependencies
+ #---------------------------------------------------------------------------
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5Bootstrap.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5Bootstrap.prl)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/Qt5Bootstrap.lib ${CURRENT_PACKAGES_DIR}/tools/qt5/Qt5Bootstrap.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/Qt5Bootstrap.prl ${CURRENT_PACKAGES_DIR}/tools/qt5/Qt5Bootstrap.prl)
+ #---------------------------------------------------------------------------
+endif()
+
+file(GLOB_RECURSE PRL_FILES "${CURRENT_PACKAGES_DIR}/lib/*.prl" "${CURRENT_PACKAGES_DIR}/debug/lib/*.prl")
+file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/lib" CMAKE_RELEASE_LIB_PATH)
+file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib" CMAKE_DEBUG_LIB_PATH)
+foreach(PRL_FILE IN LISTS PRL_FILES)
+ file(READ "${PRL_FILE}" _contents)
+ string(REPLACE "${CMAKE_RELEASE_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}")
+ string(REPLACE "${CMAKE_DEBUG_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}")
+ file(WRITE "${PRL_FILE}" "${_contents}")
+endforeach()
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/qtdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/plugins)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/qtdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/debug/plugins)
+
+file(INSTALL ${SOURCE_PATH}/LICENSE.LGPLv3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/qt5-base/qtdeploy.ps1 b/ports/qt5-base/qtdeploy.ps1 index 2161f69c8..c751e891e 100644 --- a/ports/qt5-base/qtdeploy.ps1 +++ b/ports/qt5-base/qtdeploy.ps1 @@ -41,6 +41,7 @@ function deployPluginsIfQt([string]$targetBinaryDir, [string]$QtPluginsDir, [str deployPlugins "imageformats" deployPlugins "iconengines" deployPlugins "platforminputcontexts" + deployPlugins "styles" } elseif ($targetBinaryName -match "Qt5Networkd?.dll") { deployPlugins "bearer" if (Test-Path "$binDir\libeay32.dll") |
