mirror of
https://github.com/qgis/QGIS.git
synced 2025-12-05 00:04:40 -05:00
bump vcpkg
Python 3.12 and more
This commit is contained in:
parent
8059f9b23d
commit
5fd8d6d898
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,6 +4,7 @@
|
||||
*.aux
|
||||
*.bak
|
||||
*.diff
|
||||
!vcpkg/**/*.diff
|
||||
*.gpkg-shm
|
||||
*.gpkg-wal
|
||||
*.log*
|
||||
|
||||
13
vcpkg/ports/libxml2/cxx-for-icu.diff
Normal file
13
vcpkg/ports/libxml2/cxx-for-icu.diff
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 2af1e6f..a2c134c 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -10,7 +10,7 @@ foreach(line ${CONFIGURE_AC_LINES})
|
||||
endforeach()
|
||||
set(VERSION "${LIBXML_MAJOR_VERSION}.${LIBXML_MINOR_VERSION}.${LIBXML_MICRO_VERSION}")
|
||||
|
||||
-project(libxml2 VERSION ${VERSION} LANGUAGES C)
|
||||
+project(libxml2 VERSION ${VERSION} LANGUAGES C CXX)
|
||||
|
||||
include(CheckCSourceCompiles)
|
||||
include(CheckFunctionExists)
|
||||
22
vcpkg/ports/libxml2/disable-docs.patch
Normal file
22
vcpkg/ports/libxml2/disable-docs.patch
Normal file
@ -0,0 +1,22 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index f99fd368..38dcd377 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -586,17 +586,6 @@ if(LIBXML2_WITH_PYTHON)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml2.py DESTINATION ${LIBXML2_PYTHON_INSTALL_DIR} COMPONENT runtime)
|
||||
endif()
|
||||
|
||||
-install(FILES doc/xml2-config.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation)
|
||||
-install(FILES doc/xmlcatalog.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation)
|
||||
-install(FILES doc/xmllint.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation)
|
||||
-install(DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT documentation
|
||||
- PATTERN "Makefile.*" EXCLUDE
|
||||
- PATTERN "*.1" EXCLUDE
|
||||
- PATTERN "*.py" EXCLUDE
|
||||
- PATTERN "*.res" EXCLUDE
|
||||
- PATTERN "*.xml" EXCLUDE
|
||||
- PATTERN "*.xsl" EXCLUDE)
|
||||
-
|
||||
configure_package_config_file(
|
||||
libxml2-config.cmake.cmake.in libxml2-config.cmake
|
||||
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${PROJECT_VERSION}
|
||||
34
vcpkg/ports/libxml2/fix_cmakelist.patch
Normal file
34
vcpkg/ports/libxml2/fix_cmakelist.patch
Normal file
@ -0,0 +1,34 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index f99fd368..3246a42c 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -438,7 +438,7 @@ set_target_properties(
|
||||
SOVERSION ${LIBXML_MAJOR_VERSION}
|
||||
)
|
||||
|
||||
-if(MSVC)
|
||||
+if(0)
|
||||
if(BUILD_SHARED_LIBS)
|
||||
set_target_properties(
|
||||
LibXml2
|
||||
@@ -653,7 +653,11 @@ list(JOIN XML_PRIVATE_LIBS " " XML_PRIVATE_LIBS)
|
||||
|
||||
set(XML_INCLUDEDIR "-I\${includedir}/libxml2")
|
||||
set(XML_LIBDIR "-L\${libdir}")
|
||||
+if(NOT MSVC)
|
||||
set(XML_LIBS "-lxml2")
|
||||
+else()
|
||||
+set(XML_LIBS "-llibxml2")
|
||||
+endif()
|
||||
|
||||
if(BUILD_SHARED_LIBS)
|
||||
set(XML_PC_PRIVATE ".private")
|
||||
@@ -679,7 +683,7 @@ set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
configure_file(libxml-2.0.pc.in libxml-2.0.pc @ONLY)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml-2.0.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT development)
|
||||
|
||||
-if(WIN32)
|
||||
+if(1)
|
||||
set(prefix "\$(cd \"\$(dirname \"\$0\")\"; pwd -P)/..")
|
||||
endif()
|
||||
configure_file(xml2-config.in xml2-config @ONLY)
|
||||
98
vcpkg/ports/libxml2/fix_ios_compilation.patch
Normal file
98
vcpkg/ports/libxml2/fix_ios_compilation.patch
Normal file
@ -0,0 +1,98 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index a48dbbfe..9f51cf6e 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -136,7 +136,12 @@ if (NOT MSVC)
|
||||
check_include_files(fcntl.h HAVE_FCNTL_H)
|
||||
check_function_exists(fpclass HAVE_FPCLASS)
|
||||
check_function_exists(ftime HAVE_FTIME)
|
||||
- check_function_exists(getentropy HAVE_GETENTROPY)
|
||||
+ if (APPLE)
|
||||
+ # In old macOS SDKs (ex: 10.15), sys/random.h fails to include header files it needs, so add them here.
|
||||
+ check_symbol_exists(getentropy "Availability.h;stddef.h;sys/random.h" HAVE_GETENTROPY)
|
||||
+ else()
|
||||
+ check_symbol_exists(getentropy sys/random.h HAVE_GETENTROPY)
|
||||
+ endif()
|
||||
check_function_exists(gettimeofday HAVE_GETTIMEOFDAY)
|
||||
check_library_exists(history append_history "" HAVE_LIBHISTORY)
|
||||
check_library_exists(readline readline "" HAVE_LIBREADLINE)
|
||||
@@ -149,12 +154,6 @@ if (NOT MSVC)
|
||||
check_function_exists(stat HAVE_STAT)
|
||||
check_include_files(stdint.h HAVE_STDINT_H)
|
||||
check_include_files(sys/mman.h HAVE_SYS_MMAN_H)
|
||||
- if (APPLE)
|
||||
- # In old macOS SDKs (ex: 10.15), sys/random.h fails to include header files it needs, so add them here.
|
||||
- check_include_files("Availability.h;stddef.h;sys/random.h" HAVE_SYS_RANDOM_H)
|
||||
- else()
|
||||
- check_include_files(sys/random.h HAVE_SYS_RANDOM_H)
|
||||
- endif()
|
||||
check_include_files(sys/select.h HAVE_SYS_SELECT_H)
|
||||
check_include_files(sys/socket.h HAVE_SYS_SOCKET_H)
|
||||
check_include_files(sys/stat.h HAVE_SYS_STAT_H)
|
||||
diff --git a/config.h.cmake.in b/config.h.cmake.in
|
||||
index 2f4aeba3..36c068fd 100644
|
||||
--- a/config.h.cmake.in
|
||||
+++ b/config.h.cmake.in
|
||||
@@ -69,9 +69,6 @@
|
||||
/* Define to 1 if you have the <sys/mman.h> header file. */
|
||||
#cmakedefine HAVE_SYS_MMAN_H 1
|
||||
|
||||
-/* Define to 1 if you have the <sys/random.h> header file. */
|
||||
-#cmakedefine HAVE_SYS_RANDOM_H 1
|
||||
-
|
||||
/* Define to 1 if you have the <sys/select.h> header file. */
|
||||
#cmakedefine HAVE_SYS_SELECT_H 1
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 478bb4eb..ad49a9ac 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -305,7 +305,6 @@ AC_CHECK_HEADERS([stdint.h])
|
||||
AC_CHECK_HEADERS([fcntl.h unistd.h sys/stat.h])
|
||||
AC_CHECK_HEADERS([sys/mman.h])
|
||||
AC_CHECK_HEADERS([sys/time.h sys/timeb.h])
|
||||
-AC_CHECK_HEADERS([sys/random.h])
|
||||
AC_CHECK_HEADERS([dl.h dlfcn.h])
|
||||
AC_CHECK_HEADERS([glob.h])
|
||||
AM_CONDITIONAL(WITH_GLOB, test "$ac_cv_header_glob_h" = "yes")
|
||||
@@ -318,9 +317,7 @@ AH_VERBATIM([HAVE_MUNMAP_AFTER],[/* mmap() is no good without munmap() */
|
||||
# undef /**/ HAVE_MMAP
|
||||
#endif])
|
||||
|
||||
-AC_CHECK_DECL([getentropy],
|
||||
- [AC_DEFINE([HAVE_GETENTROPY], [1], [getentropy])], [],
|
||||
- [#include <sys/random.h>])
|
||||
+AC_CHECK_DECLS([getentropy], [], [], [#include <sys/random.h>])
|
||||
|
||||
dnl
|
||||
dnl Checks for inet libraries
|
||||
diff --git a/dict.c b/dict.c
|
||||
index a238cd9d..ce501cb5 100644
|
||||
--- a/dict.c
|
||||
+++ b/dict.c
|
||||
@@ -929,13 +929,11 @@ xmlDictQLookup(xmlDictPtr dict, const xmlChar *prefix, const xmlChar *name) {
|
||||
#include <windows.h>
|
||||
#include <bcrypt.h>
|
||||
#else
|
||||
- #if defined(HAVE_GETENTROPY)
|
||||
+ #if HAVE_GETENTROPY
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
- #ifdef HAVE_SYS_RANDOM_H
|
||||
- #include <sys/random.h>
|
||||
- #endif
|
||||
+ #include <sys/random.h>
|
||||
#endif
|
||||
#include <time.h>
|
||||
#endif
|
||||
@@ -969,7 +967,7 @@ xmlInitRandom(void) {
|
||||
#else
|
||||
int var;
|
||||
|
||||
-#if defined(HAVE_GETENTROPY)
|
||||
+#if HAVE_GETENTROPY
|
||||
while (1) {
|
||||
if (getentropy(globalRngState, sizeof(globalRngState)) == 0)
|
||||
return;
|
||||
|
||||
95
vcpkg/ports/libxml2/portfile.cmake
Normal file
95
vcpkg/ports/libxml2/portfile.cmake
Normal file
@ -0,0 +1,95 @@
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO GNOME/libxml2
|
||||
REF "v${VERSION}"
|
||||
SHA512 6d32311feda4b415f50236dbc1b982094fafe46f86bb3f2ad21365183bd7e9011d00e12c0c23827daf851022a20c99f7cc646e5957a10946300bdc836f91f924
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
cxx-for-icu.diff
|
||||
disable-docs.patch
|
||||
fix_cmakelist.patch
|
||||
fix_ios_compilation.patch
|
||||
)
|
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||
FEATURES
|
||||
"ftp" LIBXML2_WITH_FTP
|
||||
"http" LIBXML2_WITH_HTTP
|
||||
"iconv" LIBXML2_WITH_ICONV
|
||||
"legacy" LIBXML2_WITH_LEGACY
|
||||
"lzma" LIBXML2_WITH_LZMA
|
||||
"zlib" LIBXML2_WITH_ZLIB
|
||||
"tools" LIBXML2_WITH_PROGRAMS
|
||||
"icu" LIBXML2_WITH_ICU
|
||||
)
|
||||
|
||||
vcpkg_find_acquire_program(PKGCONFIG)
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
${FEATURE_OPTIONS}
|
||||
-DLIBXML2_WITH_TESTS=OFF
|
||||
-DLIBXML2_WITH_HTML=ON
|
||||
-DLIBXML2_WITH_C14N=ON
|
||||
-DLIBXML2_WITH_CATALOG=ON
|
||||
-DLIBXML2_WITH_DEBUG=ON
|
||||
-DLIBXML2_WITH_ISO8859X=ON
|
||||
-DLIBXML2_WITH_MODULES=ON
|
||||
-DLIBXML2_WITH_OUTPUT=ON
|
||||
-DLIBXML2_WITH_PATTERN=ON
|
||||
-DLIBXML2_WITH_PUSH=ON
|
||||
-DLIBXML2_WITH_PYTHON=OFF
|
||||
-DLIBXML2_WITH_READER=ON
|
||||
-DLIBXML2_WITH_REGEXPS=ON
|
||||
-DLIBXML2_WITH_SAX1=ON
|
||||
-DLIBXML2_WITH_SCHEMAS=ON
|
||||
-DLIBXML2_WITH_SCHEMATRON=ON
|
||||
-DLIBXML2_WITH_THREADS=ON
|
||||
-DLIBXML2_WITH_THREAD_ALLOC=OFF
|
||||
-DLIBXML2_WITH_TREE=ON
|
||||
-DLIBXML2_WITH_VALID=ON
|
||||
-DLIBXML2_WITH_WRITER=ON
|
||||
-DLIBXML2_WITH_XINCLUDE=ON
|
||||
-DLIBXML2_WITH_XPATH=ON
|
||||
-DLIBXML2_WITH_XPTR=ON
|
||||
"-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}"
|
||||
OPTIONS_DEBUG
|
||||
-DLIBXML2_WITH_PROGRAMS=OFF
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
|
||||
vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/libxml2-${VERSION}")
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
if("tools" IN_LIST FEATURES)
|
||||
vcpkg_copy_tools(TOOL_NAMES xmllint xmlcatalog AUTO_CLEAN)
|
||||
endif()
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
|
||||
endif()
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
|
||||
set(_file "${CURRENT_PACKAGES_DIR}/include/libxml2/libxml/xmlexports.h")
|
||||
file(READ "${_file}" _contents)
|
||||
string(REPLACE "#ifdef LIBXML_STATIC" "#undef LIBXML_STATIC\n#define LIBXML_STATIC\n#ifdef LIBXML_STATIC" _contents "${_contents}")
|
||||
file(WRITE "${_file}" "${_contents}")
|
||||
endif()
|
||||
|
||||
file(COPY "${CURRENT_PACKAGES_DIR}/include/libxml2/" DESTINATION "${CURRENT_PACKAGES_DIR}/include") # TODO: Fix usage in all dependent ports hardcoding the wrong include path.
|
||||
|
||||
# Cleanup
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/xml2Conf.sh" "${CURRENT_PACKAGES_DIR}/debug/lib/xml2Conf.sh")
|
||||
|
||||
file(COPY
|
||||
"${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake"
|
||||
"${CMAKE_CURRENT_LIST_DIR}/usage"
|
||||
DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}"
|
||||
)
|
||||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Copyright")
|
||||
4
vcpkg/ports/libxml2/usage
Normal file
4
vcpkg/ports/libxml2/usage
Normal file
@ -0,0 +1,4 @@
|
||||
The package libxml2 is compatible with built-in CMake targets:
|
||||
|
||||
find_package(LibXml2 REQUIRED)
|
||||
target_link_libraries(main PRIVATE LibXml2::LibXml2)
|
||||
3
vcpkg/ports/libxml2/vcpkg-cmake-wrapper.cmake
Normal file
3
vcpkg/ports/libxml2/vcpkg-cmake-wrapper.cmake
Normal file
@ -0,0 +1,3 @@
|
||||
list(REMOVE_ITEM ARGS "NO_MODULE" "CONFIG" "MODULE")
|
||||
_find_package(${ARGS} CONFIG)
|
||||
set(LIBXML2_FOUND "${LibXml2_FOUND}") # fphsa compatibility
|
||||
62
vcpkg/ports/libxml2/vcpkg.json
Normal file
62
vcpkg/ports/libxml2/vcpkg.json
Normal file
@ -0,0 +1,62 @@
|
||||
{
|
||||
"name": "libxml2",
|
||||
"version": "2.13.8",
|
||||
"port-version": 1,
|
||||
"description": "Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform).",
|
||||
"homepage": "https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home",
|
||||
"license": "MIT",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
],
|
||||
"default-features": [
|
||||
"iconv",
|
||||
"zlib"
|
||||
],
|
||||
"features": {
|
||||
"ftp": {
|
||||
"description": "Add the FTP support",
|
||||
"supports": "!uwp"
|
||||
},
|
||||
"http": {
|
||||
"description": "Add the HTTP support",
|
||||
"supports": "!uwp"
|
||||
},
|
||||
"iconv": {
|
||||
"description": "Add ICONV support",
|
||||
"dependencies": [
|
||||
"libiconv"
|
||||
]
|
||||
},
|
||||
"icu": {
|
||||
"description": "Add ICU support",
|
||||
"dependencies": [
|
||||
"icu"
|
||||
]
|
||||
},
|
||||
"legacy": {
|
||||
"description": "Add deprecated APIs for compatibility"
|
||||
},
|
||||
"lzma": {
|
||||
"description": "Use LZMA",
|
||||
"dependencies": [
|
||||
"liblzma"
|
||||
]
|
||||
},
|
||||
"tools": {
|
||||
"description": "Build tools"
|
||||
},
|
||||
"zlib": {
|
||||
"description": "Use ZLib",
|
||||
"dependencies": [
|
||||
"zlib"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,75 +0,0 @@
|
||||
diff --git a/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake b/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake
|
||||
index 24a194c..91c8e41 100644
|
||||
--- a/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake
|
||||
+++ b/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake
|
||||
@@ -95,6 +95,18 @@ find_library(GLIB2_GIO_LIBRARIES
|
||||
HINTS ${PC_GIO_LIBDIR}
|
||||
)
|
||||
|
||||
+pkg_check_modules(PC_GMODULE QUIET gmodule-2.0)
|
||||
+
|
||||
+find_path(GLIB2_GMODULE_INCLUDE_DIRS
|
||||
+ NAMES gmodule.h
|
||||
+ HINTS ${PC_GMODULE}
|
||||
+ PATH_SUFFIXES glib-2.0)
|
||||
+
|
||||
+find_library(GLIB2_GMODULE_LIBRARIES
|
||||
+ NAMES gmodule-2.0
|
||||
+ HINTS ${PC_GMODULE}
|
||||
+)
|
||||
+
|
||||
# search the glibconfig.h include dir under the same root where the library is found
|
||||
get_filename_component(glib2LibDir "${GLIB2_LIBRARIES}" PATH)
|
||||
|
||||
@@ -126,6 +138,11 @@ if(GLIB2_GIO_LIBRARIES AND GLIB2_GIO_INCLUDE_DIRS)
|
||||
set(GLIB2_GIO_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
+if(GLIB2_GMODULE_LIBRARIES AND GLIB2_GMODULE_INCLUDE_DIRS)
|
||||
+ set(GLIB2_GMODULE_FOUND TRUE)
|
||||
+endif()
|
||||
+
|
||||
+
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(GLIB2
|
||||
REQUIRED_VARS GLIB2_LIBRARIES GTHREAD2_LIBRARIES GLIB2_INCLUDE_DIRS
|
||||
@@ -137,6 +154,16 @@ if(GLIB2_FOUND AND NOT TARGET GLIB2::GLIB2)
|
||||
IMPORTED_LOCATION "${GLIB2_LIBRARIES}"
|
||||
INTERFACE_LINK_LIBRARIES "${GTHREAD2_LIBRARIES}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${GLIB2_INCLUDE_DIRS}")
|
||||
+ #vcpkg specific
|
||||
+ pkg_check_modules(PC_PCRE2_8BIT QUIET libpcre2-8)
|
||||
+ find_library(PCRE2_8BIT_LIBRARIES
|
||||
+ NAMES pcre2-8
|
||||
+ HINTS ${PC_PCRE2_8BIT}
|
||||
+ )
|
||||
+ target_link_libraries(GLIB2::GLIB2 INTERFACE ${PCRE2_8BIT_LIBRARIES})
|
||||
+ find_package(Iconv)
|
||||
+ find_package(Intl)
|
||||
+ target_link_libraries(GLIB2::GLIB2 INTERFACE Intl::Intl Iconv::Iconv)
|
||||
endif()
|
||||
|
||||
if(GLIB2_GOBJECT_FOUND AND NOT TARGET GLIB2::GOBJECT)
|
||||
@@ -153,12 +180,21 @@ if(GLIB2_GIO_FOUND AND NOT TARGET GLIB2::GIO)
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${GLIB2_GIO_INCLUDE_DIRS}")
|
||||
endif()
|
||||
|
||||
+if(GLIB2_GMODULE_FOUND AND NOT TARGET GLIB2::GMODULE)
|
||||
+ add_library(GLIB2::GMODULE UNKNOWN IMPORTED)
|
||||
+ set_target_properties(GLIB2::GMODULE PROPERTIES
|
||||
+ IMPORTED_LOCATION "${GLIB2_GMODULE_LIBRARIES}"
|
||||
+ INTERFACE_INCLUDE_DIRECTORIES "${GLIB2_GMODULE_INCLUDE_DIRS}")
|
||||
+endif()
|
||||
+
|
||||
+
|
||||
mark_as_advanced(GLIB2_INCLUDE_DIRS GLIB2_INCLUDE_DIR
|
||||
GLIB2_LIBRARIES GLIB2_LIBRARY
|
||||
GLIB2_GOBJECT_INCLUDE_DIRS GLIB2_GOBJECT_INCLUDE_DIR
|
||||
GLIB2_GOBJECT_LIBRARIES GLIB2_GOBJECT_LIBRARY
|
||||
GLIB2_GIO_INCLUDE_DIRS GLIB2_GIO_INCLUDE_DIR
|
||||
- GLIB2_GIO_LIBRARIES GLIB2_GIO_LIBRARY)
|
||||
+ GLIB2_GIO_LIBRARIES GLIB2_GIO_LIBRARY
|
||||
+ GLIB2_GMODULE_LIBRARIES GLIB2_GMODULE_INCLUDE_DIRS)
|
||||
|
||||
include(FeatureSummary)
|
||||
set_package_properties(GLIB2 PROPERTIES
|
||||
@ -1,17 +0,0 @@
|
||||
diff --git a/cmake/QtBuildPathsHelpers.cmake b/cmake/QtBuildPathsHelpers.cmake
|
||||
index bd186c28b..2c1994d2e 100644
|
||||
--- a/cmake/QtBuildPathsHelpers.cmake
|
||||
+++ b/cmake/QtBuildPathsHelpers.cmake
|
||||
@@ -141,11 +141,9 @@ function(qt_configure_process_path name default docstring)
|
||||
elseif(rel_path MATCHES "^\.\./")
|
||||
# INSTALL_SYSCONFDIR is allowed to be outside the prefix.
|
||||
if(NOT name STREQUAL "INSTALL_SYSCONFDIR")
|
||||
- message(FATAL_ERROR
|
||||
- "Path component '${name}' is outside computed install prefix: ${rel_path} ")
|
||||
endif()
|
||||
# Keep the absolute path.
|
||||
set(new_value "${${name}}")
|
||||
else()
|
||||
# Use the canonicalized path.
|
||||
set(new_value "${rel_path}")
|
||||
|
||||
@ -1,38 +0,0 @@
|
||||
diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h
|
||||
index e40cd85..ba68a01 100644
|
||||
--- a/src/corelib/kernel/qmetatype.h
|
||||
+++ b/src/corelib/kernel/qmetatype.h
|
||||
@@ -18,6 +18,7 @@
|
||||
#include <QtCore/qscopeguard.h>
|
||||
#include <QtCore/qttypetraits.h>
|
||||
|
||||
+#include <type_traits>
|
||||
#include <array>
|
||||
#include <new>
|
||||
#include <vector>
|
||||
@@ -826,7 +829,13 @@
|
||||
struct IsGadgetHelper { enum { IsRealGadget = false, IsGadgetOrDerivedFrom = false }; };
|
||||
|
||||
template<typename T>
|
||||
+#if defined(__clang__) && (__clang_major__ > 11)
|
||||
+ // Clang does not reject T::QtGadgetHelper as ambiguous if a class inherits from two QGADGETS
|
||||
+ // but is not a QGADGET itself
|
||||
+ struct IsGadgetHelper<T, std::void_t<typename T::QtGadgetHelper, decltype(&T::qt_check_for_QGADGET_macro)>>
|
||||
+#else
|
||||
struct IsGadgetHelper<T, typename T::QtGadgetHelper>
|
||||
+#endif
|
||||
{
|
||||
template <typename X>
|
||||
static char checkType(void (X::*)());
|
||||
@@ -841,7 +850,11 @@
|
||||
struct IsPointerToGadgetHelper { enum { IsRealGadget = false, IsGadgetOrDerivedFrom = false }; };
|
||||
|
||||
template<typename T>
|
||||
+#if defined(__clang__) && (__clang_major__ > 11)
|
||||
+ struct IsPointerToGadgetHelper<T*, std::void_t<typename T::QtGadgetHelper, decltype(&T::qt_check_for_QGADGET_macro)>>
|
||||
+#else
|
||||
struct IsPointerToGadgetHelper<T*, typename T::QtGadgetHelper>
|
||||
+#endif
|
||||
{
|
||||
using BaseType = T;
|
||||
template <typename X>
|
||||
@ -1,14 +0,0 @@
|
||||
diff --git a/src/corelib/kernel/qproperty.h b/src/corelib/kernel/qproperty.h
|
||||
index 823b2057b..4a8cd4fa8 100644
|
||||
--- a/src/corelib/kernel/qproperty.h
|
||||
+++ b/src/corelib/kernel/qproperty.h
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
#include <QtCore/qpropertyprivate.h>
|
||||
|
||||
-#if __has_include(<source_location>) && __cplusplus >= 202002L && !defined(Q_QDOC)
|
||||
+#if __has_include(<source_location>) && __cplusplus >= 202002L && !defined(Q_QDOC) && ( (defined(__cpp_consteval) && defined(_MSC_VER)) || !defined(_MSC_VER) )
|
||||
#include <source_location>
|
||||
#if defined(__cpp_lib_source_location)
|
||||
#define QT_SOURCE_LOCATION_NAMESPACE std
|
||||
#define QT_PROPERTY_COLLECT_BINDING_LOCATION
|
||||
@ -1,27 +0,0 @@
|
||||
include_guard(GLOBAL)
|
||||
|
||||
#Could probably be the beginning of a vcpkg_install_copyright?
|
||||
function(qt_install_copyright SOURCE_PATH)
|
||||
#Find the relevant license file and install it
|
||||
if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3")
|
||||
set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3")
|
||||
elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3")
|
||||
set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3")
|
||||
elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3")
|
||||
set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3")
|
||||
elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3")
|
||||
set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3")
|
||||
elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3-EXCEPT")
|
||||
set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3-EXCEPT")
|
||||
elseif(EXISTS "${SOURCE_PATH}/LICENSE.FDL")
|
||||
set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.FDL")
|
||||
endif()
|
||||
if(LICENSE_PATH)
|
||||
file(INSTALL "${LICENSE_PATH}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
elseif(EXISTS "${SOURCE_PATH}/LICENSES")
|
||||
file(GLOB LICENSES "${SOURCE_PATH}/LICENSES/*")
|
||||
vcpkg_install_copyright(FILE_LIST ${LICENSES})
|
||||
else()
|
||||
message(WARNING "No license/copyright file found!")
|
||||
endif()
|
||||
endfunction()
|
||||
@ -1,384 +0,0 @@
|
||||
include_guard(GLOBAL)
|
||||
|
||||
include("${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-cmake/vcpkg-port-config.cmake")
|
||||
include("${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-cmake-config/vcpkg-port-config.cmake")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/qt_install_copyright.cmake")
|
||||
|
||||
if(NOT DEFINED QT6_DIRECTORY_PREFIX)
|
||||
set(QT6_DIRECTORY_PREFIX "Qt6/")
|
||||
endif()
|
||||
|
||||
if(VCPKG_TARGET_IS_ANDROID)
|
||||
# ANDROID_HOME: canonical SDK environment variable
|
||||
# ANDROID_SDK_ROOT: legacy qtbase triplet variable
|
||||
if(NOT ANDROID_SDK_ROOT)
|
||||
if("$ENV{ANDROID_HOME}" STREQUAL "")
|
||||
message(FATAL_ERROR "${PORT} requires environment variable ANDROID_HOME to be set.")
|
||||
endif()
|
||||
set(ANDROID_SDK_ROOT "$ENV{ANDROID_HOME}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
function(qt_download_submodule_impl)
|
||||
cmake_parse_arguments(PARSE_ARGV 0 "_qarg" "" "SUBMODULE" "PATCHES")
|
||||
|
||||
if("${_qarg_SUBMODULE}" IN_LIST QT_FROM_QT_GIT)
|
||||
# qtinterfaceframework is not available in the release, so we fall back to a `git clone`.
|
||||
vcpkg_from_git(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
URL "https://code.qt.io/qt/${_qarg_SUBMODULE}.git"
|
||||
REF "${${_qarg_SUBMODULE}_REF}"
|
||||
PATCHES ${_qarg_PATCHES}
|
||||
)
|
||||
if(PORT STREQUAL "qttools") # Keep this for beta & rc's
|
||||
vcpkg_from_git(
|
||||
OUT_SOURCE_PATH SOURCE_PATH_QLITEHTML
|
||||
URL https://code.qt.io/playground/qlitehtml.git
|
||||
REF "${${PORT}_qlitehtml_REF}"
|
||||
FETCH_REF master
|
||||
HEAD_REF master
|
||||
)
|
||||
# port 'litehtml' is not in vcpkg!
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH_LITEHTML
|
||||
REPO litehtml/litehtml
|
||||
REF "${${PORT}_litehtml_REF}"
|
||||
SHA512 "${${PORT}_litehtml_HASH}"
|
||||
HEAD_REF master
|
||||
)
|
||||
file(COPY "${SOURCE_PATH_QLITEHTML}/" DESTINATION "${SOURCE_PATH}/src/assistant/qlitehtml")
|
||||
file(COPY "${SOURCE_PATH_LITEHTML}/" DESTINATION "${SOURCE_PATH}/src/assistant/qlitehtml/src/3rdparty/litehtml")
|
||||
elseif(PORT STREQUAL "qtwebengine")
|
||||
vcpkg_from_git(
|
||||
OUT_SOURCE_PATH SOURCE_PATH_WEBENGINE
|
||||
URL https://code.qt.io/qt/qtwebengine-chromium.git
|
||||
REF "${${PORT}_chromium_REF}"
|
||||
)
|
||||
if(NOT EXISTS "${SOURCE_PATH}/src/3rdparty/chromium")
|
||||
file(RENAME "${SOURCE_PATH_WEBENGINE}/chromium" "${SOURCE_PATH}/src/3rdparty/chromium")
|
||||
endif()
|
||||
if(NOT EXISTS "${SOURCE_PATH}/src/3rdparty/gn")
|
||||
file(RENAME "${SOURCE_PATH_WEBENGINE}/gn" "${SOURCE_PATH}/src/3rdparty/gn")
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
if(VCPKG_USE_HEAD_VERSION)
|
||||
set(sha512 SKIP_SHA512)
|
||||
elseif(NOT DEFINED "${_qarg_SUBMODULE}_HASH")
|
||||
message(FATAL_ERROR "No information for ${_qarg_SUBMODULE} -- add it to QT_PORTS and run qtbase in QT_UPDATE_VERSION mode first")
|
||||
else()
|
||||
set(sha512 SHA512 "${${_qarg_SUBMODULE}_HASH}")
|
||||
endif()
|
||||
|
||||
qt_get_url_filename("${_qarg_SUBMODULE}" urls filename)
|
||||
vcpkg_download_distfile(archive
|
||||
URLS ${urls}
|
||||
FILENAME "${filename}"
|
||||
${sha512}
|
||||
)
|
||||
vcpkg_extract_source_archive(
|
||||
SOURCE_PATH
|
||||
ARCHIVE "${archive}"
|
||||
PATCHES ${_qarg_PATCHES}
|
||||
)
|
||||
endif()
|
||||
set(SOURCE_PATH "${SOURCE_PATH}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function(qt_download_submodule)
|
||||
cmake_parse_arguments(PARSE_ARGV 0 "_qarg" "" "" "PATCHES")
|
||||
|
||||
qt_download_submodule_impl(SUBMODULE "${PORT}" PATCHES ${_qarg_PATCHES})
|
||||
|
||||
set(SOURCE_PATH "${SOURCE_PATH}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
|
||||
function(qt_cmake_configure)
|
||||
cmake_parse_arguments(PARSE_ARGV 0 "_qarg" "DISABLE_NINJA;DISABLE_PARALLEL_CONFIGURE"
|
||||
""
|
||||
"TOOL_NAMES;OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE;OPTIONS_MAYBE_UNUSED")
|
||||
|
||||
vcpkg_find_acquire_program(PERL) # Perl is probably required by all qt ports for syncqt
|
||||
get_filename_component(PERL_PATH ${PERL} DIRECTORY)
|
||||
vcpkg_add_to_path(${PERL_PATH})
|
||||
if(NOT PORT STREQUAL "qtwebengine" OR QT_IS_LATEST) # qtwebengine requires python2; since 6.3 python3
|
||||
vcpkg_find_acquire_program(PYTHON3) # Python is required by some qt ports
|
||||
get_filename_component(PYTHON3_PATH ${PYTHON3} DIRECTORY)
|
||||
vcpkg_add_to_path(${PYTHON3_PATH})
|
||||
endif()
|
||||
|
||||
if(NOT PORT MATCHES "^qtbase")
|
||||
list(APPEND _qarg_OPTIONS "-DQT_SYNCQT:PATH=${CURRENT_HOST_INSTALLED_DIR}/tools/Qt6/bin/syncqt.pl")
|
||||
endif()
|
||||
set(PERL_OPTION "-DHOST_PERL:PATH=${PERL}")
|
||||
|
||||
set(ninja_option "")
|
||||
if(_qarg_DISABLE_NINJA)
|
||||
set(ninja_option WINDOWS_USE_MSBUILD)
|
||||
endif()
|
||||
|
||||
set(disable_parallel "")
|
||||
if(_qarg_DISABLE_PARALLEL_CONFIGURE)
|
||||
set(disable_parallel DISABLE_PARALLEL_CONFIGURE)
|
||||
endif()
|
||||
|
||||
if(VCPKG_CROSSCOMPILING)
|
||||
list(APPEND _qarg_OPTIONS "-DQT_HOST_PATH=${CURRENT_HOST_INSTALLED_DIR}")
|
||||
list(APPEND _qarg_OPTIONS "-DQT_HOST_PATH_CMAKE_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share")
|
||||
endif()
|
||||
|
||||
# Disable warning for CMAKE_(REQUIRE|DISABLE)_FIND_PACKAGE_<packagename>
|
||||
string(REGEX MATCHALL "CMAKE_DISABLE_FIND_PACKAGE_[^:=]+" disabled_find_package "${_qarg_OPTIONS}")
|
||||
list(APPEND _qarg_OPTIONS_MAYBE_UNUSED ${disabled_find_package})
|
||||
|
||||
string(REGEX MATCHALL "CMAKE_REQUIRE_FIND_PACKAGE_[^:=]+(:BOOL)?=OFF" require_find_package "${_qarg_OPTIONS}")
|
||||
list(TRANSFORM require_find_package REPLACE "(:BOOL)?=OFF" "")
|
||||
list(APPEND _qarg_OPTIONS_MAYBE_UNUSED ${require_find_package})
|
||||
|
||||
# Disable unused warnings for disabled features. Qt might decide to not emit the feature variables if other features are deactivated.
|
||||
string(REGEX MATCHALL "(QT_)?FEATURE_[^:=]+(:BOOL)?=OFF" disabled_features "${_qarg_OPTIONS}")
|
||||
list(TRANSFORM disabled_features REPLACE "(:BOOL)?=OFF" "")
|
||||
list(APPEND _qarg_OPTIONS_MAYBE_UNUSED ${disabled_features})
|
||||
|
||||
list(APPEND _qarg_OPTIONS "-DQT_NO_FORCE_SET_CMAKE_BUILD_TYPE:BOOL=ON")
|
||||
|
||||
if(VCPKG_TARGET_IS_ANDROID)
|
||||
list(APPEND _qarg_OPTIONS "-DANDROID_SDK_ROOT=${ANDROID_SDK_ROOT}")
|
||||
endif()
|
||||
|
||||
if(NOT PORT MATCHES "qtbase")
|
||||
list(APPEND _qarg_OPTIONS "-DQT_MKSPECS_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share/Qt6/mkspecs")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED VCPKG_OSX_DEPLOYMENT_TARGET)
|
||||
list(APPEND _qarg_OPTIONS "-DCMAKE_OSX_DEPLOYMENT_TARGET=14")
|
||||
endif()
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
${ninja_option}
|
||||
${disable_parallel}
|
||||
OPTIONS
|
||||
-DQT_FORCE_WARN_APPLE_SDK_AND_XCODE_CHECK=ON
|
||||
-DQT_NO_FORCE_SET_CMAKE_BUILD_TYPE:BOOL=ON
|
||||
-DQT_USE_DEFAULT_CMAKE_OPTIMIZATION_FLAGS:BOOL=ON # We don't want Qt to mess with users toolchain settings.
|
||||
-DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON # Because Qt doesn't correctly scope find_package calls.
|
||||
#-DQT_HOST_PATH=<somepath> # For crosscompiling
|
||||
#-DQT_PLATFORM_DEFINITION_DIR=mkspecs/win32-msvc
|
||||
#-DQT_QMAKE_TARGET_MKSPEC=win32-msvc
|
||||
#-DQT_USE_CCACHE
|
||||
-DQT_BUILD_EXAMPLES:BOOL=OFF
|
||||
-DQT_BUILD_TESTS:BOOL=OFF
|
||||
-DQT_BUILD_BENCHMARKS:BOOL=OFF
|
||||
${PERL_OPTION}
|
||||
-DINSTALL_BINDIR:STRING=bin
|
||||
-DINSTALL_LIBEXECDIR:STRING=bin
|
||||
-DINSTALL_PLUGINSDIR:STRING=${qt_plugindir}
|
||||
-DINSTALL_QMLDIR:STRING=${qt_qmldir}
|
||||
${_qarg_OPTIONS}
|
||||
OPTIONS_RELEASE
|
||||
${_qarg_OPTIONS_RELEASE}
|
||||
-DINSTALL_DOCDIR:STRING=doc/${QT6_DIRECTORY_PREFIX}
|
||||
-DINSTALL_INCLUDEDIR:STRING=include/${QT6_DIRECTORY_PREFIX}
|
||||
-DINSTALL_DESCRIPTIONSDIR:STRING=share/Qt6/modules
|
||||
-DINSTALL_MKSPECSDIR:STRING=share/Qt6/mkspecs
|
||||
-DINSTALL_TRANSLATIONSDIR:STRING=translations/${QT6_DIRECTORY_PREFIX}
|
||||
OPTIONS_DEBUG
|
||||
# -DFEATURE_debug:BOOL=ON only needed by qtbase and auto detected?
|
||||
-DINSTALL_DOCDIR:STRING=../doc/${QT6_DIRECTORY_PREFIX}
|
||||
-DINSTALL_INCLUDEDIR:STRING=../include/${QT6_DIRECTORY_PREFIX}
|
||||
-DINSTALL_TRANSLATIONSDIR:STRING=../translations/${QT6_DIRECTORY_PREFIX}
|
||||
-DINSTALL_DESCRIPTIONSDIR:STRING=../share/Qt6/modules
|
||||
-DINSTALL_MKSPECSDIR:STRING=../share/Qt6/mkspecs
|
||||
${_qarg_OPTIONS_DEBUG}
|
||||
MAYBE_UNUSED_VARIABLES
|
||||
INSTALL_BINDIR
|
||||
INSTALL_DOCDIR
|
||||
INSTALL_LIBEXECDIR
|
||||
INSTALL_QMLDIR # No qml files
|
||||
INSTALL_TRANSLATIONSDIR # No translations
|
||||
INSTALL_PLUGINSDIR # No plugins
|
||||
INSTALL_DESCRIPTIONSDIR
|
||||
INSTALL_INCLUDEDIR
|
||||
HOST_PERL
|
||||
QT_SYNCQT
|
||||
QT_NO_FORCE_SET_CMAKE_BUILD_TYPE
|
||||
QT_FORCE_WARN_APPLE_SDK_AND_XCODE_CHECK
|
||||
${_qarg_OPTIONS_MAYBE_UNUSED}
|
||||
INPUT_bundled_xcb_xinput
|
||||
INPUT_freetype
|
||||
INPUT_harfbuzz
|
||||
INPUT_libjpeg
|
||||
INPUT_libmd4c
|
||||
INPUT_libpng
|
||||
INPUT_opengl
|
||||
INPUT_openssl
|
||||
INPUT_xcb
|
||||
INPUT_xkbcommon
|
||||
)
|
||||
foreach(suffix IN ITEMS dbg rel)
|
||||
if(EXISTS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${suffix}/config.summary")
|
||||
file(COPY_FILE
|
||||
"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${suffix}/config.summary"
|
||||
"${CURRENT_BUILDTREES_DIR}/config.summary-${TARGET_TRIPLET}-${suffix}.log"
|
||||
)
|
||||
endif()
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
function(qt_fix_prl_files)
|
||||
file(TO_CMAKE_PATH "${CURRENT_PACKAGES_DIR}/lib" package_dir)
|
||||
file(TO_CMAKE_PATH "${package_dir}/lib" lib_path)
|
||||
file(TO_CMAKE_PATH "${package_dir}/include/Qt6" include_path)
|
||||
file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}" install_prefix)
|
||||
file(GLOB_RECURSE prl_files "${CURRENT_PACKAGES_DIR}/*.prl" "${CURRENT_PACKAGES_DIR}/*.pri")
|
||||
foreach(prl_file IN LISTS prl_files)
|
||||
file(READ "${prl_file}" _contents)
|
||||
string(REPLACE "${lib_path}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}")
|
||||
string(REPLACE "${include_path}" "\$\$[QT_INSTALL_HEADERS]" _contents "${_contents}")
|
||||
string(REPLACE "${install_prefix}" "\$\$[QT_INSTALL_PREFIX]" _contents "${_contents}")
|
||||
string(REPLACE "[QT_INSTALL_PREFIX]/lib/objects-Debug" "[QT_INSTALL_LIBS]/objects-Debug" _contents "${_contents}")
|
||||
string(REPLACE "[QT_INSTALL_PREFIX]/Qt6/qml" "[QT_INSTALL_QML]" _contents "${_contents}")
|
||||
#Note: This only works without an extra if case since QT_INSTALL_PREFIX is the same for debug and release
|
||||
file(WRITE "${prl_file}" "${_contents}")
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
function(qt_fixup_and_cleanup)
|
||||
cmake_parse_arguments(PARSE_ARGV 0 "_qarg" ""
|
||||
""
|
||||
"TOOL_NAMES")
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
## Handle PRL files
|
||||
qt_fix_prl_files()
|
||||
|
||||
## Handle CMake files.
|
||||
set(COMPONENTS)
|
||||
file(GLOB COMPONENTS_OR_FILES LIST_DIRECTORIES true "${CURRENT_PACKAGES_DIR}/share/Qt6*")
|
||||
list(REMOVE_ITEM COMPONENTS_OR_FILES "${CURRENT_PACKAGES_DIR}/share/Qt6")
|
||||
foreach(_glob IN LISTS COMPONENTS_OR_FILES)
|
||||
if(IS_DIRECTORY "${_glob}")
|
||||
string(REPLACE "${CURRENT_PACKAGES_DIR}/share/Qt6" "" _component "${_glob}")
|
||||
debug_message("Adding cmake component: '${_component}'")
|
||||
list(APPEND COMPONENTS ${_component})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
foreach(_comp IN LISTS COMPONENTS)
|
||||
if(EXISTS "${CURRENT_PACKAGES_DIR}/share/Qt6${_comp}")
|
||||
vcpkg_cmake_config_fixup(PACKAGE_NAME "Qt6${_comp}" CONFIG_PATH "share/Qt6${_comp}" TOOLS_PATH "tools/Qt6/bin")
|
||||
# Would rather put it into share/cmake as before but the import_prefix correction in vcpkg_cmake_config_fixup is working against that.
|
||||
else()
|
||||
message(STATUS "WARNING: Qt component ${_comp} not found/built!")
|
||||
endif()
|
||||
endforeach()
|
||||
#fix debug plugin paths (should probably be fixed in vcpkg_cmake_config_fixup)
|
||||
file(GLOB_RECURSE DEBUG_CMAKE_TARGETS "${CURRENT_PACKAGES_DIR}/share/**/*Targets-debug.cmake")
|
||||
debug_message("DEBUG_CMAKE_TARGETS:${DEBUG_CMAKE_TARGETS}")
|
||||
foreach(_debug_target IN LISTS DEBUG_CMAKE_TARGETS)
|
||||
vcpkg_replace_string("${_debug_target}" "{_IMPORT_PREFIX}/${qt_plugindir}" "{_IMPORT_PREFIX}/debug/${qt_plugindir}" IGNORE_UNCHANGED)
|
||||
vcpkg_replace_string("${_debug_target}" "{_IMPORT_PREFIX}/${qt_qmldir}" "{_IMPORT_PREFIX}/debug/${qt_qmldir}" IGNORE_UNCHANGED)
|
||||
endforeach()
|
||||
|
||||
file(GLOB_RECURSE STATIC_CMAKE_TARGETS "${CURRENT_PACKAGES_DIR}/share/Qt6Qml/QmlPlugins/*.cmake")
|
||||
foreach(_plugin_target IN LISTS STATIC_CMAKE_TARGETS)
|
||||
# restore a single get_filename_component which was remove by vcpkg_cmake_config_fixup
|
||||
vcpkg_replace_string("${_plugin_target}"
|
||||
[[get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)]]
|
||||
"get_filename_component(_IMPORT_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)"
|
||||
IGNORE_UNCHANGED)
|
||||
endforeach()
|
||||
|
||||
set(qt_tooldest "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin")
|
||||
set(qt_searchdir "${CURRENT_PACKAGES_DIR}/bin")
|
||||
## Handle Tools
|
||||
foreach(_tool IN LISTS _qarg_TOOL_NAMES)
|
||||
if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/bin/${_tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX}")
|
||||
debug_message("Removed '${_tool}' from copy tools list since it was not found!")
|
||||
list(REMOVE_ITEM _qarg_TOOL_NAMES ${_tool})
|
||||
endif()
|
||||
endforeach()
|
||||
if(_qarg_TOOL_NAMES)
|
||||
set(tool_names ${_qarg_TOOL_NAMES})
|
||||
vcpkg_copy_tools(TOOL_NAMES ${tool_names} SEARCH_DIR "${qt_searchdir}" DESTINATION "${qt_tooldest}" AUTO_CLEAN)
|
||||
endif()
|
||||
|
||||
if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
||||
if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/")
|
||||
file(COPY "${CURRENT_PACKAGES_DIR}/bin/" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin")
|
||||
endif()
|
||||
file(GLOB_RECURSE _installed_dll_files RELATIVE "${CURRENT_INSTALLED_DIR}/tools/Qt6/bin" "${CURRENT_INSTALLED_DIR}/tools/Qt6/bin/*.dll")
|
||||
foreach(_dll_to_remove IN LISTS _installed_dll_files)
|
||||
file(GLOB_RECURSE _packaged_dll_file "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${_dll_to_remove}")
|
||||
if(EXISTS "${_packaged_dll_file}")
|
||||
file(REMOVE "${_packaged_dll_file}")
|
||||
endif()
|
||||
endforeach()
|
||||
file(GLOB_RECURSE _folders LIST_DIRECTORIES true "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/**/")
|
||||
file(GLOB_RECURSE _files "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/**/")
|
||||
if(_files)
|
||||
list(REMOVE_ITEM _folders ${_files})
|
||||
endif()
|
||||
foreach(_dir IN LISTS _folders)
|
||||
if(NOT "${_remaining_dll_files}" MATCHES "${_dir}")
|
||||
file(REMOVE_RECURSE "${_dir}")
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/cmake/"
|
||||
"${CURRENT_PACKAGES_DIR}/debug/share"
|
||||
"${CURRENT_PACKAGES_DIR}/lib/cmake/"
|
||||
"${CURRENT_PACKAGES_DIR}/debug/include"
|
||||
)
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
file(GLOB_RECURSE _bin_files "${CURRENT_PACKAGES_DIR}/bin/*")
|
||||
if(NOT _bin_files STREQUAL "")
|
||||
message(STATUS "Remaining files in bin: '${_bin_files}'")
|
||||
else() # Only clean if empty otherwise let vcpkg throw and error.
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/" "${CURRENT_PACKAGES_DIR}/debug/bin/")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
vcpkg_fixup_pkgconfig()
|
||||
endfunction()
|
||||
|
||||
function(qt_install_submodule)
|
||||
cmake_parse_arguments(PARSE_ARGV 0 "_qis" "DISABLE_NINJA"
|
||||
""
|
||||
"PATCHES;TOOL_NAMES;CONFIGURE_OPTIONS;CONFIGURE_OPTIONS_DEBUG;CONFIGURE_OPTIONS_RELEASE;CONFIGURE_OPTIONS_MAYBE_UNUSED")
|
||||
|
||||
set(qt_plugindir ${QT6_DIRECTORY_PREFIX}plugins)
|
||||
set(qt_qmldir ${QT6_DIRECTORY_PREFIX}qml)
|
||||
|
||||
qt_download_submodule(PATCHES ${_qis_PATCHES})
|
||||
|
||||
if(VCPKG_TARGET_IS_ANDROID)
|
||||
# Qt only supports dynamic linkage on Android,
|
||||
# https://bugreports.qt.io/browse/QTBUG-32618.
|
||||
# It requires libc++_shared, cf. <qtbase>/cmake/QtPlatformAndroid.cmake
|
||||
# and https://developer.android.com/ndk/guides/cpp-support#sr
|
||||
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
|
||||
endif()
|
||||
|
||||
if(_qis_DISABLE_NINJA)
|
||||
set(_opt DISABLE_NINJA)
|
||||
endif()
|
||||
qt_cmake_configure(${_opt}
|
||||
OPTIONS ${_qis_CONFIGURE_OPTIONS}
|
||||
OPTIONS_DEBUG ${_qis_CONFIGURE_OPTIONS_DEBUG}
|
||||
OPTIONS_RELEASE ${_qis_CONFIGURE_OPTIONS_RELEASE}
|
||||
OPTIONS_MAYBE_UNUSED ${_qis_CONFIGURE_OPTIONS_MAYBE_UNUSED}
|
||||
)
|
||||
|
||||
vcpkg_cmake_install(ADD_BIN_TO_PATH)
|
||||
|
||||
qt_fixup_and_cleanup(TOOL_NAMES ${_qis_TOOL_NAMES})
|
||||
|
||||
qt_install_copyright("${SOURCE_PATH}")
|
||||
set(SOURCE_PATH "${SOURCE_PATH}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/qt_port_details.cmake")
|
||||
@ -1,50 +0,0 @@
|
||||
set(qtbase_HASH "ef364f939f23b622f67d21833c2dbf1fb74531d9a1e25b6d2e94ea5d747a40f20c6c3a24abef1e9710287366b7cb54dd090350d315601317779235c20743cc81")
|
||||
set(qttools_HASH "77141b310f63932678f28682c490ccc75776493994d96582d546545c17937605efac312c008c75fda991b78c369320d0a2c4b543b568a459cc90051d1ed2b9da")
|
||||
set(qtdeclarative_HASH "75c9fdc8ba26ef95ae8ff0c82b18589b74d7ff3065e86e5bd8427bc36336e569eaa22fa07863f99d0592eec0c1a69c3409c7b3941eae14361ff523c058e56084")
|
||||
set(qtsvg_HASH "213af7fdf92fb64c9b824dbe044f51d89e661ccc02c17cf109e65b962a7b1de84c71e1b1b58d6cad0cc9fccee80b97efe9ebcab3491b478fb9b64bcfd33986a4")
|
||||
set(qt5compat_HASH "e049508efda201e5d12a2dc0e023fc096611b18810f695be213a26bfbf8cdda1ae04c353c2a8b9be0c30b014e3d4f9280921acd1e8ec3834cd309143de82f570")
|
||||
set(qtshadertools_HASH "5f326bb097e09f9f9259b550ccf5fb05634d748eebf8b8c416225e3cd328c2b532c764a41b98a4d47633be446edaeaa3d4e5da1f4951b31e3da6ddc4392a47fc")
|
||||
set(qtquicktimeline_HASH "3f9aef0eb8b495cda9bcab22e7f544e9dd1894e556e162654c87903406cd3c73820f54a543bc3861d49c7863d2fc8d92f79bb8e90cdcc23a99cf64bbeb816885")
|
||||
set(qtquick3d_HASH "5a5c04dfd1581905fb0b40cb35ef9e7370ffaf451287d84a9d444c0871f495ecfe59c8ab15cacc8e7314af45c16598fad5e63cd9466384c5ba245ad0c28315f2")
|
||||
set(qttranslations_HASH "d5df6136d3f66c93c0dd6d98c7a467c8b939d7bf5c90b5acff69262163c1e7cccc0c4f2f83b5ef06179601578b4a109f2f0c76c3897a31d3fb2567995fc55328")
|
||||
set(qtwayland_HASH "2edb6d3e85c06bcf689c3acfcc38b6ff0505569dfeec8bfb5a434fad563087ff917875ea56e639405af3cca8adc98206ab9f68dfaf8e2449300d010ffbb16699")
|
||||
set(qtdoc_HASH "839fbff235f67ade032f25120fbd7f394d272bf752dfe982c202cb8b6cf411a1bc949f5035b2c1062468e40632b2061ac611c771d35567dd5970b013ff2090f8")
|
||||
set(qtcoap_HASH "ce51ea39b7946b85cacddd3ebfe3a92615f31b032a779b799113c1e97aecdd3906e4fdc066296b0c0a369f4a023df4c951cc18dd47d2713e173118f2bd055cff")
|
||||
set(qtopcua_HASH "ac11aab0f9333a4b666c9c523f5d74140bd52e236ed14cfce3dbfc030516b1cc654761048a7fd9e4238a9f1e0e47a72c6f2f8e98173f27042c6cdbb348c8d6d9")
|
||||
set(qtimageformats_HASH "174bddd49dac507b7a2c9f1e1f7b384bff9ac515891ee49fd72acfa944b503cf5bd26acf388203e7d14b1f147b07ccbc2da992f71d51b7a18151245efc53a3a2")
|
||||
set(qtmqtt_HASH "1934405a8e6b7188ce710e89eaf7ae00f1e1516b803b773ec95b962368a8da3967bac29dfe2a4377a76d0f8b9bf47599f566d7130eff311f38af2041d0c40a88")
|
||||
set(qtnetworkauth_HASH "8f9f25883534af6ce7029a6c96501de3e944c8c6c3021f185c3a932653b4e4c40b3a0f8bc210d3ee175b690721a99b3d42de2f6fa9d1dbd1b730abf22fc48455")
|
||||
set(qt3d_HASH "8316fbe5a39bc5113da4759e195a55c57d8340021a39576939c0a4a604f47b4edb3c0206f914d4a3177ff09471d1f3475ffc4c2fa935ed8d98a166e310bc78b4")
|
||||
set(qtactiveqt_HASH "d49c16f4e055bcf389c719ae0e33a6ae0ef54f2433211f14864774c3694f82361783d18db6996b6f5abd52f5ac7f791b0eab015c946ceaa3ddfb9ef6abf64f19")
|
||||
set(qtdatavis3d_HASH "a5d0cf5c223a5baa69dc7fc59b131eb3b971dc3701d20e81bf7e86ccb6e8f4d20a82079e514d1269091fa014896167d52912e3940210fd546a8a55439c75509a")
|
||||
set(qtdeviceutilities_HASH "b32222c52169832a30a1d6bf0b19e5adc15bc9b1c7c12e4613ea73eba73b00528969f8a87830d0a9bf61663547ff263e2e0d6e5f4bc37b8624c3f96d9cbc51b6")
|
||||
set(qtlottie_HASH "c663b830210359bd738a3ab2ae84d956646c249e199acac194c1ec725b3eb1acb2392eef0a9b252e8ece0adad104932d4f7207903e49ec041287618d3a6f9894")
|
||||
set(qtscxml_HASH "c0138fc338b2d12fb4bcbba2c852b44e4257c56850f22af46d452871fb9bd9465bd824d86cd7e7772ef62b8ed48515790b496e1e873aa335deae8e25789cb4d0")
|
||||
set(qtvirtualkeyboard_HASH "a128c8210eec799d81c76b20e32e3c09ccb345d822b5c59b1fbf0960a1e2bec50c43140d86aaae9419a1fc514fc3e14bd283f612bf9133676db1a21e7217f528")
|
||||
set(qtcharts_HASH "84b372c8b52aea580b2b9727775753345affa80b73e0be843e65f7331bb809187d7183d93fdaf543197860210bc4e006f3a707663a160cf8ae05b37871abac7e")
|
||||
set(qtconnectivity_HASH "5508f3fc57679a4f986f430dcd19c5da15af663a677d27c9cc6aba81629f4a6e1954be31c5d2a44ba22366d7731ff105d2eaa3a0565b3b02baea0f498c547733")
|
||||
set(qtpositioning_HASH "8899b4bf8096211fca37f7a7855ae2c6f79d770602105d76a98b580ad8e2f2f55096095bd7f935f6f9ac36e23135e7594cf3c2e5b760c979560a108d43d57784")
|
||||
set(qtlocation_HASH "c7cbd76b6b8b7d09387c7da0e6630959ae66f0c8af2cd26b255e86ec36c6efeec59e4af7b34faa05f2fa035d4dd075d13a8dd0bccaefac48d391b4fa786769c0")
|
||||
set(qtmultimedia_HASH "2f001888b44274583dcd5bc6f467cf18efbb1a711f29d6baf354071199772ee49d835922f2fa0e9770898d42decddf04b379d8f05d1dfd923c5f9d58e3c7fcd8")
|
||||
set(qtremoteobjects_HASH "5845afc5ea4894fa788ce07a89348bd5027c0cceca65dce99a6bf437b396c71f25e8e7374401c8d10fd88be2303766c6df29b62e826f4d5ba38971a042dd7b06")
|
||||
set(qtsensors_HASH "88e9277aefdc609bda881cb836dfdc04d29a32a4e09998d67e2ebe7ec6f94aff508fb39c2b624f00bcc85ddccd61bb5ed3ffcc953dd28d00ef559d50e6104ae4")
|
||||
set(qtserialbus_HASH "b0ce725382c15048913204e6173dd899af6f8233ff3a098f497dea6a3d9d2cd436ad7944165398fba59f92098f7e38e7c3c5efa47a7ffeec2bf3a464ae9d4539")
|
||||
set(qtserialport_HASH "343537aedd9c84dd5d6889d45babff181d7ef05927fd9cfdbb9389066f8860e2522bc059ca2c5c9af4c88bca255e0fc40b5eea84b93c970123a94afc803a638d")
|
||||
set(qtwebchannel_HASH "156d3d1f7e1a0b0df8c103db010cd8e40717e6fcf27dd20c27ca22900ae377a8da8bc86a9ec1d65765defb68032469415c345a571e9a3dcbc3919603972d01d6")
|
||||
set(qtwebengine_HASH "01e8988c76ff40ca5e38f76e90791d7ef708c29f2e9f8e83ca8604b6335fbecdee71473678a63633ec1edec85088256b20e56a618ca95748ccbe1e7b9673c298")
|
||||
set(qtwebsockets_HASH "7453c6657e9885393d57df3ebaf9d3ad12237b5fb848ac3547cc6c6ed607562d58564667a7fd10133d4cdb94151aa5c21660e33c7f48f01a4061001a47f85b60")
|
||||
set(qtwebview_HASH "af16c85d76e55e3c39c747995b3c46354efe5f5a3e111df36f9b169ab8fe3ac878cfe223ee47aef9aa8bc302c7383fc9b1f9682c63034e42def3714b28a0aabf")
|
||||
set(qtinterfaceframework_REF "373322fc654e875cb56828de554dfdda96e9fb4e")
|
||||
set(qtapplicationmanager_HASH "7d404ac3f98d29004009d87996779a0c5c86b976e864257cd3a9018d84db8bc07bcedc74f0b15443f90b487d2229fdb7b80d1ae082b0fc8dea30f682b58cea1a")
|
||||
set(qtlanguageserver_HASH "8b55a3558de28d6c2c61bf52e8f10d1a67cc6890fdd3846db99f6c766fd22fef1793687b88b146f5a64971d60eef4357409b893c91310d1b9abec883ab35c2bc")
|
||||
set(qthttpserver_HASH "4e99164e285ed4e8ae64a4af2c717fc22a7b5934ac5a78fe3adbb04e29109d1294e9917aa089b9cb9e5492bdf7fad4888c837374c2fef691ea7294bccbe7b01a")
|
||||
set(qtquick3dphysics_HASH "e8948f84e337bc4c496ba67f047c809ece8d74a3d2af388227c902b765a1d2969f86be2ebaaa89f271c4b73d2cf5151a4c488ff7dc4f4a965d5f6a4de052784a")
|
||||
set(qtspeech_HASH "6434ccf743604bf4ac4bc31b26c7dbc7f765ec95174f0d9047bec822292f85e6b21ace825b52ce60bd388d9c333d427b206209f78c612782701567bb7d271e6d")
|
||||
set(qtgrpc_HASH "488c7e6a20cd9c267b44923c317e545e71543f68153228a4fee1fa9c0a2f6d3e212db9482962999bb80e87313a1a851b787759852089f17dca8add7040627c55")
|
||||
set(qtquickeffectmaker_HASH "cdcee80a0bf7347ef9b63acc277ce6ef134128ba56f247008803d9444a9e0713e23205ed0f9ecf2b7752d82183acb471a2589c8b0ec914259a22395f94755bfa")
|
||||
set(qtgraphs_HASH "c1803e68e065fc4ed7de68e65f5dc86a0b926768779c0de57a7f4af46506f019c27d47095f87eb1516011868262d6654817c478e130739477658a3dbcef2fb35")
|
||||
|
||||
|
||||
# Keep for beta/rc
|
||||
#set(qttools_qlitehtml_REF bd70f93ce41443a6a90a269531393f575685283e)
|
||||
#set(qtwebengine_chromium_REF 0b138dc30d0aec7930c76a2595065629948ad9f7)
|
||||
@ -1,183 +0,0 @@
|
||||
### Steps to update the qt6 ports
|
||||
## 1. Change QT_VERSION below to the new version
|
||||
## 2. Set QT_UPDATE_VERSION to 1
|
||||
## 3. Add any new Qt modules to QT_PORTS
|
||||
## 4. Run a build of `qtbase`
|
||||
## 5. Fix any intermediate failures by adding the module into QT_FROM_GITHUB, QT_FROM_GITHUB_BRANCH, or QT_FROM_QT_GIT as appropriate
|
||||
## 6. The build should fail with "Done downloading version and emitting hashes." This will have changed out the vcpkg.json versions of the qt ports and rewritten qt_port_data.cmake
|
||||
## 7. Set QT_UPDATE_VERSION back to 0
|
||||
|
||||
set(QT_VERSION 6.8.3)
|
||||
set(QT_DEV_BRANCH 0)
|
||||
|
||||
set(QT_UPDATE_VERSION 0)
|
||||
|
||||
if(PORT MATCHES "(qtquickcontrols2)")
|
||||
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
|
||||
return()
|
||||
endif()
|
||||
|
||||
### Setting up the git tag.
|
||||
|
||||
set(QT_PORTS qt
|
||||
qtbase
|
||||
qttools
|
||||
qtdeclarative
|
||||
qtsvg
|
||||
qt5compat
|
||||
qtshadertools
|
||||
qtquicktimeline
|
||||
qtquick3d
|
||||
qttranslations
|
||||
qtwayland
|
||||
qtdoc
|
||||
qtcoap
|
||||
qtopcua
|
||||
qtimageformats
|
||||
qtmqtt
|
||||
qtnetworkauth
|
||||
qt3d)
|
||||
# qtquickcontrols2 -> moved into qtdeclarative
|
||||
if(QT_VERSION VERSION_GREATER_EQUAL 6.1)
|
||||
list(APPEND QT_PORTS
|
||||
## New in 6.1
|
||||
qtactiveqt
|
||||
qtdatavis3d
|
||||
qtdeviceutilities
|
||||
qtlottie
|
||||
qtscxml
|
||||
qtvirtualkeyboard
|
||||
qtcharts)
|
||||
endif()
|
||||
if(QT_VERSION VERSION_GREATER_EQUAL 6.2)
|
||||
list(APPEND QT_PORTS
|
||||
## New in 6.2
|
||||
qtconnectivity
|
||||
qtpositioning
|
||||
qtlocation # back in 6.5 as tech preview
|
||||
qtmultimedia
|
||||
qtremoteobjects
|
||||
qtsensors
|
||||
qtserialbus
|
||||
qtserialport
|
||||
qtwebchannel
|
||||
qtwebengine
|
||||
qtwebsockets
|
||||
qtwebview)
|
||||
endif()
|
||||
if(QT_VERSION VERSION_GREATER_EQUAL 6.2.2)
|
||||
list(APPEND QT_PORTS
|
||||
## New in 6.2.2
|
||||
qtinterfaceframework
|
||||
qtapplicationmanager)
|
||||
endif()
|
||||
if(QT_VERSION VERSION_GREATER_EQUAL 6.3.0)
|
||||
list(APPEND QT_PORTS
|
||||
## New in 6.3.0
|
||||
qtlanguageserver)
|
||||
endif()
|
||||
if(QT_VERSION VERSION_GREATER_EQUAL 6.4.0)
|
||||
list(APPEND QT_PORTS
|
||||
## New in 6.4.0
|
||||
qthttpserver
|
||||
qtquick3dphysics
|
||||
qtspeech)
|
||||
endif()
|
||||
if(QT_VERSION VERSION_GREATER_EQUAL 6.5.0)
|
||||
list(APPEND QT_PORTS
|
||||
## New in 6.5.0
|
||||
qtgrpc
|
||||
qtquickeffectmaker
|
||||
)
|
||||
endif()
|
||||
if(QT_VERSION VERSION_GREATER_EQUAL 6.6.0)
|
||||
list(APPEND QT_PORTS
|
||||
## New in 6.6.0
|
||||
qtgraphs
|
||||
#qtvncserver # only commercial
|
||||
#qtinsighttracker
|
||||
)
|
||||
endif()
|
||||
#qtinsighttracker
|
||||
#qtvncserver
|
||||
#qtgraphs
|
||||
|
||||
# 1. By default, modules come from the official release
|
||||
# 2. These modules are mirrored to github and have tags matching the release
|
||||
set(QT_FROM_GITHUB qtcoap qtopcua qtmqtt qtapplicationmanager)
|
||||
# 3. These modules are mirrored to github and have branches matching the release
|
||||
set(QT_FROM_GITHUB_BRANCH qtdeviceutilities)
|
||||
# 4. These modules are not mirrored to github and not part of the release
|
||||
set(QT_FROM_QT_GIT qtinterfaceframework)
|
||||
# For beta releases uncomment the next two lines and comment the lines with QT_FROM_GITHUB, QT_FROM_GITHUB_BRANCH, QT_FROM_QT_GIT
|
||||
#set(QT_FROM_QT_GIT ${QT_PORTS})
|
||||
#list(POP_FRONT QT_FROM_QT_GIT)
|
||||
|
||||
function(qt_get_url_filename qt_port out_urls out_filename)
|
||||
if("${qt_port}" IN_LIST QT_FROM_GITHUB)
|
||||
set(urls "https://github.com/qt/${qt_port}/archive/v${QT_VERSION}.tar.gz")
|
||||
set(filename "qt-${qt_port}-v${QT_VERSION}.tar.gz")
|
||||
elseif("${qt_port}" IN_LIST QT_FROM_GITHUB_BRANCH)
|
||||
set(urls "https://github.com/qt/${qt_port}/archive/${QT_VERSION}.tar.gz")
|
||||
set(filename "qt-${qt_port}-${QT_VERSION}.tar.gz")
|
||||
else()
|
||||
string(SUBSTRING "${QT_VERSION}" 0 3 qt_major_minor)
|
||||
|
||||
if(NOT QT_DEV_BRANCH)
|
||||
set(branch_subpath "archive")
|
||||
else()
|
||||
set(branch_subpath "development_releases")
|
||||
endif()
|
||||
|
||||
set(filename "${qt_port}-everywhere-src-${QT_VERSION}.tar.xz")
|
||||
set(mirrors
|
||||
"https://download.qt.io/"
|
||||
"https://mirrors.ocf.berkeley.edu/qt/"
|
||||
)
|
||||
set(url_subpath "${branch_subpath}/qt/${qt_major_minor}/${QT_VERSION}/submodules/${filename}")
|
||||
list(TRANSFORM mirrors APPEND "${url_subpath}" OUTPUT_VARIABLE urls)
|
||||
endif()
|
||||
set(${out_urls} ${urls} PARENT_SCOPE)
|
||||
set(${out_filename} "${filename}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
if(QT_UPDATE_VERSION)
|
||||
if(NOT PORT STREQUAL "qtbase")
|
||||
message(FATAL_ERROR "QT_UPDATE_VERSION must be used from the root 'qtbase' package")
|
||||
endif()
|
||||
set(VCPKG_USE_HEAD_VERSION 1)
|
||||
set(msg "" CACHE INTERNAL "")
|
||||
foreach(qt_port IN LISTS QT_PORTS)
|
||||
set(port_json "${CMAKE_CURRENT_LIST_DIR}/../../${qt_port}/vcpkg.json")
|
||||
file(READ "${port_json}" _control_contents)
|
||||
string(REGEX REPLACE "\"version(-(string|semver))?\": [^\n]+\n" "\"version\": \"${QT_VERSION}\",\n" _control_contents "${_control_contents}")
|
||||
string(REGEX REPLACE "\"port-version\": [^\n]+\n" "" _control_contents "${_control_contents}")
|
||||
file(WRITE "${port_json}" "${_control_contents}")
|
||||
if(qt_port STREQUAL "qt")
|
||||
continue()
|
||||
endif()
|
||||
if("${qt_port}" IN_LIST QT_FROM_QT_GIT)
|
||||
vcpkg_find_acquire_program(GIT)
|
||||
execute_process(
|
||||
COMMAND "${GIT}" ls-remote -t "https://code.qt.io/cgit/qt/${qt_port}.git" "v${QT_VERSION}"
|
||||
OUTPUT_VARIABLE out
|
||||
)
|
||||
string(SUBSTRING "${out}" 0 40 tag_sha)
|
||||
string(APPEND msg "set(${qt_port}_REF ${tag_sha})\n")
|
||||
else()
|
||||
qt_get_url_filename("${qt_port}" urls filename)
|
||||
vcpkg_download_distfile(archive
|
||||
URLS ${urls}
|
||||
FILENAME "${filename}"
|
||||
SKIP_SHA512
|
||||
)
|
||||
file(SHA512 "${archive}" hash)
|
||||
string(APPEND msg "set(${qt_port}_HASH \"${hash}\")\n")
|
||||
endif()
|
||||
endforeach()
|
||||
message("${msg}")
|
||||
file(WRITE "${CMAKE_CURRENT_LIST_DIR}/qt_port_data_new.cmake" "${msg}")
|
||||
message(FATAL_ERROR "Done downloading version and emitting hashes.")
|
||||
endif()
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/qt_port_data.cmake")
|
||||
@ -1,13 +0,0 @@
|
||||
diff --git a/cmake/QtBuildPathsHelpers.cmake b/cmake/QtBuildPathsHelpers.cmake
|
||||
index bd186c28b..edee52e8b 100644
|
||||
--- a/cmake/QtBuildPathsHelpers.cmake
|
||||
+++ b/cmake/QtBuildPathsHelpers.cmake
|
||||
@@ -100,7 +100,7 @@ function(qt_internal_set_up_global_paths)
|
||||
if(QT_CONFIG_INSTALL_DIR)
|
||||
string(APPEND QT_CONFIG_INSTALL_DIR "/")
|
||||
endif()
|
||||
- string(APPEND QT_CONFIG_INSTALL_DIR ${__config_path_part})
|
||||
+ string(APPEND QT_CONFIG_INSTALL_DIR "share")
|
||||
|
||||
set(QT_BUILD_DIR "${QT_BUILD_DIR}" PARENT_SCOPE)
|
||||
set(QT_INSTALL_DIR "${QT_INSTALL_DIR}" PARENT_SCOPE)
|
||||
@ -1,13 +0,0 @@
|
||||
diff --git a/cmake/QtPostProcessHelpers.cmake b/cmake/QtPostProcessHelpers.cmake
|
||||
index 4f8106dfa..bec5c402e 100644
|
||||
--- a/cmake/QtPostProcessHelpers.cmake
|
||||
+++ b/cmake/QtPostProcessHelpers.cmake
|
||||
@@ -414,7 +414,7 @@ function(qt_generate_install_prefixes out_var)
|
||||
|
||||
foreach(var ${vars})
|
||||
get_property(docstring CACHE "${var}" PROPERTY HELPSTRING)
|
||||
- string(APPEND content "set(${var} \"${${var}}\" CACHE STRING \"${docstring}\" FORCE)\n")
|
||||
+ string(APPEND content "set(${var} \"${${var}}\" CACHE STRING \"${docstring}\")\n")
|
||||
endforeach()
|
||||
|
||||
set(${out_var} "${content}" PARENT_SCOPE)
|
||||
@ -1,16 +0,0 @@
|
||||
diff --git a/cmake/QtTestHelpers.cmake b/cmake/QtTestHelpers.cmake
|
||||
index 279ab07dd..951fd3d36 100644
|
||||
--- a/cmake/QtTestHelpers.cmake
|
||||
+++ b/cmake/QtTestHelpers.cmake
|
||||
@@ -653,9 +653,9 @@ function(qt_internal_collect_command_environment out_path out_plugin_path)
|
||||
# The regular CMAKE_INSTALL_PREFIX can be different for example when building standalone tests.
|
||||
# Any given CMAKE_INSTALL_PREFIX takes priority over qt_relocatable_install_prefix for the
|
||||
# PATH environment variable.
|
||||
- set(install_prefixes "${CMAKE_INSTALL_PREFIX}")
|
||||
+ set(install_prefixes "${CMAKE_INSTALL_PREFIX}$<$<CONFIG:DEBUG>:/debug>")
|
||||
if(QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX)
|
||||
- list(APPEND install_prefixes "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}")
|
||||
+ list(APPEND install_prefixes "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}$<$<CONFIG:DEBUG>:/debug>")
|
||||
endif()
|
||||
|
||||
file(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}" test_env_path)
|
||||
@ -1,17 +0,0 @@
|
||||
diff --git a/cmake/QtTargetHelpers.cmake b/cmake/QtTargetHelpers.cmake
|
||||
index 180ec33..a03e3b1 100644
|
||||
--- a/cmake/QtTargetHelpers.cmake
|
||||
+++ b/cmake/QtTargetHelpers.cmake
|
||||
@@ -281,10 +281,10 @@ function(qt_internal_add_target_aliases target)
|
||||
set_target_properties("${target}" PROPERTIES _qt_versionfull_alias "${versionfull_alias}")
|
||||
|
||||
get_target_property(type "${target}" TYPE)
|
||||
- if (type STREQUAL EXECUTABLE)
|
||||
+ if (type STREQUAL EXECUTABLE AND NOT TARGET "${versionfull_alias}")
|
||||
add_executable("${versionless_alias}" ALIAS "${target}")
|
||||
add_executable("${versionfull_alias}" ALIAS "${target}")
|
||||
- else()
|
||||
+ elseif(NOT type STREQUAL EXECUTABLE)
|
||||
add_library("${versionless_alias}" ALIAS "${target}")
|
||||
add_library("${versionfull_alias}" ALIAS "${target}")
|
||||
endif()
|
||||
@ -1,12 +0,0 @@
|
||||
diff --git a/cmake/QtPriHelpers.cmake b/cmake/QtPriHelpers.cmake
|
||||
index b6f1242..eaa4d65 100644
|
||||
--- a/cmake/QtPriHelpers.cmake
|
||||
+++ b/cmake/QtPriHelpers.cmake
|
||||
@@ -37,6 +37,7 @@ function(qt_generate_qmake_libraries_pri_content module_name output_root_dir out
|
||||
get_target_property(lib_target_type ${lib_target} TYPE)
|
||||
if(lib_target_type MATCHES "^(INTERFACE|UNKNOWN)_LIBRARY")
|
||||
get_target_property(iface_libs ${lib_target} INTERFACE_LINK_LIBRARIES)
|
||||
+ string(REGEX REPLACE [[\$<LINK_ONLY:([^>]+)>]] "\\1" iface_libs "${iface_libs}")
|
||||
if(iface_libs)
|
||||
list(PREPEND lib_targets ${iface_libs})
|
||||
endif()
|
||||
@ -1,15 +0,0 @@
|
||||
diff --git a/cmake/QtBuildInternalsExtra.cmake.in b/cmake/QtBuildInternalsExtra.cmake.in
|
||||
index ffc9d90f8..0b3a7d59e 100644
|
||||
--- a/cmake/QtBuildInternalsExtra.cmake.in
|
||||
+++ b/cmake/QtBuildInternalsExtra.cmake.in
|
||||
@@ -51,8 +51,8 @@ endif()
|
||||
set(QT_WILL_INSTALL @QT_WILL_INSTALL@ CACHE BOOL
|
||||
"Boolean indicating if doing a Qt prefix build (vs non-prefix build)." FORCE)
|
||||
|
||||
-set(QT_SOURCE_TREE "@QT_SOURCE_TREE@" CACHE PATH
|
||||
-"A path to the source tree of the previously configured QtBase project." FORCE)
|
||||
+# set(QT_SOURCE_TREE "@QT_SOURCE_TREE@" CACHE PATH
|
||||
+# "A path to the source tree of the previously configured QtBase project." FORCE)
|
||||
|
||||
# Propagate decision of building tests and examples to other repositories.
|
||||
set(QT_BUILD_TESTS @QT_BUILD_TESTS@ CACHE BOOL "Build the testing tree.")
|
||||
@ -1,26 +0,0 @@
|
||||
diff --git a/src/corelib/Qt6CoreMacros.cmake b/src/corelib/Qt6CoreMacros.cmake
|
||||
index 8a0d07feac..0e6a720c20 100644
|
||||
--- a/src/corelib/Qt6CoreMacros.cmake
|
||||
+++ b/src/corelib/Qt6CoreMacros.cmake
|
||||
@@ -2977,17 +2977,19 @@ function(_qt_internal_setup_deploy_support)
|
||||
if(CMAKE_HOST_WIN32)
|
||||
+ if(CMAKE_CROSSCOMPILING AND NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
- if(CMAKE_CROSSCOMPILING)
|
||||
set(qt_paths_ext ".bat")
|
||||
+ elseif(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
+ set(qt_paths_ext ".debug.bat")
|
||||
else()
|
||||
set(qt_paths_ext ".exe")
|
||||
endif()
|
||||
else()
|
||||
set(qt_paths_ext "")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
set(target_qtpaths_path "")
|
||||
- set(qtpaths_prefix "${QT6_INSTALL_PREFIX}/${QT6_INSTALL_BINS}")
|
||||
+ set(qtpaths_prefix "${QT6_INSTALL_PREFIX}/tools/Qt6/bin")
|
||||
get_property(qt_major_version TARGET "${target}" PROPERTY INTERFACE_QT_MAJOR_VERSION)
|
||||
if(qt_major_version)
|
||||
set(target_qtpaths_with_major_version_path
|
||||
@ -1,12 +0,0 @@
|
||||
diff --git a/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake b/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake
|
||||
index eafbc1ff9..dd4068838 100644
|
||||
--- a/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake
|
||||
+++ b/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake
|
||||
@@ -82,6 +82,7 @@ find_path(EGL_INCLUDE_DIR
|
||||
find_library(EGL_LIBRARY
|
||||
NAMES
|
||||
EGL
|
||||
+ libEGL # required to find angle on windows within vcpkg.
|
||||
HINTS
|
||||
${PKG_EGL_LIBRARY_DIRS}
|
||||
)
|
||||
@ -1,13 +0,0 @@
|
||||
diff --git a/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake b/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake
|
||||
index db48f79b9..4b1686132 100644
|
||||
--- a/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake
|
||||
+++ b/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake
|
||||
@@ -116,7 +116,7 @@ if(EGL_INCLUDE_DIR)
|
||||
unset(_EGL_version_lines)
|
||||
endif()
|
||||
|
||||
-cmake_push_check_state(RESET)
|
||||
+cmake_push_check_state() # To be able to fix the compile check in vcpkg-cmake-wrapper
|
||||
list(APPEND CMAKE_REQUIRED_LIBRARIES "${EGL_LIBRARY}")
|
||||
list(APPEND CMAKE_REQUIRED_INCLUDES "${EGL_INCLUDE_DIR}")
|
||||
list(APPEND CMAKE_REQUIRED_DEFINITIONS "${EGL_DEFINITIONS}")
|
||||
@ -1,13 +0,0 @@
|
||||
diff --git a/cmake/FindWrapSystemHarfbuzz.cmake b/cmake/FindWrapSystemHarfbuzz.cmake
|
||||
index 3cb44aa76..9bf0d7165 100644
|
||||
--- a/cmake/FindWrapSystemHarfbuzz.cmake
|
||||
+++ b/cmake/FindWrapSystemHarfbuzz.cmake
|
||||
@@ -6,7 +6,7 @@ if(TARGET WrapSystemHarfbuzz::WrapSystemHarfbuzz)
|
||||
endif()
|
||||
set(WrapSystemHarfbuzz_REQUIRED_VARS __harfbuzz_found)
|
||||
|
||||
-find_package(harfbuzz ${${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION} QUIET)
|
||||
+find_package(harfbuzz QUIET) # VCPKG is missing the version file for harfbuzz.
|
||||
|
||||
# Gentoo has some buggy version of a harfbuzz Config file. Check if include paths are valid.
|
||||
set(__harfbuzz_target_name "harfbuzz::harfbuzz")
|
||||
@ -1,15 +0,0 @@
|
||||
diff --git a/cmake/qt.toolchain.cmake.in b/cmake/qt.toolchain.cmake.in
|
||||
index 6e37ae02..e7e84468 100644
|
||||
--- a/cmake/qt.toolchain.cmake.in
|
||||
+++ b/cmake/qt.toolchain.cmake.in
|
||||
@@ -65,6 +65,10 @@ get_filename_component(QT_TOOLCHAIN_RELOCATABLE_INSTALL_PREFIX
|
||||
# one level higher is what we're looking for.
|
||||
get_filename_component(QT_TOOLCHAIN_RELOCATABLE_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}/.." ABSOLUTE)
|
||||
|
||||
+get_filename_component(vcpkg_installed_dir
|
||||
+ ${CMAKE_CURRENT_LIST_DIR}/../../../
|
||||
+ ABSOLUTE)
|
||||
+
|
||||
# REROOT_PATH_ISSUE_MARKER
|
||||
# There's a subdirectory check in cmake's cmFindCommon::RerootPaths() function, that doesn't handle
|
||||
# the case of CMAKE_PREFIX_PATH == CMAKE_FIND_ROOT_PATH for a particular pair of entries.
|
||||
@ -1,33 +0,0 @@
|
||||
diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp
|
||||
index 6ff269b..caffd44 100644
|
||||
--- a/src/tools/macdeployqt/shared/shared.cpp
|
||||
+++ b/src/tools/macdeployqt/shared/shared.cpp
|
||||
@@ -1,4 +1,5 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
+
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
#include <QCoreApplication>
|
||||
#include <QString>
|
||||
@@ -85,7 +86,21 @@
|
||||
}
|
||||
}
|
||||
|
||||
- if (QFile::copy(from, to)) {
|
||||
+ QFileInfo fromFileInfo(from);
|
||||
+
|
||||
+ if (fromFileInfo.isSymLink()) {
|
||||
+ const QString fromSymLinkTarget = fromFileInfo.absoluteDir().relativeFilePath(fromFileInfo.symLinkTarget());
|
||||
+ if (QFile::link(fromSymLinkTarget, to)) {
|
||||
+ return copyFilePrintStatus(fromFileInfo.absoluteDir().absoluteFilePath(fromSymLinkTarget), QFileInfo(to).absoluteDir().absoluteFilePath(fromSymLinkTarget));
|
||||
+ }
|
||||
+ else {
|
||||
+ LogError() << "symlink copy failed from" << from;
|
||||
+ LogError() << " to" << to;
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ }
|
||||
+ else if (QFile::copy(from, to)) {
|
||||
QFile dest(to);
|
||||
dest.setPermissions(dest.permissions() | QFile::WriteOwner | QFile::WriteUser);
|
||||
LogNormal() << " copied:" << from;
|
||||
@ -1,599 +0,0 @@
|
||||
# Reminder for myself and everybody else:
|
||||
# Qt cross module dependency information within the Qt respository is wrong and/or incomplete.
|
||||
# Always check the toplevel CMakeLists.txt for the find_package call and search for linkage against the Qt:: targets
|
||||
# Often enough certain (bigger) dependencies are only used to build examples and/or tests.
|
||||
# As such getting the correct dependency information relevant for vcpkg requires a manual search/check
|
||||
set(QT_IS_LATEST ON)
|
||||
|
||||
## All above goes into the qt_port_hashes in the future
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/cmake/qt_install_submodule.cmake")
|
||||
|
||||
set(${PORT}_PATCHES
|
||||
allow_outside_prefix.patch
|
||||
config_install.patch
|
||||
fix_cmake_build.patch
|
||||
harfbuzz.patch
|
||||
fix_egl.patch
|
||||
fix_egl_2.patch
|
||||
installed_dir.patch
|
||||
GLIB2-static.patch # alternative is to force pkg-config
|
||||
clang-cl_source_location.patch
|
||||
clang-cl_QGADGET_fix.diff
|
||||
fix-host-aliasing.patch
|
||||
fix_deploy_windows.patch
|
||||
fix-link-lib-discovery.patch
|
||||
macdeployqt-symlinks.patch
|
||||
)
|
||||
|
||||
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
||||
list(APPEND ${PORT}_PATCHES env.patch)
|
||||
endif()
|
||||
|
||||
if("shared-mime-info" IN_LIST FEATURES)
|
||||
list(APPEND ${PORT}_PATCHES use-shared-mime-info.patch)
|
||||
endif()
|
||||
|
||||
list(APPEND ${PORT}_PATCHES
|
||||
dont_force_cmakecache_latest.patch
|
||||
)
|
||||
|
||||
if(VCPKG_TARGET_IS_WINDOWS AND NOT "doubleconversion" IN_LIST FEATURES)
|
||||
message(FATAL_ERROR "${PORT} requires feature doubleconversion on windows!" )
|
||||
endif()
|
||||
|
||||
# Feature like glib depend on pkg-config
|
||||
vcpkg_find_acquire_program(PKGCONFIG)
|
||||
set(ENV{PKG_CONFIG} "${PKGCONFIG}")
|
||||
|
||||
if(VCPKG_TARGET_IS_LINUX)
|
||||
message(WARNING "qtbase currently requires packages from the system package manager. "
|
||||
"They can be installed on Ubuntu systems via sudo apt-get install "
|
||||
"'^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev "
|
||||
"libxkbcommon-x11-dev libegl1-mesa-dev.")
|
||||
endif()
|
||||
|
||||
# Features can be found via searching for qt_feature in all configure.cmake files in the source:
|
||||
# The files also contain information about the Platform for which it is searched
|
||||
# Always use FEATURE_<feature> in vcpkg_cmake_configure
|
||||
# (using QT_FEATURE_X overrides Qts condition check for the feature.)
|
||||
# Theoretically there is a feature for every widget to enable/disable it but that is way to much for vcpkg
|
||||
|
||||
set(input_vars doubleconversion freetype harfbuzz libb2 jpeg libmd4c png sql-sqlite)
|
||||
set(INPUT_OPTIONS)
|
||||
foreach(_input IN LISTS input_vars)
|
||||
if(_input MATCHES "(png|jpeg)" )
|
||||
list(APPEND INPUT_OPTIONS -DINPUT_lib${_input}:STRING=)
|
||||
elseif(_input MATCHES "(sql-sqlite)") # Not yet used by the cmake build
|
||||
else()
|
||||
list(APPEND INPUT_OPTIONS -DINPUT_${_input}:STRING=)
|
||||
endif()
|
||||
if("${_input}" IN_LIST FEATURES)
|
||||
string(APPEND INPUT_OPTIONS system)
|
||||
elseif(_input STREQUAL "libb2" AND NOT VCPKG_TARGET_IS_WINDOWS)
|
||||
string(APPEND INPUT_OPTIONS system)
|
||||
elseif(_input STREQUAL "libmd4c")
|
||||
string(APPEND INPUT_OPTIONS qt) # libmd4c is not yet in VCPKG (but required by qtdeclarative)
|
||||
else()
|
||||
string(APPEND INPUT_OPTIONS no)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# General features:
|
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||
FEATURES
|
||||
"appstore-compliant" FEATURE_appstore_compliant
|
||||
"zstd" FEATURE_zstd
|
||||
"framework" FEATURE_framework
|
||||
"concurrent" FEATURE_concurrent
|
||||
"concurrent" FEATURE_future
|
||||
"dbus" FEATURE_dbus
|
||||
"gui" FEATURE_gui
|
||||
"thread" FEATURE_thread
|
||||
"network" FEATURE_network
|
||||
"sql" FEATURE_sql
|
||||
"widgets" FEATURE_widgets
|
||||
#"xml" FEATURE_xml # Required to build moc
|
||||
"testlib" FEATURE_testlib
|
||||
"zstd" CMAKE_REQUIRE_FIND_PACKAGE_zstd
|
||||
${require_features}
|
||||
INVERTED_FEATURES
|
||||
"zstd" CMAKE_DISABLE_FIND_PACKAGE_ZSTD
|
||||
"dbus" CMAKE_DISABLE_FIND_PACKAGE_WrapDBus1
|
||||
)
|
||||
|
||||
list(APPEND FEATURE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Libudev:BOOL=ON)
|
||||
list(APPEND FEATURE_OPTIONS -DFEATURE_xml:BOOL=ON)
|
||||
|
||||
if("dbus" IN_LIST FEATURES AND VCPKG_TARGET_IS_LINUX)
|
||||
list(APPEND FEATURE_OPTIONS -DINPUT_dbus=linked)
|
||||
elseif("dbus" IN_LIST FEATURES)
|
||||
list(APPEND FEATURE_OPTIONS -DINPUT_dbus=runtime)
|
||||
else()
|
||||
list(APPEND FEATURE_OPTIONS -DINPUT_dbus=no)
|
||||
endif()
|
||||
|
||||
if(VCPKG_QT_NAMESPACE)
|
||||
list(APPEND FEATURE_OPTIONS "-DQT_NAMESPACE:STRING=${VCPKG_QT_NAMESPACE}")
|
||||
endif()
|
||||
|
||||
# Corelib features:
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_CORE_OPTIONS
|
||||
FEATURES
|
||||
"doubleconversion" FEATURE_doubleconversion
|
||||
"glib" FEATURE_glib
|
||||
"icu" FEATURE_icu
|
||||
"pcre2" FEATURE_pcre2
|
||||
#"icu" CMAKE_REQUIRE_FIND_PACKAGE_ICU
|
||||
#"glib" CMAKE_REQUIRE_FIND_PACKAGE_GLIB2
|
||||
INVERTED_FEATURES
|
||||
#"doubleconversion" CMAKE_DISABLE_FIND_PACKAGE_WrapDoubleConversion # Required
|
||||
#"pcre2" CMAKE_DISABLE_FIND_PACKAGE_WrapSystemPCRE2 # Bug in qt cannot be deactivated
|
||||
"icu" CMAKE_DISABLE_FIND_PACKAGE_ICU
|
||||
"glib" CMAKE_DISABLE_FIND_PACKAGE_GLIB2
|
||||
)
|
||||
|
||||
list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_LTTngUST:BOOL=ON)
|
||||
list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_PPS:BOOL=ON)
|
||||
list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Slog2:BOOL=ON)
|
||||
list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Libsystemd:BOOL=ON)
|
||||
list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_WrapBacktrace:BOOL=ON)
|
||||
#list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_WrapAtomic:BOOL=ON) # Cannot be disabled on x64 platforms
|
||||
#list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_WrapRt:BOOL=ON) # Cannot be disabled on osx
|
||||
|
||||
# Network features:
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_NET_OPTIONS
|
||||
FEATURES
|
||||
"openssl" FEATURE_openssl
|
||||
"brotli" FEATURE_brotli
|
||||
"securetransport" FEATURE_securetransport
|
||||
"dnslookup" FEATURE_dnslookup
|
||||
#"brotli" CMAKE_REQUIRE_FIND_PACKAGE_WrapBrotli
|
||||
#"openssl" CMAKE_REQUIRE_FIND_PACKAGE_WrapOpenSSL
|
||||
INVERTED_FEATURES
|
||||
"brotli" CMAKE_DISABLE_FIND_PACKAGE_WrapBrotli
|
||||
"openssl" CMAKE_DISABLE_FIND_PACKAGE_WrapOpenSSL
|
||||
"dnslookup" CMAKE_DISABLE_FIND_PACKAGE_WrapResolve
|
||||
)
|
||||
|
||||
if("openssl" IN_LIST FEATURES)
|
||||
list(APPEND FEATURE_NET_OPTIONS -DINPUT_openssl=linked)
|
||||
else()
|
||||
list(APPEND FEATURE_NET_OPTIONS -DINPUT_openssl=no)
|
||||
endif()
|
||||
|
||||
if ("dnslookup" IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_ANDROID AND NOT VCPKG_TARGET_IS_WINDOWS)
|
||||
list(APPEND FEATURE_NET_OPTIONS -DFEATURE_libresolv:BOOL=ON)
|
||||
endif()
|
||||
|
||||
list(APPEND FEATURE_NET_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Libproxy:BOOL=ON)
|
||||
list(APPEND FEATURE_NET_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_GSSAPI:BOOL=ON)
|
||||
|
||||
# Gui features:
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_GUI_OPTIONS
|
||||
FEATURES
|
||||
"freetype" FEATURE_freetype # required on windows
|
||||
"harfbuzz" FEATURE_harfbuzz
|
||||
"fontconfig" FEATURE_fontconfig # NOT WINDOWS
|
||||
"jpeg" FEATURE_jpeg
|
||||
"png" FEATURE_png
|
||||
"opengl" FEATURE_opengl
|
||||
"xlib" FEATURE_xlib
|
||||
"xkb" FEATURE_xkbcommon
|
||||
"xcb" FEATURE_xcb
|
||||
"xcb-xlib" FEATURE_xcb_xlib
|
||||
"xkbcommon-x11" FEATURE_xkbcommon_x11
|
||||
"xrender" FEATURE_xrender # requires FEATURE_xcb_native_painting; otherwise disabled.
|
||||
"xrender" FEATURE_xcb_native_painting # experimental
|
||||
"gles2" FEATURE_opengles2
|
||||
"gles3" FEATURE_opengles3
|
||||
#Cannot be required since Qt will look in CONFIG mode first but is controlled via CMAKE_DISABLE_FIND_PACKAGE_Vulkan below
|
||||
#"vulkan" CMAKE_REQUIRE_FIND_PACKAGE_WrapVulkanHeaders
|
||||
"egl" FEATURE_egl
|
||||
#"fontconfig" CMAKE_REQUIRE_FIND_PACKAGE_Fontconfig
|
||||
#"harfbuzz" CMAKE_REQUIRE_FIND_PACKAGE_WrapSystemHarfbuzz
|
||||
#"jpeg" CMAKE_REQUIRE_FIND_PACKAGE_JPEG
|
||||
#"png" CMAKE_REQUIRE_FIND_PACKAGE_PNG
|
||||
#"xlib" CMAKE_REQUIRE_FIND_PACKAGE_X11
|
||||
#"xkb" CMAKE_REQUIRE_FIND_PACKAGE_XKB
|
||||
#"xcb" CMAKE_REQUIRE_FIND_PACKAGE_XCB
|
||||
#"xcb-xlib" CMAKE_REQUIRE_FIND_PACKAGE_X11_XCB
|
||||
#"xkbcommon-x11" CMAKE_REQUIRE_FIND_PACKAGE_XKB_COMMON_X11
|
||||
#"xrender" CMAKE_REQUIRE_FIND_PACKAGE_XRender
|
||||
INVERTED_FEATURES
|
||||
"vulkan" CMAKE_DISABLE_FIND_PACKAGE_Vulkan
|
||||
"opengl" CMAKE_DISABLE_FIND_PACKAGE_WrapOpenGL
|
||||
"egl" CMAKE_DISABLE_FIND_PACKAGE_EGL
|
||||
"gles2" CMAKE_DISABLE_FIND_PACKAGE_GLESv2
|
||||
"gles3" CMAKE_DISABLE_FIND_PACKAGE_GLESv3
|
||||
"fontconfig" CMAKE_DISABLE_FIND_PACKAGE_Fontconfig
|
||||
#"freetype" CMAKE_DISABLE_FIND_PACKAGE_WrapSystemFreetype # Bug in qt cannot be deactivated
|
||||
"harfbuzz" CMAKE_DISABLE_FIND_PACKAGE_WrapSystemHarfbuzz
|
||||
"jpeg" CMAKE_DISABLE_FIND_PACKAGE_JPEG
|
||||
#"png" CMAKE_DISABLE_FIND_PACKAGE_PNG # Unable to disable if Freetype requires it
|
||||
"xlib" CMAKE_DISABLE_FIND_PACKAGE_X11
|
||||
"xkb" CMAKE_DISABLE_FIND_PACKAGE_XKB
|
||||
"xcb" CMAKE_DISABLE_FIND_PACKAGE_XCB
|
||||
"xcb-xlib" CMAKE_DISABLE_FIND_PACKAGE_X11_XCB
|
||||
"xkbcommon-x11" CMAKE_DISABLE_FIND_PACKAGE_XKB_COMMON_X11
|
||||
"xrender" CMAKE_DISABLE_FIND_PACKAGE_XRender
|
||||
# There are more X features but I am unsure how to safely disable them! Most of them seem to be found automaticall with find_package(X11)
|
||||
)
|
||||
|
||||
if("gles2" IN_LIST FEATURES)
|
||||
list(APPEND FEATURE_GUI_OPTIONS -DINPUT_opengl='es2')
|
||||
list(APPEND FEATURE_GUI_OPTIONS -DFEATURE_opengl_desktop=OFF)
|
||||
endif()
|
||||
|
||||
if(NOT "opengl" IN_LIST FEATURES AND NOT "gles2" IN_LIST FEATURES)
|
||||
list(APPEND FEATURE_GUI_OPTIONS -DINPUT_opengl='no')
|
||||
list(APPEND FEATURE_GUI_OPTIONS -DFEATURE_opengl_desktop=OFF)
|
||||
list(APPEND FEATURE_GUI_OPTIONS -DFEATURE_opengl_dynamic=OFF)
|
||||
endif()
|
||||
|
||||
if("xcb" IN_LIST FEATURES)
|
||||
list(APPEND FEATURE_GUI_OPTIONS -DINPUT_xcb=yes)
|
||||
else()
|
||||
list(APPEND FEATURE_GUI_OPTIONS -DINPUT_xcb=no)
|
||||
endif()
|
||||
if("xkb" IN_LIST FEATURES)
|
||||
list(APPEND FEATURE_GUI_OPTIONS -DINPUT_xkbcommon=yes)
|
||||
else()
|
||||
list(APPEND FEATURE_GUI_OPTIONS -DINPUT_xkbcommon=no)
|
||||
endif()
|
||||
|
||||
# Disable OpenGL ES 3.1 and 3.2
|
||||
list(APPEND FEATURE_GUI_OPTIONS -DFEATURE_opengles31:BOOL=OFF)
|
||||
list(APPEND FEATURE_GUI_OPTIONS -DFEATURE_opengles32:BOOL=OFF)
|
||||
|
||||
list(APPEND FEATURE_GUI_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_ATSPI2:BOOL=ON)
|
||||
list(APPEND FEATURE_GUI_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_DirectFB:BOOL=ON)
|
||||
list(APPEND FEATURE_GUI_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Libdrm:BOOL=ON)
|
||||
list(APPEND FEATURE_GUI_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_gbm:BOOL=ON)
|
||||
list(APPEND FEATURE_GUI_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Libinput:BOOL=ON)
|
||||
list(APPEND FEATURE_GUI_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Mtdev:BOOL=ON)
|
||||
list(APPEND FEATURE_GUI_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Tslib:BOOL=ON)
|
||||
# sql-drivers features:
|
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_SQLDRIVERS_OPTIONS
|
||||
FEATURES
|
||||
"sql-sqlite" FEATURE_system_sqlite
|
||||
"sql-odbc" FEATURE_sql_odbc
|
||||
"sql-mysql" FEATURE_sql_mysql
|
||||
"sql-oci" FEATURE_sql_oci
|
||||
#"sql-psql" CMAKE_REQUIRE_FIND_PACKAGE_PostgreSQL
|
||||
#"sql-sqlite" CMAKE_REQUIRE_FIND_PACKAGE_SQLite3
|
||||
INVERTED_FEATURES
|
||||
"sql-psql" CMAKE_DISABLE_FIND_PACKAGE_PostgreSQL
|
||||
"sql-sqlite" CMAKE_DISABLE_FIND_PACKAGE_SQLite3
|
||||
"sql-odbc" CMAKE_DISABLE_FIND_PACKAGE_ODBC
|
||||
"sql-mysql" CMAKE_DISABLE_FIND_PACKAGE_MySQL
|
||||
"sql-oci" CMAKE_DISABLE_FIND_PACKAGE_Oracle
|
||||
)
|
||||
|
||||
set(DB_LIST DB2 Interbase Mimer)
|
||||
foreach(_db IN LISTS DB_LIST)
|
||||
list(APPEND FEATURE_SQLDRIVERS_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_${_db}:BOOL=ON)
|
||||
endforeach()
|
||||
|
||||
# printsupport features:
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_PRINTSUPPORT_OPTIONS
|
||||
FEATURES
|
||||
"cups" FEATURE_cups
|
||||
INVERTED_FEATURES
|
||||
"cups" CMAKE_DISABLE_FIND_PACKAGE_Cups
|
||||
)
|
||||
|
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_WIDGETS_OPTIONS
|
||||
FEATURES
|
||||
"gtk3" FEATURE_gtk3
|
||||
INVERTED_FEATURES
|
||||
"gtk3" CMAKE_DISABLE_FIND_PACKAGE_GTK3
|
||||
)
|
||||
|
||||
set(TOOL_NAMES
|
||||
androiddeployqt
|
||||
androidtestrunner
|
||||
cmake_automoc_parser
|
||||
moc
|
||||
qdbuscpp2xml
|
||||
qdbusxml2cpp
|
||||
qlalr
|
||||
qmake
|
||||
qmake6
|
||||
qvkgen
|
||||
rcc
|
||||
tracegen
|
||||
uic
|
||||
qtpaths
|
||||
qtpaths6
|
||||
windeployqt
|
||||
windeployqt6
|
||||
macdeployqt
|
||||
macdeployqt6
|
||||
androiddeployqt6
|
||||
syncqt
|
||||
tracepointgen
|
||||
)
|
||||
|
||||
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
|
||||
TOOL_NAMES ${TOOL_NAMES}
|
||||
CONFIGURE_OPTIONS
|
||||
#--trace-expand
|
||||
${FEATURE_OPTIONS}
|
||||
${FEATURE_CORE_OPTIONS}
|
||||
${FEATURE_NET_OPTIONS}
|
||||
${FEATURE_GUI_OPTIONS}
|
||||
${FEATURE_SQLDRIVERS_OPTIONS}
|
||||
${FEATURE_PRINTSUPPORT_OPTIONS}
|
||||
${FEATURE_WIDGETS_OPTIONS}
|
||||
${INPUT_OPTIONS}
|
||||
-DQT_USE_BUNDLED_BundledFreetype:BOOL=FALSE
|
||||
-DQT_USE_BUNDLED_BundledHarfbuzz:BOOL=FALSE
|
||||
-DQT_USE_BUNDLED_BundledLibpng:BOOL=FALSE
|
||||
-DQT_USE_BUNDLED_BundledPcre2:BOOL=FALSE
|
||||
-DINPUT_bundled_xcb_xinput:STRING=no
|
||||
-DFEATURE_force_debug_info:BOOL=ON
|
||||
-DFEATURE_relocatable:BOOL=ON
|
||||
-DQT_AUTODETECT_ANDROID:BOOL=ON # Use vcpkg toolchain as is
|
||||
CONFIGURE_OPTIONS_RELEASE
|
||||
CONFIGURE_OPTIONS_DEBUG
|
||||
-DFEATURE_debug:BOOL=ON
|
||||
CONFIGURE_OPTIONS_MAYBE_UNUSED
|
||||
FEATURE_appstore_compliant # only used for android/ios
|
||||
QT_AUTODETECT_ANDROID
|
||||
)
|
||||
|
||||
# Install CMake helper scripts
|
||||
file(COPY
|
||||
"${CMAKE_CURRENT_LIST_DIR}/cmake/"
|
||||
DESTINATION
|
||||
"${CURRENT_PACKAGES_DIR}/share/${PORT}"
|
||||
)
|
||||
|
||||
file(CONFIGURE OUTPUT "${CURRENT_PACKAGES_DIR}/share/${PORT}/port_status.cmake" CONTENT "set(qtbase_with_icu ${FEATURE_icu})\n")
|
||||
|
||||
set(other_files qt-cmake
|
||||
qt-cmake-create
|
||||
qt-cmake-private
|
||||
qt-cmake-standalone-test
|
||||
qt-configure-module
|
||||
qt-internal-configure-tests
|
||||
qt-cmake-create
|
||||
qt-internal-configure-examples
|
||||
qt-internal-configure-tests
|
||||
qmake
|
||||
qmake6
|
||||
qtpaths
|
||||
qtpaths6
|
||||
)
|
||||
|
||||
if(CMAKE_HOST_WIN32)
|
||||
set(script_suffix ".bat")
|
||||
else()
|
||||
set(script_suffix "")
|
||||
endif()
|
||||
list(TRANSFORM other_files APPEND "${script_suffix}")
|
||||
|
||||
list(APPEND other_files
|
||||
android_cmakelist_patcher.sh
|
||||
android_emulator_launcher.sh
|
||||
ensure_pro_file.cmake
|
||||
qt-android-runner.py
|
||||
qt-cmake-private-install.cmake
|
||||
qt-testrunner.py
|
||||
qt-wasmtestrunner.py
|
||||
sanitizer-testrunner.py
|
||||
syncqt.pl
|
||||
target_qt.conf
|
||||
)
|
||||
|
||||
foreach(_config debug release)
|
||||
if(_config MATCHES "debug")
|
||||
set(path_suffix debug/)
|
||||
else()
|
||||
set(path_suffix)
|
||||
endif()
|
||||
if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/${path_suffix}bin")
|
||||
continue()
|
||||
endif()
|
||||
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${path_suffix}")
|
||||
foreach(other_file IN LISTS other_files)
|
||||
if(EXISTS "${CURRENT_PACKAGES_DIR}/${path_suffix}bin/${other_file}")
|
||||
set(target_file "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${path_suffix}${other_file}")
|
||||
file(RENAME "${CURRENT_PACKAGES_DIR}/${path_suffix}bin/${other_file}" "${target_file}")
|
||||
file(READ "${target_file}" _contents)
|
||||
if(_config MATCHES "debug")
|
||||
string(REPLACE "..\\share\\" "..\\..\\..\\..\\share\\" _contents "${_contents}")
|
||||
string(REPLACE "../share/" "../../../../share/" _contents "${_contents}")
|
||||
else()
|
||||
string(REPLACE "..\\share\\" "..\\..\\..\\share\\" _contents "${_contents}")
|
||||
string(REPLACE "../share/" "../../../share/" _contents "${_contents}")
|
||||
endif()
|
||||
string(REGEX REPLACE "set cmake_path=[^\n]+\n" "set cmake_path=cmake\n" _contents "${_contents}")
|
||||
string(REGEX REPLACE "original_cmake_path=[^\n]+\n" "original_cmake_path=does-not-exist\n" _contents "${_contents}")
|
||||
file(WRITE "${target_file}" "${_contents}")
|
||||
endif()
|
||||
endforeach()
|
||||
endforeach()
|
||||
if(VCPKG_CROSSCOMPILING AND NOT CMAKE_HOST_WIN32)
|
||||
foreach(name IN ITEMS qmake qmake6 qtpaths qtpaths6)
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${name}" "${CURRENT_HOST_INSTALLED_DIR}/" "\"\$script_dir_path\"/../../../../${HOST_TRIPLET}/")
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
# Fixup qt.toolchain.cmake
|
||||
set(qttoolchain "${CURRENT_PACKAGES_DIR}/share/Qt6/qt.toolchain.cmake")
|
||||
file(READ "${qttoolchain}" toolchain_contents)
|
||||
string(REGEX REPLACE "set\\\(__qt_initially_configured_toolchain_file [^\\\n]+\\\n" "" toolchain_contents "${toolchain_contents}")
|
||||
string(REGEX REPLACE "set\\\(__qt_chainload_toolchain_file [^\\\n]+\\\n" "set(__qt_chainload_toolchain_file \"\${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}\")" toolchain_contents "${toolchain_contents}")
|
||||
string(REGEX REPLACE "set\\\(VCPKG_CHAINLOAD_TOOLCHAIN_FILE [^\\\n]+\\\n" "" toolchain_contents "${toolchain_contents}")
|
||||
string(REGEX REPLACE "set\\\(__qt_initial_c_compiler [^\\\n]+\\\n" "" toolchain_contents "${toolchain_contents}")
|
||||
string(REGEX REPLACE "set\\\(__qt_initial_cxx_compiler [^\\\n]+\\\n" "" toolchain_contents "${toolchain_contents}")
|
||||
string(REPLACE "${CURRENT_HOST_INSTALLED_DIR}" "\${vcpkg_installed_dir}/${HOST_TRIPLET}" toolchain_contents "${toolchain_contents}")
|
||||
file(WRITE "${qttoolchain}" "${toolchain_contents}")
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR NOT VCPKG_TARGET_IS_WINDOWS)
|
||||
if(VCPKG_CROSSCOMPILING)
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/qmake" "${CURRENT_PACKAGES_DIR}/debug/bin/qmake") # qmake has been moved so this is the qmake helper script
|
||||
endif()
|
||||
file(GLOB_RECURSE _bin_files "${CURRENT_PACKAGES_DIR}/bin/*")
|
||||
if(NOT _bin_files) # Only clean if empty otherwise let vcpkg throw and error.
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/" "${CURRENT_PACKAGES_DIR}/debug/bin/")
|
||||
else()
|
||||
message(STATUS "Files in '/bin':${_bin_files}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/Qt6/QtBuildInternals")
|
||||
|
||||
if(NOT VCPKG_TARGET_IS_OSX)
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/Qt6/macos")
|
||||
endif()
|
||||
if(NOT VCPKG_TARGET_IS_IOS)
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/Qt6/ios")
|
||||
endif()
|
||||
|
||||
file(RELATIVE_PATH installed_to_host "${CURRENT_INSTALLED_DIR}" "${CURRENT_HOST_INSTALLED_DIR}")
|
||||
file(RELATIVE_PATH host_to_installed "${CURRENT_HOST_INSTALLED_DIR}" "${CURRENT_INSTALLED_DIR}")
|
||||
if(installed_to_host)
|
||||
string(APPEND installed_to_host "/")
|
||||
string(APPEND host_to_installed "/")
|
||||
endif()
|
||||
set(_file "${CMAKE_CURRENT_LIST_DIR}/qt.conf.in")
|
||||
set(REL_PATH "")
|
||||
set(REL_HOST_TO_DATA "\${CURRENT_INSTALLED_DIR}/")
|
||||
configure_file("${_file}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/qt_release.conf" @ONLY) # For vcpkg-qmake
|
||||
set(BACKUP_CURRENT_INSTALLED_DIR "${CURRENT_INSTALLED_DIR}")
|
||||
set(BACKUP_CURRENT_HOST_INSTALLED_DIR "${CURRENT_HOST_INSTALLED_DIR}")
|
||||
set(CURRENT_INSTALLED_DIR "./../../../")
|
||||
set(CURRENT_HOST_INSTALLED_DIR "${CURRENT_INSTALLED_DIR}${installed_to_host}")
|
||||
|
||||
## Configure installed qt.conf
|
||||
set(REL_HOST_TO_DATA "${host_to_installed}")
|
||||
configure_file("${_file}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qt.conf")
|
||||
set(REL_PATH debug/)
|
||||
configure_file("${_file}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qt.debug.conf")
|
||||
|
||||
set(CURRENT_INSTALLED_DIR "${BACKUP_CURRENT_INSTALLED_DIR}")
|
||||
set(CURRENT_HOST_INSTALLED_DIR "${BACKUP_CURRENT_HOST_INSTALLED_DIR}")
|
||||
set(REL_HOST_TO_DATA "\${CURRENT_INSTALLED_DIR}/")
|
||||
configure_file("${_file}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/qt_debug.conf" @ONLY) # For vcpkg-qmake
|
||||
|
||||
set(target_qt_conf "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/target_qt.conf")
|
||||
if(EXISTS "${target_qt_conf}")
|
||||
file(READ "${target_qt_conf}" qt_conf_contents)
|
||||
string(REGEX REPLACE "Prefix=[^\n]+" "Prefix=./../../../" qt_conf_contents ${qt_conf_contents})
|
||||
string(REGEX REPLACE "HostData=[^\n]+" "HostData=./../${TARGET_TRIPLET}/share/Qt6" qt_conf_contents ${qt_conf_contents})
|
||||
string(REGEX REPLACE "HostPrefix=[^\n]+" "HostPrefix=./../../../../${_HOST_TRIPLET}" qt_conf_contents ${qt_conf_contents})
|
||||
file(WRITE "${target_qt_conf}" "${qt_conf_contents}")
|
||||
if(NOT VCPKG_BUILD_TYPE)
|
||||
set(target_qt_conf_debug "${CURRENT_PACKAGES_DIR}/tools/Qt6/target_qt_debug.conf")
|
||||
configure_file("${target_qt_conf}" "${target_qt_conf_debug}" COPYONLY)
|
||||
file(READ "${target_qt_conf_debug}" qt_conf_contents)
|
||||
string(REGEX REPLACE "=(bin|lib|Qt6/plugins|Qt6/qml)" "=debug/\\1" qt_conf_contents ${qt_conf_contents})
|
||||
file(WRITE "${target_qt_conf_debug}" "${qt_conf_contents}")
|
||||
|
||||
configure_file("${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qmake${script_suffix}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qmake.debug${script_suffix}" COPYONLY)
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qmake.debug${script_suffix}" "target_qt.conf" "target_qt_debug.conf")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(VCPKG_TARGET_IS_ANDROID)
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/Qt6Core/Qt6AndroidMacros.cmake"
|
||||
[[ set(cmake_dir "${prefix_path}/${${export_namespace_upper}_INSTALL_LIBS}/cmake")]]
|
||||
[[ set(cmake_dir "${prefix_path}/share")]]
|
||||
)
|
||||
endif()
|
||||
|
||||
if(VCPKG_TARGET_IS_EMSCRIPTEN)
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/Qt6Core/Qt6WasmMacros.cmake" "_qt_test_emscripten_version()" "") # this is missing a include(QtPublicWasmToolchainHelpers)
|
||||
endif()
|
||||
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
set(_DLL_FILES brotlicommon brotlidec bz2 freetype harfbuzz libpng16)
|
||||
set(DLLS_TO_COPY "")
|
||||
foreach(_file IN LISTS _DLL_FILES)
|
||||
if(EXISTS "${CURRENT_INSTALLED_DIR}/bin/${_file}.dll")
|
||||
list(APPEND DLLS_TO_COPY "${CURRENT_INSTALLED_DIR}/bin/${_file}.dll")
|
||||
endif()
|
||||
endforeach()
|
||||
file(COPY ${DLLS_TO_COPY} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin")
|
||||
endif()
|
||||
|
||||
set(hostinfofile "${CURRENT_PACKAGES_DIR}/share/Qt6HostInfo/Qt6HostInfoConfig.cmake")
|
||||
file(READ "${hostinfofile}" _contents)
|
||||
string(REPLACE [[set(QT6_HOST_INFO_LIBEXECDIR "bin")]] [[set(QT6_HOST_INFO_LIBEXECDIR "tools/Qt6/bin")]] _contents "${_contents}")
|
||||
string(REPLACE [[set(QT6_HOST_INFO_BINDIR "bin")]] [[set(QT6_HOST_INFO_BINDIR "tools/Qt6/bin")]] _contents "${_contents}")
|
||||
file(WRITE "${hostinfofile}" "${_contents}")
|
||||
|
||||
if(NOT VCPKG_CROSSCOMPILING OR EXISTS "${CURRENT_PACKAGES_DIR}/share/Qt6CoreTools/Qt6CoreToolsAdditionalTargetInfo.cmake")
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/Qt6CoreTools/Qt6CoreToolsAdditionalTargetInfo.cmake"
|
||||
"CMAKE_CURRENT_LIST_DIR}/../../bin/syncqt"
|
||||
"CMAKE_CURRENT_LIST_DIR}/../../tools/Qt6/bin/syncqt"
|
||||
IGNORE_UNCHANGED)
|
||||
endif()
|
||||
|
||||
set(configfile "${CURRENT_PACKAGES_DIR}/share/Qt6CoreTools/Qt6CoreToolsTargets-debug.cmake")
|
||||
if(EXISTS "${configfile}")
|
||||
file(READ "${configfile}" _contents)
|
||||
if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qmake.exe")
|
||||
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/qmake.debug.bat" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin")
|
||||
string(REPLACE [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/qmake.exe"]] [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/qmake.debug.bat"]] _contents "${_contents}")
|
||||
endif()
|
||||
if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qtpaths.exe")
|
||||
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/qtpaths.debug.bat" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin")
|
||||
string(REPLACE [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/qtpaths.exe"]] [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/qtpaths.debug.bat"]] _contents "${_contents}")
|
||||
endif()
|
||||
if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/windeployqt.exe")
|
||||
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/windeployqt.debug.bat" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin")
|
||||
string(REPLACE [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/windeployqt.exe"]] [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/windeployqt.debug.bat"]] _contents "${_contents}")
|
||||
endif()
|
||||
file(WRITE "${configfile}" "${_contents}")
|
||||
endif()
|
||||
|
||||
if(VCPKG_CROSSCOMPILING)
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/Qt6/Qt6Dependencies.cmake" "${CURRENT_HOST_INSTALLED_DIR}" "\${CMAKE_CURRENT_LIST_DIR}/../../../${HOST_TRIPLET}")
|
||||
endif()
|
||||
|
||||
function(remove_original_cmake_path file)
|
||||
file(READ "${file}" _contents)
|
||||
string(REGEX REPLACE "original_cmake_path=[^\n]*" "original_cmake_path=''" _contents "${_contents}")
|
||||
file(WRITE "${file}" "${_contents}")
|
||||
endfunction()
|
||||
|
||||
if(NOT VCPKG_TARGET_IS_WINDOWS AND NOT CMAKE_HOST_WIN32)
|
||||
foreach(file "qt-cmake${script_suffix}" "qt-cmake-private${script_suffix}")
|
||||
remove_original_cmake_path("${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${file}")
|
||||
if(NOT VCPKG_BUILD_TYPE)
|
||||
remove_original_cmake_path("${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/debug/${file}")
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
# dlls owned but not automatically installed by qtbase
|
||||
# this is required to avoid ownership troubles in downstream qt modules
|
||||
set(qtbase_owned_dlls
|
||||
double-conversion.dll
|
||||
icudt74.dll
|
||||
icuin74.dll
|
||||
icuuc74.dll
|
||||
libcrypto-3-${VCPKG_TARGET_ARCHITECTURE}.dll
|
||||
libcrypto-3.dll # for x86
|
||||
pcre2-16.dll
|
||||
zlib1.dll
|
||||
zstd.dll
|
||||
)
|
||||
if("dbus" IN_LIST FEATURES)
|
||||
list(APPEND qtbase_owned_dlls dbus-1-3.dll)
|
||||
endif()
|
||||
list(TRANSFORM qtbase_owned_dlls PREPEND "${CURRENT_INSTALLED_DIR}/bin/")
|
||||
foreach(dll IN LISTS qtbase_owned_dlls)
|
||||
if(NOT EXISTS "${dll}") # Need to remove non-existant dlls since dependencies could have been build statically
|
||||
list(REMOVE_ITEM qtbase_owned_dlls "${dll}")
|
||||
endif()
|
||||
endforeach()
|
||||
file(COPY ${qtbase_owned_dlls} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin")
|
||||
endif()
|
||||
@ -1,2 +0,0 @@
|
||||
@echo off
|
||||
"%0\..\qmake.exe" -qtconf "%0\..\qt.debug.conf" %*
|
||||
@ -1,31 +0,0 @@
|
||||
[DevicePaths]
|
||||
Prefix=${CURRENT_INSTALLED_DIR}
|
||||
Headers=include/@QT6_DIRECTORY_PREFIX@
|
||||
Libraries=@REL_PATH@lib
|
||||
Plugins=@REL_PATH@@QT6_DIRECTORY_PREFIX@plugins
|
||||
Qml2Imports=@REL_PATH@@QT6_DIRECTORY_PREFIX@qml
|
||||
Documentation=doc/@QT6_DIRECTORY_PREFIX@
|
||||
Binaries=@REL_PATH@bin
|
||||
LibraryExecutables=tools/Qt6/bin
|
||||
ArchData=share/Qt6
|
||||
Data=share/Qt6
|
||||
Translations=translations/@QT6_DIRECTORY_PREFIX@
|
||||
Examples=share/examples/@QT6_DIRECTORY_PREFIX@
|
||||
[Paths]
|
||||
Prefix=${CURRENT_INSTALLED_DIR}
|
||||
Headers=include/@QT6_DIRECTORY_PREFIX@
|
||||
Libraries=@REL_PATH@lib
|
||||
Plugins=@REL_PATH@@QT6_DIRECTORY_PREFIX@plugins
|
||||
Qml2Imports=@REL_PATH@@QT6_DIRECTORY_PREFIX@qml
|
||||
Documentation=doc/@QT6_DIRECTORY_PREFIX@
|
||||
Binaries=@REL_PATH@bin
|
||||
LibraryExecutables=tools/Qt6/bin
|
||||
ArchData=share/Qt6
|
||||
Data=share/Qt6
|
||||
Translations=translations/@QT6_DIRECTORY_PREFIX@
|
||||
Examples=share/examples/@QT6_DIRECTORY_PREFIX@
|
||||
HostPrefix=${CURRENT_HOST_INSTALLED_DIR}
|
||||
HostData=@REL_HOST_TO_DATA@share/Qt6
|
||||
HostBinaries=@REL_PATH@bin
|
||||
HostLibraries=@REL_PATH@lib
|
||||
HostLibraryExecutables=tools/Qt6/bin
|
||||
@ -1,2 +0,0 @@
|
||||
@echo off
|
||||
"%0\..\qtpaths.exe" --qtconf "%0\..\qt.debug.conf" %*
|
||||
@ -1,31 +0,0 @@
|
||||
src/corelib/mimetypes/mimetypes_resources.cmake | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/corelib/mimetypes/mimetypes_resources.cmake b/src/corelib/mimetypes/mimetypes_resources.cmake
|
||||
index 1bec50e4..d4d54763 100644
|
||||
--- a/src/corelib/mimetypes/mimetypes_resources.cmake
|
||||
+++ b/src/corelib/mimetypes/mimetypes_resources.cmake
|
||||
@@ -7,17 +7,17 @@
|
||||
# file with the same information
|
||||
|
||||
set(corelib_mimetypes_resource_file
|
||||
- "${CMAKE_CURRENT_LIST_DIR}/3rdparty/tika-mimetypes.xml"
|
||||
+ "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/share/mime/packages/freedesktop.org.xml"
|
||||
)
|
||||
|
||||
function(corelib_add_mimetypes_resources target)
|
||||
set(source_file "${corelib_mimetypes_resource_file}")
|
||||
set_source_files_properties("${source_file}"
|
||||
- PROPERTIES QT_RESOURCE_ALIAS "tika-mimetypes.xml"
|
||||
+ PROPERTIES QT_RESOURCE_ALIAS "freedesktop.org.xml"
|
||||
)
|
||||
qt_internal_add_resource(${target} "mimetypes"
|
||||
PREFIX
|
||||
- "/qt-project.org/qmime/tika/packages"
|
||||
+ "/qt-project.org/qmime/packages"
|
||||
FILES
|
||||
"${source_file}"
|
||||
)
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@ -1,594 +0,0 @@
|
||||
{
|
||||
"name": "qtbase",
|
||||
"version": "6.8.3",
|
||||
"port-version": 3,
|
||||
"description": "Qt Base (Core, Gui, Widgets, Network, ...)",
|
||||
"homepage": "https://www.qt.io/",
|
||||
"license": null,
|
||||
"supports": "!uwp",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "libb2",
|
||||
"platform": "!windows"
|
||||
},
|
||||
{
|
||||
"name": "pcre2",
|
||||
"default-features": false
|
||||
},
|
||||
{
|
||||
"name": "qtbase",
|
||||
"host": true,
|
||||
"default-features": false
|
||||
},
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"doubleconversion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"cups",
|
||||
"thread"
|
||||
],
|
||||
"platform": "osx"
|
||||
},
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"concurrent",
|
||||
"thread"
|
||||
],
|
||||
"platform": "android"
|
||||
},
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"pcre2"
|
||||
],
|
||||
"platform": "windows & static"
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
},
|
||||
"zlib"
|
||||
],
|
||||
"default-features": [
|
||||
{
|
||||
"name": "appstore-compliant",
|
||||
"platform": "uwp"
|
||||
},
|
||||
"brotli",
|
||||
"concurrent",
|
||||
{
|
||||
"name": "dbus",
|
||||
"platform": "!(static & windows) & !android"
|
||||
},
|
||||
"dnslookup",
|
||||
"doubleconversion",
|
||||
{
|
||||
"name": "egl",
|
||||
"platform": "linux"
|
||||
},
|
||||
{
|
||||
"name": "egl",
|
||||
"platform": "android"
|
||||
},
|
||||
{
|
||||
"name": "fontconfig",
|
||||
"platform": "linux"
|
||||
},
|
||||
"freetype",
|
||||
{
|
||||
"name": "gles2",
|
||||
"platform": "android"
|
||||
},
|
||||
"gui",
|
||||
"harfbuzz",
|
||||
"icu",
|
||||
"jpeg",
|
||||
"network",
|
||||
{
|
||||
"name": "opengl",
|
||||
"platform": "!ios"
|
||||
},
|
||||
{
|
||||
"name": "openssl",
|
||||
"platform": "!ios"
|
||||
},
|
||||
"pcre2",
|
||||
"png",
|
||||
{
|
||||
"name": "securetransport",
|
||||
"platform": "ios"
|
||||
},
|
||||
"sql",
|
||||
"sql-psql",
|
||||
"sql-sqlite",
|
||||
"testlib",
|
||||
"thread",
|
||||
"widgets",
|
||||
{
|
||||
"name": "xcb",
|
||||
"platform": "linux"
|
||||
},
|
||||
{
|
||||
"name": "xcb-xlib",
|
||||
"platform": "linux"
|
||||
},
|
||||
{
|
||||
"name": "xrender",
|
||||
"platform": "linux"
|
||||
},
|
||||
"zstd"
|
||||
],
|
||||
"features": {
|
||||
"appstore-compliant": {
|
||||
"description": "Disable code that is not allowed in platform app stores. This is on by default for platforms which require distribution through an app store by default, in particular Android, iOS, tvOS, and watchOS."
|
||||
},
|
||||
"brotli": {
|
||||
"description": "Support for downloading and decompressing resources compressed with Brotli through QNetworkAccessManager.",
|
||||
"dependencies": [
|
||||
"brotli",
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"network"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"concurrent": {
|
||||
"description": "Provides a high-level multi-threading API. Qt Concurrent",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"thread"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"cups": {
|
||||
"description": "Provides support for the Common Unix Printing System.",
|
||||
"supports": "linux | osx"
|
||||
},
|
||||
"dbus": {
|
||||
"description": "Qt D-Bus",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "dbus",
|
||||
"default-features": false
|
||||
},
|
||||
{
|
||||
"name": "qtbase",
|
||||
"host": true,
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"dbus"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"thread"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"dnslookup": {
|
||||
"description": "Enable DNS lookup support",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"network",
|
||||
"thread"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"doubleconversion": {
|
||||
"description": "Enable double conversion support",
|
||||
"dependencies": [
|
||||
"double-conversion"
|
||||
]
|
||||
},
|
||||
"egl": {
|
||||
"description": "EGL",
|
||||
"supports": "android | linux",
|
||||
"dependencies": [
|
||||
"egl"
|
||||
]
|
||||
},
|
||||
"fontconfig": {
|
||||
"description": "Use fontconfig",
|
||||
"supports": "!osx & !windows",
|
||||
"dependencies": [
|
||||
"fontconfig",
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"freetype",
|
||||
"gui"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"framework": {
|
||||
"description": "MAC framework build",
|
||||
"supports": "osx & !static"
|
||||
},
|
||||
"freetype": {
|
||||
"description": "Supports the FreeType 2 font engine (and its supported font formats).",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "freetype",
|
||||
"default-features": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"gles2": {
|
||||
"description": "OpenGL ES 2.0",
|
||||
"supports": "!windows & !osx",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"gui"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"gles3": {
|
||||
"description": "OpenGL ES 3.0",
|
||||
"supports": "!windows & !osx",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"gles2"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"glib": {
|
||||
"description": "GLib",
|
||||
"dependencies": [
|
||||
"glib"
|
||||
]
|
||||
},
|
||||
"gtk3": {
|
||||
"description": "GTK3 platform theme plugin",
|
||||
"supports": "linux",
|
||||
"dependencies": [
|
||||
"gtk3",
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"glib"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"gui": {
|
||||
"description": "Qt Gui",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "opengl",
|
||||
"platform": "!ios"
|
||||
},
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"freetype"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"opengl"
|
||||
],
|
||||
"platform": "osx"
|
||||
},
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"egl",
|
||||
"gles2",
|
||||
"opengl"
|
||||
],
|
||||
"platform": "android"
|
||||
},
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"thread"
|
||||
],
|
||||
"platform": "windows"
|
||||
}
|
||||
]
|
||||
},
|
||||
"harfbuzz": {
|
||||
"description": "Use harfbuzz",
|
||||
"dependencies": [
|
||||
"harfbuzz",
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"gui"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"icu": {
|
||||
"description": "Enable ICU support",
|
||||
"dependencies": [
|
||||
"icu"
|
||||
]
|
||||
},
|
||||
"jpeg": {
|
||||
"description": "Enable JPEG",
|
||||
"dependencies": [
|
||||
"libjpeg-turbo",
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"gui"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"network": {
|
||||
"description": "Qt Network"
|
||||
},
|
||||
"opengl": {
|
||||
"description": "OpenGL",
|
||||
"dependencies": [
|
||||
"opengl",
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"gui"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"openssl": {
|
||||
"description": "Enable OpenSSL",
|
||||
"dependencies": [
|
||||
"openssl",
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"network"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"pcre2": {
|
||||
"description": "Enable PCRE2 support",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "pcre2",
|
||||
"default-features": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"png": {
|
||||
"description": "Enable PNG",
|
||||
"dependencies": [
|
||||
"libpng",
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"gui"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"securetransport": {
|
||||
"description": "Enable Secure Transport",
|
||||
"supports": "ios | osx"
|
||||
},
|
||||
"shared-mime-info": {
|
||||
"description": "Use GPL licensed shared-mime-info port from freedesktop.org",
|
||||
"dependencies": [
|
||||
"shared-mime-info"
|
||||
]
|
||||
},
|
||||
"sql": {
|
||||
"description": "Qt Sql",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"concurrent"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"sql-mysql": {
|
||||
"description": "Enable SQL Driver MySQL",
|
||||
"dependencies": [
|
||||
"libmysql",
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"sql"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"sql-oci": {
|
||||
"description": "Enable SQL Driver Oracle OCI",
|
||||
"dependencies": [
|
||||
"ocilib",
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"sql"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"sql-odbc": {
|
||||
"description": "Enable SQL Driver odbc",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"sql"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "unixodbc",
|
||||
"platform": "!windows"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sql-psql": {
|
||||
"description": "Enable SQL Driver psql",
|
||||
"dependencies": [
|
||||
"libpq",
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"sql"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"sql-sqlite": {
|
||||
"description": "Enable SQL Driver sqlite",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"sql"
|
||||
]
|
||||
},
|
||||
"sqlite3"
|
||||
]
|
||||
},
|
||||
"testlib": {
|
||||
"description": "Qt Testlib"
|
||||
},
|
||||
"thread": {
|
||||
"description": "Thread support; provides QThread and related classes."
|
||||
},
|
||||
"vulkan": {
|
||||
"description": "Enable Vulkan support",
|
||||
"dependencies": [
|
||||
"vulkan"
|
||||
]
|
||||
},
|
||||
"widgets": {
|
||||
"description": "Qt Widgets",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"gui"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"xcb": {
|
||||
"description": "XCB",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"concurrent",
|
||||
"xkbcommon-x11",
|
||||
"xlib"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"xcb-xlib": {
|
||||
"description": "xcb-xlib",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"xlib"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"xkb": {
|
||||
"description": "XKB"
|
||||
},
|
||||
"xkbcommon-x11": {
|
||||
"description": "xkbcommon_x11",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"xkb"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"xlib": {
|
||||
"description": "XLib"
|
||||
},
|
||||
"xrender": {
|
||||
"description": "XRender for native painting",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "qtbase",
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"xcb"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"zstd": {
|
||||
"description": "Zstandard support",
|
||||
"dependencies": [
|
||||
"zstd"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,10 +0,0 @@
|
||||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
set mypath=%~dp0
|
||||
set mypath=%mypath:~0,-1%
|
||||
set BAKCD=!CD!
|
||||
cd /D "%mypath%\..\..\..\debug\bin"
|
||||
set PATH=!CD!;%PATH%
|
||||
cd /D "%BAKCD%"
|
||||
"%mypath%\windeployqt6.exe" --qtpaths "%mypath%\qtpaths.debug.bat" %*
|
||||
endlocal
|
||||
@ -2,13 +2,13 @@
|
||||
"vcpkg-configuration": {
|
||||
"default-registry": {
|
||||
"kind": "git",
|
||||
"baseline": "f75c836a67777a86a2c1116a28b179827f028b66",
|
||||
"baseline": "9e7bfb1bcd1fa2e6e0755c4076441360b9c9ded7",
|
||||
"repository": "https://github.com/microsoft/vcpkg"
|
||||
},
|
||||
"registries": [
|
||||
{
|
||||
"kind": "git",
|
||||
"baseline": "41cf51e71be4bdbb8ee03ceabfdcb390c908c1ae",
|
||||
"baseline": "b7adf319e27723718179b451efde85606a2c42ae",
|
||||
"repository": "https://github.com/open-vcpkg/python-registry",
|
||||
"packages": [
|
||||
"python3",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user