aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaurice Kalinowski <mauricek@users.noreply.github.com>2019-04-15 14:00:14 +0200
committerGriffin Downs <35574547+grdowns@users.noreply.github.com>2019-04-15 05:00:14 -0700
commit60db384541ad9e0c65a8219d9628140692dc600a (patch)
treeb069732c8ea088600ae8b5a9e4843f583422e6a5
parente23e54ae4b6284da1a44cf29a7c255a0648e701d (diff)
downloadvcpkg-60db384541ad9e0c65a8219d9628140692dc600a.tar.gz
vcpkg-60db384541ad9e0c65a8219d9628140692dc600a.zip
Fix PATH modification on Linux/Mac (#6083)
* Fix lineendings Some files were checked in as always CRLF. * [qt5-base] Fix path separators on non Windows (fixes #5246) Use vcpkg_add_to_path instead of cmake environment manipulation.
-rw-r--r--ports/qt5-base/CONTROL8
-rw-r--r--ports/qt5-base/configure_qt.cmake2
-rw-r--r--ports/qt5-base/install_qt.cmake9
-rw-r--r--ports/qt5-base/portfile.cmake446
-rw-r--r--ports/qt5-base/vcpkg-cmake-wrapper.cmake132
5 files changed, 299 insertions, 298 deletions
diff --git a/ports/qt5-base/CONTROL b/ports/qt5-base/CONTROL
index 7574d011d..8bdf69050 100644
--- a/ports/qt5-base/CONTROL
+++ b/ports/qt5-base/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-base
-Version: 5.12.1-4
-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
+Source: qt5-base
+Version: 5.12.1-5
+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/configure_qt.cmake b/ports/qt5-base/configure_qt.cmake
index 332c003ec..5d72fb8aa 100644
--- a/ports/qt5-base/configure_qt.cmake
+++ b/ports/qt5-base/configure_qt.cmake
@@ -9,7 +9,7 @@ function(configure_qt)
get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY)
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
- set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH}")
+ vcpkg_add_to_path("${PERL_EXE_PATH}")
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
list(APPEND _csc_OPTIONS "-static")
diff --git a/ports/qt5-base/install_qt.cmake b/ports/qt5-base/install_qt.cmake
index 482802f38..443a6b548 100644
--- a/ports/qt5-base/install_qt.cmake
+++ b/ports/qt5-base/install_qt.cmake
@@ -25,11 +25,11 @@ function(install_qt)
endif()
vcpkg_find_acquire_program(PYTHON3)
get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY)
- set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}")
+ vcpkg_add_to_path(PREPEND "${PYTHON3_EXE_PATH}")
set(_path "$ENV{PATH}")
message(STATUS "Package ${TARGET_TRIPLET}-dbg")
- set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/debug/bin;${_path}")
+ vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/debug/bin")
vcpkg_execute_required_process(
COMMAND ${INVOKE}
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
@@ -43,7 +43,8 @@ function(install_qt)
message(STATUS "Package ${TARGET_TRIPLET}-dbg done")
message(STATUS "Package ${TARGET_TRIPLET}-rel")
- set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/bin;${_path}")
+ set(ENV{PATH} "${_path}")
+ vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/bin")
vcpkg_execute_required_process(
COMMAND ${INVOKE}
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
@@ -58,4 +59,4 @@ function(install_qt)
set(ENV{PATH} "${_path}")
-endfunction() \ No newline at end of file
+endfunction()
diff --git a/ports/qt5-base/portfile.cmake b/ports/qt5-base/portfile.cmake
index 4b8869196..87019ead6 100644
--- a/ports/qt5-base/portfile.cmake
+++ b/ports/qt5-base/portfile.cmake
@@ -1,224 +1,224 @@
-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-doubleconversion
- -system-sqlite
- -system-harfbuzz
- -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"
- )
-
-elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
-configure_qt(
- SOURCE_PATH ${SOURCE_PATH}
- PLATFORM "macx-clang"
- 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"
- "HARFBUZZ_LIBS=${CURRENT_INSTALLED_DIR}/lib/libharfbuzz.a -framework ApplicationServices"
- 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"
- "HARFBUZZ_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libharfbuzz.a -framework ApplicationServices"
-)
-endif()
-
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
- install_qt(DISABLE_PARALLEL) # prevent race condition on Mac
-else()
- install_qt()
-endif()
-
-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})
-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(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5core)
-
-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-doubleconversion
+ -system-sqlite
+ -system-harfbuzz
+ -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"
+ )
+
+elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+configure_qt(
+ SOURCE_PATH ${SOURCE_PATH}
+ PLATFORM "macx-clang"
+ 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"
+ "HARFBUZZ_LIBS=${CURRENT_INSTALLED_DIR}/lib/libharfbuzz.a -framework ApplicationServices"
+ 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"
+ "HARFBUZZ_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libharfbuzz.a -framework ApplicationServices"
+)
+endif()
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ install_qt(DISABLE_PARALLEL) # prevent race condition on Mac
+else()
+ install_qt()
+endif()
+
+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})
+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(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5core)
+
+file(INSTALL ${SOURCE_PATH}/LICENSE.LGPLv3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
# \ No newline at end of file
diff --git a/ports/qt5-base/vcpkg-cmake-wrapper.cmake b/ports/qt5-base/vcpkg-cmake-wrapper.cmake
index 6b5727755..7f3e7df2f 100644
--- a/ports/qt5-base/vcpkg-cmake-wrapper.cmake
+++ b/ports/qt5-base/vcpkg-cmake-wrapper.cmake
@@ -1,66 +1,66 @@
-_find_package(${ARGS})
-
-function(add_qt_library _target)
- foreach(_lib IN LISTS ARGN)
- find_library(${_lib}_LIBRARY_DEBUG NAMES ${_lib}d PATH_SUFFIXES 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}>)
- endforeach()
-endfunction()
-
-get_target_property(_target_type Qt5::Core TYPE)
-if("${_target_type}" STREQUAL "STATIC_LIBRARY")
- find_package(ZLIB)
- find_package(JPEG)
- find_package(PNG)
- find_package(Freetype)
- find_package(sqlite3 CONFIG)
- find_package(PostgreSQL MODULE REQUIRED)
- find_package(double-conversion CONFIG)
- find_package(OpenSSL)
- find_package(harfbuzz CONFIG)
-
- set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_LINK_LIBRARIES
- ZLIB::ZLIB JPEG::JPEG PNG::PNG Freetype::Freetype sqlite3 harfbuzz::harfbuzz
- ${PostgreSQL_LIBRARY} double-conversion::double-conversion OpenSSL::SSL OpenSSL::Crypto
- )
-
- add_qt_library(Qt5::Core
- pcre2-16
- Qt5ThemeSupport
- Qt5EventDispatcherSupport
- Qt5PlatformCompositorSupport
- Qt5FontDatabaseSupport)
-
- if(MSVC)
- set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_LINK_LIBRARIES
- 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(APPLE)
- set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_LINK_LIBRARIES
- "-weak_framework DiskArbitration" "-weak_framework IOKit" "-weak_framework Foundation" "-weak_framework CoreServices"
- "-weak_framework AppKit" "-weak_framework Security" "-weak_framework ApplicationServices"
- "-weak_framework CoreFoundation" "-weak_framework SystemConfiguration"
- "-weak_framework Carbon"
- "-weak_framework QuartzCore"
- "-weak_framework CoreVideo"
- "-weak_framework Metal"
- "-weak_framework CoreText"
- "-weak_framework ApplicationServices"
- "-weak_framework CoreGraphics"
- "-weak_framework OpenGL"
- "-weak_framework AGL"
- "-weak_framework ImageIO"
- "z" "m"
- cups)
- add_qt_library(Qt5::Core
- Qt5GraphicsSupport
- Qt5ClipboardSupport
- Qt5AccessibilitySupport
- qcocoa)
- endif()
-
-endif()
+_find_package(${ARGS})
+
+function(add_qt_library _target)
+ foreach(_lib IN LISTS ARGN)
+ find_library(${_lib}_LIBRARY_DEBUG NAMES ${_lib}d PATH_SUFFIXES 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}>)
+ endforeach()
+endfunction()
+
+get_target_property(_target_type Qt5::Core TYPE)
+if("${_target_type}" STREQUAL "STATIC_LIBRARY")
+ find_package(ZLIB)
+ find_package(JPEG)
+ find_package(PNG)
+ find_package(Freetype)
+ find_package(sqlite3 CONFIG)
+ find_package(PostgreSQL MODULE REQUIRED)
+ find_package(double-conversion CONFIG)
+ find_package(OpenSSL)
+ find_package(harfbuzz CONFIG)
+
+ set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_LINK_LIBRARIES
+ ZLIB::ZLIB JPEG::JPEG PNG::PNG Freetype::Freetype sqlite3 harfbuzz::harfbuzz
+ ${PostgreSQL_LIBRARY} double-conversion::double-conversion OpenSSL::SSL OpenSSL::Crypto
+ )
+
+ add_qt_library(Qt5::Core
+ pcre2-16
+ Qt5ThemeSupport
+ Qt5EventDispatcherSupport
+ Qt5PlatformCompositorSupport
+ Qt5FontDatabaseSupport)
+
+ if(MSVC)
+ set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_LINK_LIBRARIES
+ 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(APPLE)
+ set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_LINK_LIBRARIES
+ "-weak_framework DiskArbitration" "-weak_framework IOKit" "-weak_framework Foundation" "-weak_framework CoreServices"
+ "-weak_framework AppKit" "-weak_framework Security" "-weak_framework ApplicationServices"
+ "-weak_framework CoreFoundation" "-weak_framework SystemConfiguration"
+ "-weak_framework Carbon"
+ "-weak_framework QuartzCore"
+ "-weak_framework CoreVideo"
+ "-weak_framework Metal"
+ "-weak_framework CoreText"
+ "-weak_framework ApplicationServices"
+ "-weak_framework CoreGraphics"
+ "-weak_framework OpenGL"
+ "-weak_framework AGL"
+ "-weak_framework ImageIO"
+ "z" "m"
+ cups)
+ add_qt_library(Qt5::Core
+ Qt5GraphicsSupport
+ Qt5ClipboardSupport
+ Qt5AccessibilitySupport
+ qcocoa)
+ endif()
+
+endif()