[Qt6|6.1.0] Add new ports. (#14333)

* wip commit

* refactor openssl ports.

* fix issues due to the file movement

* qt build succesful.

* qtbase finished?

* add qttools and qtdeclarative

* add EntryPoints to fixup_cmake_targets

* add todo

* more config fixup

* correct entrypoint and remove winmain

* format manifest

* fix module issues

* add extra vars

* make qtdeclarative work (x64-windows). -static has problems

* some extra cleanup tools start building

* refactor code to use common script across ports

* remove patch applied twice

* remove copy pasta

* add remaining qt6 ports

* fix a few details

* fix the rest

* format manifests

* add features to qt5compat.

* small modification to directories

* copy plugins

* a bit of cleanup

* smaller fixes

* format manifest

* fix_linux_configure_issue

* adding linux features.

* dont use quotes around INSTALL_ vars to fix linux build

* fix script install on linux

* remove bin if empty on all platforms otherwise let vcpkg throw an error

* fix syncqt path

* fix assimp feature

* try to figure you ci failures

* fix manifest format

* change the head ref to dev
add three required upstream cmake patches
allow single config builds

* fix typo

* switch to use FEATURE_ instead of QT_FEATURE

* [ZSTD] Update to 1.4.5

* [zstd] fix wrong assert to fix uwp regressions

* always install *.pc file. Correct -l flag in pc file

* remove any changes to vcpkg_copy_tools

* fix orc regression

* fix arrow regressions

* fix zstd target suffix

* fix orc zstd linkage

* fix find_package(ZSTD)

* fix icu linkage in harfbuzz

* install zstd dlls.

* skip qt5-base in ci to test qtbase due to conflicts

* fix the patch due to a replacement error

* add a way for vcpkg_from_github to only download the source archive and return the archive file name.

* update everything to beta4.
maybe qtdeclarative:x64-windows-static works now?

* remove outdated patches

* Print the failed condition

* more debug messages

* fix condition patch

* update to beta5

* update vcpkg_from_git to support tags and make output of ref possible.

* update ports

* add missing qt ports, fix qtbase build

* regenerate docs

* fix typo

* fix imageformats webp

* fix qtdeclarative static builds msvc

* more fixes

* make the rest of qt build succesfully. (only tested x64-windows)

* format manifest.

* [vcpkg_from_git] new options TAG and OUT_REF
- TAG github tag to checkout
- OUT_REF github commit id related to tag or ref
(useable for automatic updates of ports if used with a version tag)

* fix importprefix in qml plugin targets in static builds

* fix static qttools build on windows

* move qml plugin fix into qtbase

* try fixing staqtic build issues.

* make comment in qtquickcontrols2

* dont promote targets

* fix missing limits include

* fix patch

* pass options in qtopcua

* fix freetype linkage

* fix freetype a bit different

* fix promotion patch

* fix freetype wrapper without "

* fix typo in patch

* enable build of qtopcua

* format manifest for ci to run

* retry promotion

* try again but explicity not promote Threads::Threads

* push patch

* [fontconfig] add vcpkg cmake wrapper.

* fix empty statement in the wrapper

* show files in bin if any

* Apply suggestions from code review

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>

* additional changes due to CR

* regenerate docs

* qdoc is build if llvm is present.

* fix merge issues

* fix wayland deps

* add qt5-base to skip for static-md

* format manifest.

* update all qt ports. Lets see which patches need to be fixed/removed

* fix some regressions by removing patches no longer necessary.
(needs further cleanup to actually remove the patches)

* fix qtopcua

* make qttools build on osx

* fix dependency of qttranslations

* fix qtwayland

* fix typo

* fix case

* adjust ci baseline for qtwayland on osx due to missing system libs.

* create directory before rename

* trying to make osx work

* create the directory and move the files

* move the removing outside the foreach ....

* update to 6.0.2

* remove some outdated patches

* qt 6.1.0-beta1 ci testing

* remove unused patches

* fix a few issues with qt 6.1.0-beta1
qtvirtualkeyboard needs some features.
+ need to install cmake wrappers from qtimageformats.
+ move QtAxServer to manual-link

* Fix missing qt cmake wrappers for qttools and qtshadertools.

* block qt beta ports in CI

* turn off beta build in CI

* remove outdated patches

* skip qt6 beta ports in CI

* [gettext] add feature tools.

* switch hunspell to configure_make for pc files

* switch to manifest

* hunspell remove port debug and add comment about tools

* setup qtvirtualkeyboard features.

* fix manifest format CI

* only run wayland on linux

* disable pthread detection in gettext on windows

* fix hunspell host dependency

* formant manifest

* - add qt6 prefix
- add qt.conf.in
- make qtbase depend on itself (host dependency)
and see what breaks.

* cannot add qt6 to bin folder currently.

* try the prefix method
- add tools-path to vcpkg_fixup_cmake_targets
- add destination to vcpkg_copy_tools

* feature refinement

* fix tools issues

* update baseline

* more feature refinement.

* be less noise in logs

* update version in gettext
format-manifest.

* add version details

* move on to qt version 6.0.3

* build cmake test port against qt6

* move qt5 includes into include/qt5

* ws change in cmake to force rebuild

* version stuff

* add plugin_config patch

* version stuff

* use upstream plugin patch for 6.1

* version stuff

* update to qt 6.1.0-beta3

* add alignment patch

* fix hunspell include path

* make the patch depend on architecture

* add qbittorrent as a test port

* downgrade qbittorrent a bit so that in can run in CI

* remove bin in static builds

* remove debug folder completly (since it is empty)

* copy additional deps required by qtshadertools and qtdeclarative in qtbase to avoid issues with binary chaching.

* fix logic

* try upstream alignment patch

* update baseline

* add feature options to qt5compat

* update to qt 6.1.0

* version stuff

* fix qt.conf (for release builds only)

* fix install of missing FindX modules in qtimageformats which where supposed to be fixed upstream but aren't

* remove unnecessary patch

* version stuff

* fix some qt.conf stuff

* install some wrappers for debug builds.

* fine tuning qt.conf

* fix debug windeployqt install but somebody is linking release icudt in debug

* fix arm crossbuilds on windows

* remove tools default line

* version stuff

* add missing host dependencies.

* fix windeploy target correctly for debug

* fix cmake arm builds.

* some batch improvements

* run qmake.debug.bat for debug builds.

* version stuff

* unconditionally include the patch in qtvirtualkeyboard

* version stuff

* more host dependencies

* version stuff

* more host deps

* version stuff

* fix qtactiveqt

* version stuff

* suppress batch skript output

* version stuff

* Apply CR changes

* version stuff

* newline attack

* update qbittorrent test port and newline...

* version stuff again

* switch to version-semver

* version stuff

* remove qbittorrent test_port because
- easier than rewriting history
- qt6svg usage will probably be tested by paraview/vtk in the future

Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
This commit is contained in:
Alexander Neumann 2021-06-01 20:05:59 +02:00 committed by GitHub
parent 7bc5b8cdfa
commit 36000a1085
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
97 changed files with 2827 additions and 18 deletions

1
ports/qt/portfile.cmake Normal file
View File

@ -0,0 +1 @@
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)

50
ports/qt/vcpkg.json Normal file
View File

@ -0,0 +1,50 @@
{
"name": "qt",
"version-semver": "6.1.0",
"description": "Qt",
"homepage": "https://www.qt.io/",
"dependencies": [
"qt5compat",
{
"name": "qtbase",
"default-features": false
},
"qtcharts",
"qtcoap",
"qtdatavis3d",
"qtdeclarative",
"qtdoc",
"qtimageformats",
"qtlottie",
"qtmqtt",
"qtnetworkauth",
"qtopcua",
"qtquick3d",
"qtquickcontrols2",
"qtquicktimeline",
"qtscxml",
"qtshadertools",
"qtsvg",
"qttools",
"qttranslations",
"qtvirtualkeyboard"
],
"default-features": [
"default-features"
],
"features": {
"default-features": {
"description": "Platform-dependent default features",
"dependencies": [
{
"name": "qtactiveqt",
"platform": "windows"
},
{
"name": "qtwayland",
"platform": "linux"
}
]
}
}
}

View File

@ -0,0 +1,28 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
"textcodec" FEATURE_textcodec
"codecs" FEATURE_codecs
"big-codecs" FEATURE_big_codecs
"iconv" FEATURE_iconv
"iconv" CMAKE_DISABLE_FIND_PACKAGE_ICU
INVERTED_FEATURES
"iconv" CMAKE_DISABLE_FIND_PACKAGE_WrapIconv
)
#For iconv feature to work the following must be true:
#CONDITION NOT FEATURE_icu AND FEATURE_textcodec AND NOT WIN32 AND NOT QNX AND NOT ANDROID AND NOT APPLE AND WrapIconv_FOUND
#TODO: check if qtbase was built with ICU and fail if iconv is given here.
set(TOOL_NAMES)
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
TOOL_NAMES ${TOOL_NAMES}
CONFIGURE_OPTIONS
${FEATURE_OPTIONS}
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)

View File

@ -0,0 +1,63 @@
{
"name": "qt5compat",
"version-semver": "6.1.0",
"description": "The module contains unsupported Qt 5 APIs",
"homepage": "https://www.qt.io/",
"dependencies": [
{
"name": "qtbase",
"default-features": false
}
],
"default-features": [
"big-codecs",
"codecs",
"default-features",
"textcodec"
],
"features": {
"big-codecs": {
"description": "Supports big codecs, e.g. CJK.",
"dependencies": [
{
"name": "qt5compat",
"default-features": false,
"features": [
"textcodec"
]
}
]
},
"codecs": {
"description": "Supports non-unicode text conversions.",
"dependencies": [
{
"name": "qt5compat",
"default-features": false,
"features": [
"textcodec"
]
}
]
},
"default-features": {
"description": "Platform-dependent default features"
},
"iconv": {
"description": "Provides internationalization on Unix.",
"dependencies": [
"libiconv",
{
"name": "qt5compat",
"default-features": false,
"features": [
"textcodec"
]
}
]
},
"textcodec": {
"description": "Supports conversions between text encodings."
}
}
}

View File

@ -0,0 +1 @@
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)

View File

@ -0,0 +1,12 @@
{
"name": "qt6betablock",
"version-semver": "6.2.0-beta",
"description": "Port to block qt6 ports not in the current release to be build in CI",
"homepage": "https://www.qt.io/",
"dependencies": [
{
"name": "qtbase",
"default-features": false
}
]
}

View File

@ -0,0 +1,29 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES)
set(NO_BIN_AND_TOOLS FALSE)
if(VCPKG_TARGET_ARCHITECTURE MATCHES "^arm" AND VCPKG_TARGET_IS_WINDOWS)
set(NO_BIN_AND_TOOLS TRUE)
endif()
if(NOT NO_BIN_AND_TOOLS)
set(TOOL_NAMES
dumpcpp
dumpdoc
idc
testcon
)
endif()
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
TOOL_NAMES ${TOOL_NAMES}
CONFIGURE_OPTIONS
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)
if(NO_BIN_AND_TOOLS)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin" "${CURRENT_PACKAGES_DIR}/tools")
endif()

View File

@ -0,0 +1,22 @@
{
"name": "qtactiveqt",
"version-semver": "6.1.0",
"description": "ActiveQt",
"homepage": "https://www.qt.io/",
"supports": "windows",
"dependencies": [
{
"name": "qtactiveqt",
"host": true,
"default-features": false
},
{
"name": "qtbase",
"default-features": false
},
{
"name": "qttools",
"default-features": false
}
]
}

View File

@ -0,0 +1,22 @@
diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake
index bd186c28b..2c1994d2e 100644
--- a/cmake/QtBuild.cmake
+++ b/cmake/QtBuild.cmake
@@ -28,11 +28,13 @@ 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} ")
- return()
+ #message(FATAL_ERROR
+ # "Path component '${name}' is outside computed install prefix: ${rel_path} ")
+ #return()
+ set("${name}" "${rel_path}" CACHE STRING "${docstring}" FORCE)
+ else()
+ set("${name}" "${${name}}" CACHE STRING "${docstring}" FORCE)
endif()
- set("${name}" "${${name}}" CACHE STRING "${docstring}" FORCE)
else()
set("${name}" "${rel_path}" CACHE STRING "${docstring}" FORCE)
endif()

View File

@ -0,0 +1,41 @@
diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake
index d08126731..efd1ada92 100644
--- a/cmake/QtBuild.cmake
+++ b/cmake/QtBuild.cmake
@@ -387,7 +387,7 @@ set(QT_KNOWN_MODULES_WITH_TOOLS "" CACHE INTERNAL "Known Qt modules with tools"
# Reset syncqt cache variable, to make sure it gets recomputed on reconfiguration, otherwise
# it might not get installed.
-unset(QT_SYNCQT CACHE)
+# unset(QT_SYNCQT CACHE)
# For adjusting variables when running tests, we need to know what
# the correct variable is for separating entries in PATH-alike
diff --git a/cmake/QtBuildInternalsExtra.cmake.in b/cmake/QtBuildInternalsExtra.cmake.in
index 9eb913f4d..286f3287e 100644
--- a/cmake/QtBuildInternalsExtra.cmake.in
+++ b/cmake/QtBuildInternalsExtra.cmake.in
@@ -35,8 +35,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.")
diff --git a/cmake/QtPrlHelpers.cmake b/cmake/QtPrlHelpers.cmake
index 30d3bd6d3..80bb2bf46 100644
--- a/cmake/QtPrlHelpers.cmake
+++ b/cmake/QtPrlHelpers.cmake
@@ -222,7 +222,7 @@ function(qt_internal_walk_libs
qt_internal_should_not_promote_package_target_to_global(
"${lib_target_unaliased}" should_not_promote)
if(NOT is_global AND is_imported AND NOT should_not_promote)
- set_property(TARGET ${lib_target_unaliased} PROPERTY IMPORTED_GLOBAL TRUE)
+ #set_property(TARGET ${lib_target_unaliased} PROPERTY IMPORTED_GLOBAL TRUE)
endif()
endif()
else()

View File

@ -0,0 +1,18 @@
#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()
file(INSTALL "${LICENSE_PATH}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
endfunction()

View File

@ -0,0 +1,207 @@
include("${CMAKE_CURRENT_LIST_DIR}/qt_install_copyright.cmake")
if(QT_IS_LATEST AND PORT STREQUAL "qtbase")
include("${CMAKE_CURRENT_LIST_DIR}/qt_port_details-latest.cmake")
else()
include("${CMAKE_CURRENT_LIST_DIR}/qt_port_details.cmake")
endif()
#set(PORT_DEBUG ON)
if(NOT DEFINED QT6_DIRECTORY_PREFIX)
set(QT6_DIRECTORY_PREFIX "qt6/")
endif()
macro(qt_stop_on_update)
if(QT_UPDATE_VERSION)
set(VCPKG_POLICY_EMPTY_PACKAGE enabled CACHE INTERNAL "")
return()
endif()
endmacro()
function(qt_install_submodule)
cmake_parse_arguments(PARSE_ARGV 0 "_qis" "DISABLE_NINJA"
""
"PATCHES;TOOL_NAMES;CONFIGURE_OPTIONS;CONFIGURE_OPTIONS_DEBUG;CONFIGURE_OPTIONS_RELEASE")
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})
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})
if(QT_UPDATE_VERSION)
set(UPDATE_PORT_GIT_OPTIONS
X_OUT_REF NEW_REF)
endif()
vcpkg_from_git(
OUT_SOURCE_PATH SOURCE_PATH
URL git://code.qt.io/qt/${PORT}.git
TAG ${${PORT}_TAG}
REF ${${PORT}_REF}
${UPDATE_PORT_GIT_OPTIONS}
PATCHES ${_qis_PATCHES}
)
if(QT_UPDATE_VERSION)
set(VCPKG_POLICY_EMPTY_PACKAGE enabled CACHE INTERNAL "")
file(APPEND "${VCPKG_ROOT_DIR}/ports/qtbase/cmake/qt_new_refs.cmake" "set(${PORT}_REF ${NEW_REF})\n")
return()
endif()
if(VCPKG_TARGET_IS_WINDOWS)
if(NOT ${PORT} MATCHES "qtbase")
list(APPEND _qis_CONFIGURE_OPTIONS -DQT_SYNCQT:PATH="${CURRENT_HOST_INSTALLED_DIR}/tools/qt6/bin/syncqt.pl")
endif()
set(PERL_OPTION -DHOST_PERL:PATH="${PERL}")
else()
if(NOT ${PORT} MATCHES "qtbase")
list(APPEND _qis_CONFIGURE_OPTIONS -DQT_SYNCQT:PATH=${CURRENT_HOST_INSTALLED_DIR}/tools/qt6/bin/syncqt.pl)
endif()
set(PERL_OPTION -DHOST_PERL:PATH=${PERL})
endif()
if(NOT _qis_DISABLE_NINJA)
set(NINJA_OPTION PREFER_NINJA)
endif()
if(VCPKG_CROSSCOMPILING)
list(APPEND _qis_CONFIGURE_OPTIONS -DQT_HOST_PATH=${CURRENT_HOST_INSTALLED_DIR})
list(APPEND _qis_CONFIGURE_OPTIONS -DQT_HOST_PATH_CMAKE_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64 AND VCPKG_TARGET_IS_WINDOWS) # Remove if PR #16111 is merged
list(APPEND _qis_CONFIGURE_OPTIONS -DCMAKE_CROSSCOMPILING=ON -DCMAKE_SYSTEM_PROCESSOR:STRING=ARM64 -DCMAKE_SYSTEM_NAME:STRING=Windows)
endif()
endif()
set(qt_plugindir ${QT6_DIRECTORY_PREFIX}plugins)
set(qt_qmldir ${QT6_DIRECTORY_PREFIX}qml)
vcpkg_configure_cmake(
SOURCE_PATH "${SOURCE_PATH}"
${NINJA_OPTION}
OPTIONS
#-DQT_HOST_PATH=<somepath> # For crosscompiling
#-DQT_PLATFORM_DEFINITION_DIR=mkspecs/win32-msvc
#-DQT_QMAKE_TARGET_MKSPEC=win32-msvc
#-DQT_USE_CCACHE
-DQT_NO_MAKE_EXAMPLES:BOOL=TRUE
-DQT_NO_MAKE_TESTS:BOOL=TRUE
${PERL_OPTION}
-DINSTALL_BINDIR:STRING=bin
-DINSTALL_LIBEXECDIR:STRING=bin
-DINSTALL_PLUGINSDIR:STRING=${qt_plugindir}
-DINSTALL_QMLDIR:STRING=${qt_qmldir}
${_qis_CONFIGURE_OPTIONS}
OPTIONS_RELEASE
${_qis_CONFIGURE_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
-DINPUT_debug:BOOL=ON
-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
${_qis_CONFIGURE_OPTIONS_DEBUG}
)
vcpkg_install_cmake(ADD_BIN_TO_PATH)
vcpkg_copy_pdbs()
## 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_fixup_cmake_targets(CONFIG_PATH share/Qt6${_comp} TARGET_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_fixup_cmake_targets 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_fixup_pkgconfig)
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}")
vcpkg_replace_string("${_debug_target}" "{_IMPORT_PREFIX}/${qt_qmldir}" "{_IMPORT_PREFIX}/debug/${qt_qmldir}")
endforeach()
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
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_fixup_pkgconfig
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)")
endforeach()
endif()
set(qt_tooldest "${CURRENT_PACKAGES_DIR}/tools/qt6/bin")
set(qt_searchdir "${CURRENT_PACKAGES_DIR}/bin")
## Handle Tools
foreach(_tool IN LISTS _qis_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 _qis_TOOL_NAMES ${_tool})
endif()
endforeach()
if(_qis_TOOL_NAMES)
set(tool_names ${_qis_TOOL_NAMES})
vcpkg_copy_tools(TOOL_NAMES ${tool_names} SEARCH_DIR "${qt_searchdir}" DESTINATION "${qt_tooldest}" AUTO_CLEAN)
if(EXISTS "${CURRENT_PACKAGES_DIR}/${qt_plugindir}")
file(COPY "${CURRENT_PACKAGES_DIR}/${qt_plugindir}/" DESTINATION "${qt_tooldest}")
endif()
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/"
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(GLOB_RECURSE _bin_files "${CURRENT_PACKAGES_DIR}/bin/*")
debug_message("Files in bin: '${_bin_files}'")
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/")
endif()
endif()
qt_install_copyright("${SOURCE_PATH}")
set(SOURCE_PATH "${SOURCE_PATH}" PARENT_SCOPE)
endfunction()

View File

@ -0,0 +1,80 @@
set(QT_VERSION 6.1.0-beta3)
set(QT_GIT_TAG v${QT_VERSION})
#set(QT_UPDATE_VERSION TRUE)
set(QT_IS_LATEST 1)
# List of added an removed modules https://doc-snapshots.qt.io/qt6-dev/whatsnew60.html#changes-to-supported-modules
#https://wiki.qt.io/Get_the_Source
#TODO:qtknx?
set(QT_PORTS qtbase
qttools
qtdeclarative
qtsvg
qt5compat
qtshadertools
qtquicktimeline
qtquick3d
qttranslations
qtwayland
qtdoc
qtcoap
qtopcua
qtimageformats
qtmqtt
qtnetworkauth
qtquickcontrols2
###
qtactiveqt
qtdatavis3d
#qtdeviceutils
qtlottie
qtscxml
qtvirtualkeyboard
qtcharts
)
# New: qtactiveqt qtdatavis3d qtlottie qtscxml qtvirtualkeyboard qtcharts
foreach(_port IN LISTS QT_PORTS)
set(${_port}_TAG ${QT_GIT_TAG})
endforeach()
set(qtbase_REF 089b73de033190e511c0bd11cba22160024ef9a4)
set(qttools_REF a810532b7f68348281bac13fc03395bf08827c28)
set(qtdeclarative_REF 1e4730ae0f44ece8ff8a27d4de127d8da9ed8a13)
set(qtsvg_REF 1adf841f16cab093f7db6a1fbffd088b138afed3)
set(qt5compat_REF 6ab304e8d2fe7f58cf608f8a30abbf769680f027)
set(qtshadertools_REF c26caefc6f67f01ae52372a70d3887077477388d)
set(qtquicktimeline_REF a91e82010047c9422d573b4c8648c175b470839e)
set(qtquick3d_REF f6614a31bd8a092d2081092dc7043ead9e7475ea)
set(qttranslations_REF 8a39fca4b56817fa2f7393fd5c5850bb167ac8f3)
set(qtwayland_REF 8237b7384537e3bc1687c1e05a20d450a6ed38f3)
set(qtdoc_REF 9259552281e4322a63f2cd0edce7904af1147bca)
set(qtimageformats_REF acd9ad1f69606553bc975fb33ae4efd52b2fbe9f)
set(qtmqtt_REF 3bdd419302de7e1e8a819509d115c32d2fbf4d49)
set(qtquickcontrols2_REF a74819563efc3495a86a696e678bec11bab33ec6)
set(qtnetworkauth_REF 92a1ff5b63f56e77030cdfbe9c456a31d3a2d5e2)
set(qtcoap_REF bc8f5ff0e678aa4b4c9081e543fd7c119754a3a1)
set(qtopcua_REF 0cd72d5e9cfaaf96b6d9a2d4ce4a6c46ffbbcdd4)
###
set(qtactiveqt_REF 94a100baa75248ba49c01680ca3632cd7180a8e8)
set(qtdatavis3d_REF c1e7a47f47cc289652f2004403cb1e587308c290)
#set(qtdeviceutils_REF 0) #missing tag
set(qtlottie_REF ddda33a7294512487035de6338a91657501c9fd2)
set(qtscxml_REF 8e2ad5c798110337b90c582c68e903465e19e3fe)
set(qtvirtualkeyboard_REF 266626a0414aef2fcc65d412f02c993c87a1cae6)
set(qtcharts_REF 962a05cea44108d13f081a12bd53232ef856427c)
if(QT_UPDATE_VERSION)
message(STATUS "Running Qt in automatic version port update mode!")
set(_VCPKG_INTERNAL_NO_HASH_CHECK 1)
if("${PORT}" MATCHES "qtbase")
file(REMOVE "${CMAKE_CURRENT_LIST_DIR}/cmake/qt_new_refs.cmake")
foreach(_current_qt_port IN LISTS QT_PORTS)
set(_current_control "${VCPKG_ROOT_DIR}/ports/${_current_qt_port}/vcpkg.json")
file(READ "${_current_control}" _control_contents)
string(REGEX REPLACE "\"version-string\": [^\n]+\n" "\"version-string\": \"${QT_VERSION}\",\n" _control_contents "${_control_contents}")
file(WRITE "${_current_control}" "${_control_contents}")
#need to run a vcpkg format-manifest --all after update once
endforeach()
endif()
endif()

View File

@ -0,0 +1,76 @@
set(QT_VERSION 6.1.0)
set(QT_GIT_TAG v${QT_VERSION})
#set(QT_UPDATE_VERSION TRUE)
# List of added an removed modules https://doc-snapshots.qt.io/qt6-dev/whatsnew60.html#changes-to-supported-modules
#https://wiki.qt.io/Get_the_Source
#TODO:qtknx?
set(QT_PORTS qtbase
qttools
qtdeclarative
qtsvg
qt5compat
qtshadertools
qtquicktimeline
qtquick3d
qttranslations
qtwayland
qtdoc
qtcoap
qtopcua
qtimageformats
qtmqtt
qtnetworkauth
qtquickcontrols2
qtactiveqt
qtdatavis3d
#qtdeviceutils
qtlottie
qtscxml
qtvirtualkeyboard
qtcharts
)
foreach(_port IN LISTS QT_PORTS)
set(${_port}_TAG ${QT_GIT_TAG})
endforeach()
set(qtbase_REF 80a246a982e1c332f074f35a365d453c932ccd4e)
set(qttools_REF 59ba188f13fa01e8590899ecbda47d2680929856)
set(qtdeclarative_REF cb6675c5d314c05fb16fe2b9c555cc6a2c488bed)
set(qtsvg_REF 5bf7d6f7b91a2cb79910cb42afcffddff1ed838b)
set(qt5compat_REF 752f10fa6f84b8b2b738e46efacbce32125efbb6)
set(qtshadertools_REF bcf88361f7a96f02f6c8f77a7fdf8abefae21df4)
set(qtquicktimeline_REF d13e054604a24cd88edb92d3e85529f8c8ea631f)
set(qtquick3d_REF b3fd7feee9a6350580203935dea7b221de67e4b2)
set(qttranslations_REF e69b51751a9ec8c5d45661b83981297c432d0d57)
set(qtwayland_REF e22789176e48314be1cbea5d12366eb77a220425)
set(qtdoc_REF a8448c0b87376598a64333266f5acccd05e7a1e9)
set(qtimageformats_REF 2a6985b6e73be2b9f371938ca826430be13f55fd)
set(qtmqtt_REF 40502be35ca30025b45570574d4ee0f0b6bada2d)
set(qtquickcontrols2_REF 104555a8682d4095841feb9b02c9fd223c707b8e)
set(qtnetworkauth_REF 0e055a0ace5705d7a162236bf375b057e9ca124e)
set(qtcoap_REF f09ed2ed8078dee75b5e7682b5832b2cee80c3b0)
set(qtopcua_REF 592ef6d24e8ebee0a35b0e46653f3e5b4f4f2d13)
set(qtactiveqt_REF 64e781f88e6758826be73751fe547b7e03c82edd)
set(qtdatavis3d_REF 6c79c3c0cd01ec29ce410e557aef293295349a22)
#set(qtdeviceutils_REF 0) #missing tag
set(qtlottie_REF a8c5919df0c6fb9904920d20c4bb0ea18bcaba94)
set(qtscxml_REF fb5dedff2f1ddbeeba680c4cf297525c0fd85652)
set(qtvirtualkeyboard_REF 66a0ecd2db90097fe961437e539182ee5ef17b33)
set(qtcharts_REF 0e713697ab2454b1c870cb750510b280f8059b0e)
if(QT_UPDATE_VERSION)
message(STATUS "Running Qt in automatic version port update mode!")
set(_VCPKG_INTERNAL_NO_HASH_CHECK 1)
if("${PORT}" MATCHES "qtbase")
foreach(_current_qt_port IN LISTS QT_PORTS)
set(_current_control "${VCPKG_ROOT_DIR}/ports/${_current_qt_port}/vcpkg.json")
file(READ "${_current_control}" _control_contents)
string(REGEX REPLACE "\"version-string\": [^\n]+\n" "\"version-string\": \"${QT_VERSION}\",\n" _control_contents "${_control_contents}")
file(WRITE "${_current_control}" "${_control_contents}")
#need to run a vcpkg format-manifest --all after update once
endforeach()
endif()
endif()

View File

@ -0,0 +1,13 @@
diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake
index bd186c28b..edee52e8b 100644
--- a/cmake/QtBuild.cmake
+++ b/cmake/QtBuild.cmake
@@ -194,7 +194,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)

View File

@ -0,0 +1,46 @@
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)
@@ -465,12 +465,12 @@ function(qt_generate_build_internals_extra_cmake_code)
# at the start of project configuration (with an empty value),
# so we need to force override it.
string(APPEND QT_EXTRA_BUILD_INTERNALS_VARS
- "set(CMAKE_BUILD_TYPE \"${CMAKE_BUILD_TYPE}\" CACHE STRING \"Choose the type of build.\" FORCE)\n")
+ "set(CMAKE_BUILD_TYPE \"${CMAKE_BUILD_TYPE}\" CACHE STRING \"Choose the type of build.\")\n")
endif()
if(CMAKE_CONFIGURATION_TYPES)
string(APPEND multi_config_specific
- " set(CMAKE_CONFIGURATION_TYPES \"${CMAKE_CONFIGURATION_TYPES}\" CACHE STRING \"\" FORCE)\n")
+ " set(CMAKE_CONFIGURATION_TYPES \"${CMAKE_CONFIGURATION_TYPES}\" CACHE STRING \"\")\n")
endif()
if(CMAKE_TRY_COMPILE_CONFIGURATION)
string(APPEND multi_config_specific
@@ -492,7 +492,7 @@ function(qt_generate_build_internals_extra_cmake_code)
if(multi_config_specific)
string(APPEND QT_EXTRA_BUILD_INTERNALS_VARS "
if(QT_BUILD_STANDALONE_TESTS)
- set(CMAKE_BUILD_TYPE \"\${QT_MULTI_CONFIG_FIRST_CONFIG}\" CACHE STRING \"Choose the type of build.\" FORCE)
+ set(CMAKE_BUILD_TYPE \"\${QT_MULTI_CONFIG_FIRST_CONFIG}\" CACHE STRING \"Choose the type of build.\")
endif()\n")
endif()
@@ -583,7 +583,7 @@ endif()\n")
if(\"$\{CMAKE_STAGING_PREFIX}\" STREQUAL \"\"
AND NOT QT_BUILD_INTERNALS_NO_FORCE_SET_STAGING_PREFIX)
set(CMAKE_STAGING_PREFIX \"${CMAKE_STAGING_PREFIX}\" CACHE PATH
- \"Staging path prefix, prepended onto install directories on the host machine.\" FORCE)
+ \"Staging path prefix, prepended onto install directories on the host machine.\" )
endif()
")
endif()

View File

@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 40c410aeb..c36084fb9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -24,6 +24,8 @@ project(QtBase
LANGUAGES CXX C ASM
)
+find_package(Threads REQUIRED)
+set_property(TARGET Threads::Threads PROPERTY _qt_no_promote_global TRUE)
# Make sure we only use latest private CMake API, aka no compatibility wrappers.
set(QT_NO_INTERNAL_COMPATIBILITY_FUNCTIONS TRUE)

View File

@ -0,0 +1,13 @@
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")

22
ports/qtbase/jpeg.patch Normal file
View File

@ -0,0 +1,22 @@
diff --git a/src/plugins/imageformats/jpeg/qjpeghandler.cpp b/src/plugins/imageformats/jpeg/qjpeghandler.cpp
index 29bf5ab58..1a3cfd2bf 100644
--- a/src/plugins/imageformats/jpeg/qjpeghandler.cpp
+++ b/src/plugins/imageformats/jpeg/qjpeghandler.cpp
@@ -63,12 +63,12 @@
extern "C" {
// jpeglib.h->jmorecfg.h tries to typedef int boolean; but this conflicts with
// some Windows headers that may or may not have been included
-#ifdef HAVE_BOOLEAN
-# undef HAVE_BOOLEAN
-#endif
-#define boolean jboolean
+//#ifdef HAVE_BOOLEAN
+//# undef HAVE_BOOLEAN
+//#endif
+//#define boolean jboolean
-#define XMD_H // shut JPEGlib up
+//#define XMD_H // shut JPEGlib up
#include <jpeglib.h>
#ifdef const
# undef const // remove crazy C hackery in jconfig.h

349
ports/qtbase/portfile.cmake Normal file
View File

@ -0,0 +1,349 @@
set(QT_IS_LATEST OFF)
## All above goes into the qt_port_hashes in the future
include("${CMAKE_CURRENT_LIST_DIR}/cmake/qt_install_submodule.cmake")
set(${PORT}_PATCHES
jpeg.patch
harfbuzz.patch
config_install.patch
allow_outside_prefix.patch
buildcmake.patch
dont_force_cmakecache.patch
fix_find_dep.patch
)
if(NOT VCPKG_USE_HEAD_VERSION AND NOT QT_IS_LATEST)
list(APPEND ${PORT}_PATCHES
)
endif()
if(VCPKG_TARGET_IS_WINDOWS AND NOT "doubleconversion" IN_LIST FEATURES)
message(FATAL_ERROR "${PORT} requires feature doubleconversion on windows!" )
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_configure_cmake
# (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)")
list(APPEND INPUT_OPTIONS -DINPUT_sqlite:STRING=) # Not yet used be 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
"dbus" FEATURE_dbus
"gui" FEATURE_gui
"network" FEATURE_network
"sql" FEATURE_sql
"widgets" FEATURE_widgets
#"xml" FEATURE_xml # Required to build moc
"testlib" FEATURE_testlib
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)
# Corelib features:
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_CORE_OPTIONS
FEATURES
"doubleconversion" FEATURE_doubleconversion
"glib" FEATURE_glib
"icu" FEATURE_icu
"pcre2" FEATURE_pcre2
INVERTED_FEATURES
#"doubleconversion" CMAKE_DISABLE_FIND_PACKAGE_WrapDoubleConversion # Required
"icu" CMAKE_DISABLE_FIND_PACKAGE_ICU
#"pcre2" CMAKE_DISABLE_FIND_PACKAGE_WrapSystemPCRE2 # Bug in qt cannot be deactivated
"glib" CMAKE_DISABLE_FIND_PACKAGE_GLIB2
)
#list(APPEND FEATURE_CORE_OPTIONS -DFEATURE_doubleconversion:BOOL=ON)
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)
# Network features:
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_NET_OPTIONS
FEATURES
"openssl" FEATURE_openssl
"brotli" FEATURE_brotli
INVERTED_FEATURES
"brotli" CMAKE_DISABLE_FIND_PACKAGE_WrapBrotli
"openssl" CMAKE_DISABLE_FIND_PACKAGE_WrapOpenSSL
)
if("openssl" IN_LIST FEATURES)
list(APPEND FEATURE_NET_OPTIONS -DINPUT_openssl=linked)
else()
list(APPEND FEATURE_NET_OPTIONS -DINPUT_openssl=no)
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" INPUT_opengl=something
INVERTED_FEATURES
"vulkan" CMAKE_DISABLE_FIND_PACKAGE_Vulkan
"egl" CMAKE_DISABLE_FIND_PACKAGE_EGL
"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
"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("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()
list(APPEND FEATURE_GUI_OPTIONS )
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_GLESv2:BOOL=ON) # only used if INPUT_opengl is correctly set
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
INVERTED_FEATURES
"sql-psql" CMAKE_DISABLE_FIND_PACKAGE_PostgreSQL
"sql-sqlite" CMAKE_DISABLE_FIND_PACKAGE_SQLite3
# "sql-db2" FEATURE_sql-db2
# "sql-ibase" FEATURE_sql-ibase
# "sql-mysql" FEATURE_sql-mysql
# "sql-oci" FEATURE_sql-oci
# "sql-odbc" FEATURE_sql-odbc
)
set(DB_LIST DB2 MySQL Oracle ODBC)
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
# )
list(APPEND FEATURE_PRINTSUPPORT_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_CUPS:BOOL=ON)
# widgets features:
# vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_WIDGETS_OPTIONS
# "gtk3" FEATURE_gtk3
# There are a lot of additional features here to deactivate parts of widgets.
# )
list(APPEND FEATURE_WIDGETS_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_GTK3:BOOL=ON)
set(TOOL_NAMES
androiddeployqt
androidtestrunner
cmake_automoc_parser
moc
qdbuscpp2xml
qdbusxml2cpp
qlalr
qmake
qmake6
qvkgen
rcc
tracegen
uic
)
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
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
-DQT_NO_MAKE_TOOLS:BOOL=ON
-DFEATURE_debug:BOOL=ON
)
# Install CMake helper scripts
if(QT_IS_LATEST)
set(port_details "${CMAKE_CURRENT_LIST_DIR}/cmake/qt_port_details-latest.cmake")
else()
set(port_details "${CMAKE_CURRENT_LIST_DIR}/cmake/qt_port_details.cmake")
endif()
file(INSTALL
"${port_details}"
DESTINATION
"${CURRENT_PACKAGES_DIR}/share/${PORT}"
RENAME
"qt_port_details.cmake"
)
file(COPY
"${CMAKE_CURRENT_LIST_DIR}/cmake/qt_install_copyright.cmake"
"${CMAKE_CURRENT_LIST_DIR}/cmake/qt_install_submodule.cmake"
DESTINATION
"${CURRENT_PACKAGES_DIR}/share/${PORT}"
)
qt_stop_on_update()
set(script_files qt-cmake qt-cmake-private qt-cmake-standalone-test qt-configure-module qt-internal-configure-tests)
if(VCPKG_TARGET_IS_WINDOWS)
set(script_suffix .bat)
else()
set(script_suffix)
endif()
set(other_files
qt-cmake-private-install.cmake
syncqt.pl
android_cmakelist_patcher.sh
android_emulator_launcher.sh
ensure_pro_file.cmake
)
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(script IN LISTS script_files)
if(EXISTS "${CURRENT_PACKAGES_DIR}/${path_suffix}bin/${script}${script_suffix}")
set(target_script "${CURRENT_PACKAGES_DIR}/tools/qt6/bin/${path_suffix}${script}${script_suffix}")
file(RENAME "${CURRENT_PACKAGES_DIR}/${path_suffix}bin/${script}${script_suffix}" "${target_script}")
file(READ "${target_script}" _contents)
if(_config MATCHES "debug")
string(REPLACE "\\..\\share\\" "\\..\\..\\..\\..\\share\\" _contents "${_contents}")
else()
string(REPLACE "\\..\\share\\" "\\..\\..\\..\\share\\" _contents "${_contents}")
endif()
file(WRITE "${target_script}" "${_contents}")
endif()
endforeach()
foreach(other IN LISTS other_files)
if(EXISTS "${CURRENT_PACKAGES_DIR}/${path_suffix}bin/${other}")
file(RENAME "${CURRENT_PACKAGES_DIR}/${path_suffix}bin/${other}" "${CURRENT_PACKAGES_DIR}/tools/qt6/bin/${path_suffix}${other}")
endif()
endforeach()
endforeach()
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
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/")
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()
set(_file "${CMAKE_CURRENT_LIST_DIR}/qt.conf.in")
set(REL_PATH)
configure_file("${_file}" "${CURRENT_PACKAGES_DIR}/tools/qt6/qt_release.conf" @ONLY)
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 "./../../../")
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}")
configure_file("${_file}" "${CURRENT_PACKAGES_DIR}/tools/qt6/qt_debug.conf" @ONLY)
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()
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/qmake.debug.bat" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/qt6/bin")
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}")
set(coretools "${CURRENT_PACKAGES_DIR}/share/Qt6CoreTools/Qt6CoreTools.cmake")
if(EXISTS "${coretools}")
file(READ "${coretools}" _contents)
string(REPLACE [[ "${_IMPORT_PREFIX}/tools/qt6/bin/qmake.exe"]] [["${_IMPORT_PREFIX}/tools/qt6/bin/qmake.debug.bat"]] _contents "${_contents}")
file(WRITE "${coretools}" "${_contents}")
endif()

View File

@ -0,0 +1,2 @@
@echo off
"%0\..\qmake.exe" -qtconf "%0\..\qt.debug.conf" %*

31
ports/qtbase/qt.conf.in Normal file
View File

@ -0,0 +1,31 @@
[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_HOST_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=share/qt6
HostBinaries=@REL_PATH@bin
HostLibraries=@REL_PATH@lib
HostLibraryExecutables=tools/qt6/bin

322
ports/qtbase/vcpkg.json Normal file
View File

@ -0,0 +1,322 @@
{
"name": "qtbase",
"version-semver": "6.1.0",
"description": "Qt Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components.",
"homepage": "https://www.qt.io/",
"dependencies": [
"freetype",
{
"name": "libb2",
"platform": "!windows"
},
"pcre2",
{
"name": "qtbase",
"host": true,
"default-features": false
},
"zlib"
],
"default-features": [
"brotli",
"concurrent",
"dbus",
"default-features",
"doubleconversion",
"freetype",
"gui",
"harfbuzz",
"icu",
"jpeg",
"network",
"openssl",
"pcre2",
"png",
"sql",
"sql-psql",
"sql-sqlite",
"testlib",
"widgets",
"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"
},
"dbus": {
"description": "Qt D-Bus"
},
"default-features": {
"description": "Platform-dependent default features",
"dependencies": [
{
"name": "qtbase",
"default-features": false,
"features": [
"appstore-compliant"
],
"platform": "uwp"
},
{
"name": "qtbase",
"default-features": false,
"features": [
"egl",
"fontconfig",
"xcb",
"xcb-xlib",
"xrender"
],
"platform": "linux"
}
]
},
"doubleconversion": {
"description": "Enable double conversion support",
"dependencies": [
"double-conversion"
]
},
"egl": {
"description": "EGL",
"dependencies": [
"egl-registry"
]
},
"fontconfig": {
"description": "Use fontconfig",
"dependencies": [
"fontconfig",
{
"name": "qtbase",
"default-features": false,
"features": [
"gui"
]
}
]
},
"framework": {
"$platform": "osx",
"description": "MAC framework build"
},
"freetype": {
"description": "Supports the FreeType 2 font engine (and its supported font formats).",
"dependencies": [
{
"name": "freetype",
"default-features": false
}
]
},
"glib": {
"description": "GLib",
"dependencies": [
"glib"
]
},
"gui": {
"description": "Qt Gui",
"dependencies": [
{
"name": "qtbase",
"default-features": false,
"features": [
"freetype"
]
}
]
},
"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"
},
"openssl": {
"description": "Enable OpenSSL",
"dependencies": [
"openssl",
{
"name": "qtbase",
"default-features": false,
"features": [
"network"
]
}
]
},
"pcre2": {
"description": "Enable PCRE2 support",
"dependencies": [
"pcre2"
]
},
"png": {
"description": "Enable PNG",
"dependencies": [
"libpng",
{
"name": "qtbase",
"default-features": false,
"features": [
"gui"
]
}
]
},
"sql": {
"description": "Qt Sql"
},
"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"
},
"vulkan": {
"description": "Enable Vulkan support"
},
"widgets": {
"description": "Qt Widgets",
"dependencies": [
{
"name": "qtbase",
"default-features": false,
"features": [
"gui"
]
}
]
},
"xcb": {
"description": "XCB",
"dependencies": [
{
"name": "qtbase",
"default-features": false,
"features": [
"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"
]
}
}
}

View File

@ -0,0 +1,10 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES)
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
CONFIGURE_OPTIONS
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)

18
ports/qtcharts/vcpkg.json Normal file
View File

@ -0,0 +1,18 @@
{
"name": "qtcharts",
"version-semver": "6.1.0",
"description": "QtCharts module",
"homepage": "https://www.qt.io/",
"dependencies": [
"qtdeclarative",
"qttools"
],
"default-features": [
"default-features"
],
"features": {
"default-features": {
"description": "Platform-dependent default features"
}
}
}

View File

@ -0,0 +1,10 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES)
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
CONFIGURE_OPTIONS
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)

20
ports/qtcoap/vcpkg.json Normal file
View File

@ -0,0 +1,20 @@
{
"name": "qtcoap",
"version-semver": "6.1.0",
"description": "Qt CoAP client module",
"homepage": "https://www.qt.io/",
"dependencies": [
{
"name": "qtbase",
"default-features": false
}
],
"default-features": [
"default-features"
],
"features": {
"default-features": {
"description": "Platform-dependent default features"
}
}
}

View File

@ -0,0 +1,10 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES)
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
CONFIGURE_OPTIONS
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)

View File

@ -0,0 +1,16 @@
{
"name": "qtdatavis3d",
"version-semver": "6.1.0",
"description": "Qt 3D data visualization framework",
"homepage": "https://www.qt.io/",
"dependencies": [
{
"name": "qtbase",
"default-features": false,
"features": [
"gui"
]
},
"qttools"
]
}

View File

@ -0,0 +1,15 @@
diff --git a/src/qml/jsruntime/qv4enginebase_p.h b/src/qml/jsruntime/qv4enginebase_p.h
index 612c2dd4530..17e47e1b059 100644
--- a/src/qml/jsruntime/qv4enginebase_p.h
+++ b/src/qml/jsruntime/qv4enginebase_p.h
@@ -88,7 +88,9 @@ struct Q_QML_EXPORT EngineBase {
MemoryManager *memoryManager = nullptr;
qint32 callDepth = 0;
- quint8 padding2[QT_POINTER_SIZE - sizeof(quint32)];
+#if QT_POINTER_SIZE == 8
+ quint32 padding2;
+#endif
Object *globalObject = nullptr;
Value *jsStackLimit = nullptr;
Value *jsStackBase = nullptr;

View File

@ -0,0 +1,29 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
if(QT_IS_LATEST)
set(${PORT}_PATCHES fix_alignment.patch)
endif()
set(TOOL_NAMES
qml
qmlcachegen
qmleasing
qmlformat
qmlimportscanner
qmllint
qmlplugindump
qmlpreview
qmlprofiler
qmlscene
qmltestrunner
qmltime
qmltyperegistrar
)
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
TOOL_NAMES ${TOOL_NAMES}
CONFIGURE_OPTIONS
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)

View File

@ -0,0 +1,20 @@
{
"name": "qtdeclarative",
"version-semver": "6.1.0",
"description": "Qt Declarative (Quick 2)",
"homepage": "https://www.qt.io/",
"dependencies": [
{
"name": "qtbase",
"default-features": false,
"features": [
"testlib"
]
},
{
"name": "qtdeclarative",
"host": true,
"default-features": false
}
]
}

View File

@ -0,0 +1,15 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES)
set(TOOL_NAMES)
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
TOOL_NAMES ${TOOL_NAMES}
CONFIGURE_OPTIONS
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug")
set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)

21
ports/qtdoc/vcpkg.json Normal file
View File

@ -0,0 +1,21 @@
{
"name": "qtdoc",
"version-semver": "6.1.0",
"description": "Qt Documentation",
"homepage": "https://www.qt.io/",
"dependencies": [
{
"name": "qtbase",
"default-features": false
},
"qtdeclarative"
],
"default-features": [
"default-features"
],
"features": {
"default-features": {
"description": "Platform-dependent default features"
}
}
}

View File

@ -0,0 +1,46 @@
set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) # Only plugins
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES #webp.patch
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
INVERTED_FEATURES
"jasper" CMAKE_DISABLE_FIND_PACKAGE_WrapJasper
"webp" CMAKE_DISABLE_FIND_PACKAGE_WrapWebP
"tiff" CMAKE_DISABLE_FIND_PACKAGE_TIFF
)
if("jasper" IN_LIST FEATURES)
list(APPEND FEATURE_OPTIONS -DINPUT_jasper=system)
else()
list(APPEND FEATURE_OPTIONS -DINPUT_jasper=no)
endif()
if("webp" IN_LIST FEATURES)
list(APPEND FEATURE_OPTIONS -DINPUT_webp=system)
else()
list(APPEND FEATURE_OPTIONS -DINPUT_webp=no)
endif()
if("tiff" IN_LIST FEATURES)
list(APPEND FEATURE_OPTIONS -DINPUT_tiff=system)
else()
list(APPEND FEATURE_OPTIONS -DINPUT_tiff=no)
endif()
list(APPEND FEATURE_OPTIONS -DINPUT_mng=no) # marked as FIXME
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
#TOOL_NAMES ${TOOL_NAMES}
CONFIGURE_OPTIONS
#--trace
${FEATURE_OPTIONS}
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)
if("jasper" IN_LIST FEATURES AND VCPKG_LIBRARY_LINKAGE STREQUAL "static" AND NOT QT_UPDATE_VERSION)
file(INSTALL "${SOURCE_PATH}/cmake/FindWrapJasper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/Qt6")
endif()
if("webp" IN_LIST FEATURES AND VCPKG_LIBRARY_LINKAGE STREQUAL "static" AND NOT QT_UPDATE_VERSION)
file(INSTALL "${SOURCE_PATH}/cmake/FindWrapWebP.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/Qt6")
endif()

View File

@ -0,0 +1,44 @@
{
"name": "qtimageformats",
"version-semver": "6.1.0",
"description": "Additional Image Format plugins for Qt",
"homepage": "https://www.qt.io/",
"dependencies": [
{
"name": "qtbase",
"default-features": false,
"features": [
"gui"
]
}
],
"default-features": [
"default-features",
"jasper",
"tiff",
"webp"
],
"features": {
"default-features": {
"description": "Platform-dependent default features"
},
"jasper": {
"description": "Use jasper",
"dependencies": [
"jasper"
]
},
"tiff": {
"description": "Use TIFF",
"dependencies": [
"tiff"
]
},
"webp": {
"description": "Use WebP",
"dependencies": [
"libwebp"
]
}
}
}

View File

@ -0,0 +1,17 @@
diff --git a/cmake/FindWrapWebP.cmake b/cmake/FindWrapWebP.cmake
index 6cdb76b5e..5264044de 100644
--- a/cmake/FindWrapWebP.cmake
+++ b/cmake/FindWrapWebP.cmake
@@ -6,10 +6,10 @@
# paths as hints.
find_package(WebP QUIET)
-if(TARGET WebP::webp AND TARGET WebP::webpdemux AND TARGET WebP::webpmux)
+if(TARGET WebP::webp AND TARGET WebP::webpdemux AND TARGET WebP::libwebpmux)
set(WrapWebP_FOUND ON)
add_library(WrapWebP::WrapWebP INTERFACE IMPORTED)
- target_link_libraries(WrapWebP::WrapWebP INTERFACE WebP::webp WebP::webpdemux Webp::webpmux)
+ target_link_libraries(WrapWebP::WrapWebP INTERFACE WebP::webp WebP::webpdemux WebP::libwebpmux)
return()
endif()

View File

@ -0,0 +1,10 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES)
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
CONFIGURE_OPTIONS
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)

22
ports/qtlottie/vcpkg.json Normal file
View File

@ -0,0 +1,22 @@
{
"name": "qtlottie",
"version-semver": "6.1.0",
"description": "Lottie is a family of player software for a certain json-based file format for describing 2d vector graphics animations. These files are created/exported directly from After Effects by a plugin called Bodymovin.",
"homepage": "https://www.qt.io/",
"dependencies": [
{
"name": "qtbase",
"default-features": false
},
"qtdeclarative",
"qttools"
],
"default-features": [
"default-features"
],
"features": {
"default-features": {
"description": "Platform-dependent default features"
}
}
}

View File

@ -0,0 +1,10 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES)
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
CONFIGURE_OPTIONS
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)

23
ports/qtmqtt/vcpkg.json Normal file
View File

@ -0,0 +1,23 @@
{
"name": "qtmqtt",
"version-semver": "6.1.0",
"description": "Qt Module to implement MQTT protocol version 3.1 and 3.1.1 http://mqtt.org/",
"homepage": "https://www.qt.io/",
"dependencies": [
{
"name": "qtbase",
"default-features": false,
"features": [
"network"
]
}
],
"default-features": [
"default-features"
],
"features": {
"default-features": {
"description": "Platform-dependent default features"
}
}
}

View File

@ -0,0 +1,10 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES)
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
CONFIGURE_OPTIONS
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)

View File

@ -0,0 +1,23 @@
{
"name": "qtnetworkauth",
"version-semver": "6.1.0",
"description": "Qt Network Authenticators; QtOAuth in particular",
"homepage": "https://www.qt.io/",
"dependencies": [
{
"name": "qtbase",
"default-features": false,
"features": [
"network"
]
}
],
"default-features": [
"default-features"
],
"features": {
"default-features": {
"description": "Platform-dependent default features"
}
}
}

View File

@ -0,0 +1,30 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
# General features:
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
"open62541" FEATURE_open62541
"open62541" FEATURE_open62541-security
"uacpp" FEATURE_uacpp
"ns0idnames" FEATURE_ns0idnames
"ns0idgenerator" FEATURE_ns0idgenerator
INVERTED_FEATURES
)
if("open62541" IN_LIST FEATURES)
list(APPEND FEATURE_OPTIONS -DINPUT_open62541=system
-DHAVE_open62541=true)
else()
list(APPEND FEATURE_OPTIONS -DINPUT_open62541=no)
endif()
if(NOT "open62541" IN_LIST FEATURES AND NOT "gds" IN_LIST FEATURES)
list(APPEND FEATURE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_WrapOpenSSL=ON)
endif()
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
CONFIGURE_OPTIONS
${FEATURE_OPTIONS}
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)

52
ports/qtopcua/vcpkg.json Normal file
View File

@ -0,0 +1,52 @@
{
"name": "qtopcua",
"version-semver": "6.1.0",
"description": "Qt wrapper for existing OPC UA stacks",
"homepage": "https://www.qt.io/",
"dependencies": [
{
"name": "qtbase",
"default-features": false,
"features": [
"network"
]
},
"qtdeclarative"
],
"default-features": [
"default-features",
"gds",
"ns0idnames",
"open62541"
],
"features": {
"default-features": {
"description": "Platform-dependent default features"
},
"gds": {
"description": "Support for global discovery server"
},
"ns0idgenerator": {
"description": "Namespace 0 NodeIds generator from the NodeIds.csv file."
},
"ns0idnames": {
"description": "Support for namespace 0 NodeId names"
},
"open62541": {
"description": "Open62541 with plugin to connect to servers with signing and encryption",
"dependencies": [
{
"name": "open62541",
"default-features": false,
"features": [
"amalgamation",
"openssl"
]
}
]
},
"uacpp": {
"description": "Unified Automation C++ SDK"
}
}
}

View File

@ -0,0 +1,28 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES)
# General features:
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
"assimp" FEATURE_quick3d_assimp
INVERTED_FEATURES
"assimp" CMAKE_DISABLE_FIND_PACKAGE_WrapQuick3DAssimp
)
if("assimp" IN_LIST FEATURES)
list(APPEND FEATURE_OPTIONS -DINPUT_quick3d_assimp=system -DTEST_quick3d_assimp=ON -DHAVE_Assimp=ON)
else()
list(APPEND FEATURE_OPTIONS -DINPUT_quick3d_assimp=no)
endif()
set(TOOL_NAMES balsam meshdebug shadergen)
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
TOOL_NAMES ${TOOL_NAMES}
CONFIGURE_OPTIONS
${FEATURE_OPTIONS}
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)

View File

@ -0,0 +1,33 @@
{
"name": "qtquick3d",
"version-semver": "6.1.0",
"description": "A new module and API for defining 3D content in Qt Quick.",
"homepage": "https://www.qt.io/",
"dependencies": [
{
"name": "qtbase",
"default-features": false
},
"qtdeclarative",
{
"name": "qtquick3d",
"host": true,
"default-features": false
},
"qtshadertools"
],
"default-features": [
"default-features"
],
"features": {
"assimp": {
"description": "assimp",
"dependencies": [
"assimp"
]
},
"default-features": {
"description": "Platform-dependent default features"
}
}
}

View File

@ -0,0 +1,14 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES)
#make sure your <vcpkg_root> path is really short! Otherwise the build will probably fail.
# or maybe try to switch the build to nmake.
#set(ENV{CMAKE_BUILD_PARALLEL_LEVEL} 1)
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
CONFIGURE_OPTIONS
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)

View File

@ -0,0 +1,21 @@
{
"name": "qtquickcontrols2",
"version-semver": "6.1.0",
"description": "Qt Quick Controls 2",
"homepage": "https://www.qt.io/",
"dependencies": [
{
"name": "qtbase",
"default-features": false
},
"qtdeclarative"
],
"default-features": [
"default-features"
],
"features": {
"default-features": {
"description": "Platform-dependent default features"
}
}
}

View File

@ -0,0 +1,15 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES)
set(TOOL_NAMES)
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
TOOL_NAMES ${TOOL_NAMES}
CONFIGURE_OPTIONS
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)
set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) # QML plugin only

View File

@ -0,0 +1,13 @@
{
"name": "qtquicktimeline",
"version-semver": "6.1.0",
"description": "Module for keyframe-based timeline construction.",
"homepage": "https://www.qt.io/",
"dependencies": [
{
"name": "qtbase",
"default-features": false
},
"qtdeclarative"
]
}

View File

@ -0,0 +1,13 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES)
set(TOOL_NAMES qscxmlc)
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
TOOL_NAMES ${TOOL_NAMES}
CONFIGURE_OPTIONS
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)

22
ports/qtscxml/vcpkg.json Normal file
View File

@ -0,0 +1,22 @@
{
"name": "qtscxml",
"version-semver": "6.1.0",
"description": "SCXML (state machine notation) compiler and related tools",
"homepage": "https://www.qt.io/",
"dependencies": [
{
"name": "qtbase",
"default-features": false
},
"qtdeclarative",
{
"name": "qtscxml",
"host": true,
"default-features": false
},
{
"name": "qttools",
"default-features": false
}
]
}

View File

@ -0,0 +1,13 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES)
set(TOOL_NAMES qsb)
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
TOOL_NAMES ${TOOL_NAMES}
CONFIGURE_OPTIONS
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)

View File

@ -0,0 +1,20 @@
{
"name": "qtshadertools",
"version-semver": "6.1.0",
"description": "APIs and tools in this module provide the producer functionality for the shader pipeline that allows Qt Quick to operate on Vulkan, Metal, and Direct3D, in addition to OpenGL.",
"homepage": "https://www.qt.io/",
"dependencies": [
{
"name": "qtbase",
"default-features": false,
"features": [
"gui"
]
},
{
"name": "qtshadertools",
"host": true,
"default-features": false
}
]
}

View File

@ -0,0 +1,13 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES)
set(TOOL_NAMES)
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
TOOL_NAMES ${TOOL_NAMES}
CONFIGURE_OPTIONS
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)

15
ports/qtsvg/vcpkg.json Normal file
View File

@ -0,0 +1,15 @@
{
"name": "qtsvg",
"version-semver": "6.1.0",
"description": "Qt SVG",
"homepage": "https://www.qt.io/",
"dependencies": [
{
"name": "qtbase",
"default-features": false,
"features": [
"gui"
]
}
]
}

View File

@ -0,0 +1,27 @@
diff --git a/src/designer/src/components/lib/CMakeLists.txt b/src/designer/src/components/lib/CMakeLists.txt
index 53358741f..ce070bd6a 100644
--- a/src/designer/src/components/lib/CMakeLists.txt
+++ b/src/designer/src/components/lib/CMakeLists.txt
@@ -878,7 +878,7 @@ qt_internal_add_resource(DesignerComponents "widgetbox"
## Scopes:
#####################################################################
-qt_internal_extend_target(DesignerComponents CONDITION static
+qt_internal_extend_target(DesignerComponents CONDITION NOT BUILD_SHARED_LIBS
DEFINES
QT_DESIGNER_STATIC
)
diff --git a/src/designer/src/designer/CMakeLists.txt b/src/designer/src/designer/CMakeLists.txt
index f786f1dd6..8c635ff14 100644
--- a/src/designer/src/designer/CMakeLists.txt
+++ b/src/designer/src/designer/CMakeLists.txt
@@ -103,8 +103,8 @@ qt_internal_extend_target(designer CONDITION TARGET Qt::PrintSupport
PUBLIC_LIBRARIES
Qt::PrintSupport
)
-qt_internal_extend_target(designer CONDITION QT_CONFIG___contains___static
+qt_internal_extend_target(designer CONDITION NOT BUILD_SHARED_LIBS
DEFINES
QT_DESIGNER_STATIC
)

View File

@ -0,0 +1,94 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES )#fix_static_build.patch)
#TODO check features and setup: (means force features!)
# -- The following OPTIONAL packages have not been found:
# * Qt6AxContainer
# * Clang
# * WrapLibClang (required version >= 8)
# Configure summary:
# Qt Tools:
# Qt Assistant ........................... yes
# QDoc ................................... no
# Clang-based lupdate parser ............. no
# Qt Designer ............................ yes
# Qt Distance Field Generator ............ yes
# kmap2qmap .............................. yes
# Qt Linguist ............................ yes
# Mac Deployment Tool .................... no
# pixeltool .............................. yes
# qdbus .................................. yes
# qev .................................... yes
# Qt Attributions Scanner ................ yes
# qtdiag ................................. yes
# qtpaths ................................ yes
# qtplugininfo ........................... yes
# Windows deployment tool ................ yes
# General features:
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
INVERTED_FEATURES
"qdoc" -DCMAKE_DISABLE_FIND_PACKAGE_Clang
"qdoc" -DCMAKE_DISABLE_FIND_PACKAGE_WrapLibClang
)
set(TOOL_NAMES
assistant
designer
lconvert
linguist
lprodump
lrelease-pro
lrelease
lupdate-pro
lupdate
pixeltool
qcollectiongenerator
qdistancefieldgenerator
qhelpgenerator
qtattributionsscanner
qtdiag
qtdiag6
qtpaths
qtplugininfo
qdbus
qdbusviewer
qdoc
)
if(VCPKG_TARGET_IS_WINDOWS)
list(APPEND TOOL_NAMES windeployqt)
elseif(VCPKG_TARGET_IS_OSX)
list(APPEND TOOL_NAMES macdeployqt)
endif()
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
TOOL_NAMES ${TOOL_NAMES}
CONFIGURE_OPTIONS ${FEATURE_OPTIONS}
-DCMAKE_DISABLE_FIND_PACKAGE_Qt6AxContainer=ON
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)
if(VCPKG_TARGET_IS_OSX)
set(OSX_APP_FOLDERS Designer.app Linguist.app pixeltool.app qdbusviewer.app)
foreach(_appfolder IN LISTS OSX_APP_FOLDERS)
message(STATUS "Moving: ${_appfolder}")
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/${_appfolder}")
file(RENAME "${CURRENT_PACKAGES_DIR}/bin/${_appfolder}/" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/${_appfolder}/")
endforeach()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
endif()
set(configfile "${CURRENT_PACKAGES_DIR}/share/Qt6ToolsTools/Qt6ToolsToolsTargets-debug.cmake")
if(EXISTS "${configfile}" AND 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")
file(READ "${configfile}" _contents)
string(REPLACE [[${_IMPORT_PREFIX}/tools/qt6/bin/windeployqt.exe]] [[${_IMPORT_PREFIX}/tools/qt6/bin/windeployqt.debug.bat]] _contents "${_contents}")
file(WRITE "${configfile}" "${_contents}")
endif()

29
ports/qttools/vcpkg.json Normal file
View File

@ -0,0 +1,29 @@
{
"name": "qttools",
"version-semver": "6.1.0",
"description": "Qt Tools",
"homepage": "https://www.qt.io/",
"dependencies": [
{
"name": "qtbase",
"default-features": false,
"features": [
"network"
]
},
"qtdeclarative",
{
"name": "qttools",
"host": true,
"default-features": false
}
],
"features": {
"qdoc": {
"description": "Build QDoc.",
"dependencies": [
"llvm"
]
}
}
}

View File

@ -0,0 +1,10 @@
@echo off
setlocal
set mypath=%~dp0
set mypath=%mypath:~0,-1%
cd %mypath%\..\..\..\debug\bin
set BAKCD=%CD%
set PATH=%CD%;%PATH%
"%mypath%\windeployqt.exe" --qmake "%mypath%\qmake.debug.bat" %*
cd %BAKCD%
endlocal

View File

@ -0,0 +1,15 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES)
set(TOOL_NAMES)
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
TOOL_NAMES ${TOOL_NAMES}
CONFIGURE_OPTIONS
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)
set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) # only translation files.
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug")

View File

@ -0,0 +1,21 @@
{
"name": "qttranslations",
"version-semver": "6.1.0",
"description": "Qt Translations",
"homepage": "https://www.qt.io/",
"dependencies": [
{
"name": "qtbase",
"default-features": false
},
"qttools"
],
"default-features": [
"default-features"
],
"features": {
"default-features": {
"description": "Platform-dependent default features"
}
}
}

View File

@ -0,0 +1,26 @@
diff --git a/src/plugins/hunspell/hunspellinputmethod/hunspellinputmethod_p.cpp b/src/plugins/hunspell/hunspellinputmethod/hunspellinputmethod_p.cpp
index 8ee4d7503..0fb4461d2 100644
--- a/src/plugins/hunspell/hunspellinputmethod/hunspellinputmethod_p.cpp
+++ b/src/plugins/hunspell/hunspellinputmethod/hunspellinputmethod_p.cpp
@@ -29,7 +29,7 @@
#include <QtHunspellInputMethod/private/hunspellinputmethod_p_p.h>
#include <QtVirtualKeyboard/qvirtualkeyboardinputcontext.h>
-#include <hunspell/hunspell.h>
+#include <hunspell.h>
#include <QStringList>
#include <QDir>
#include <QtCore/QLibraryInfo>
diff --git a/src/plugins/hunspell/hunspellinputmethod/hunspellworker_p.h b/src/plugins/hunspell/hunspellinputmethod/hunspellworker_p.h
index b79354429..a843bdfa6 100644
--- a/src/plugins/hunspell/hunspellinputmethod/hunspellworker_p.h
+++ b/src/plugins/hunspell/hunspellinputmethod/hunspellworker_p.h
@@ -50,7 +50,7 @@
#include <QLoggingCategory>
#include <QStringDecoder>
#include <QStringEncoder>
-#include <hunspell/hunspell.h>
+#include <hunspell.h>
#include <QtHunspellInputMethod/qhunspellinputmethod_global.h>
QT_BEGIN_NAMESPACE

View File

@ -0,0 +1,29 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES hunspell_include_path_fix.patch)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
INVERTED_FEATURES
"xcb" CMAKE_DISABLE_FIND_PACKAGE_XCB
)
if("hunspell" IN_LIST FEATURES)
list(APPEND FEATURE_OPTIONS -DINPUT_vkb_hunspell:STRING=system)
else()
list(APPEND FEATURE_OPTIONS -DINPUT_vkb_hunspell=no)
endif()
if("t9write" IN_LIST FEATURES)
list(APPEND FEATURE_OPTIONS -DINPUT_vkb_handwriting=t9write)
else()
list(APPEND FEATURE_OPTIONS -DINPUT_vkb_handwriting=no)
endif()
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
CONFIGURE_OPTIONS ${FEATURE_OPTIONS}
-DINPUT_vkb_style:STRING=default
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG -DFEATURE_vkb_record_trace_input=ON
-DFEATURE_vkb_sensitive_debug=ON
)

View File

@ -0,0 +1,35 @@
{
"name": "qtvirtualkeyboard",
"version-semver": "6.1.0",
"description": "SCXML (state machine notation) compiler and related tools",
"homepage": "https://www.qt.io/",
"dependencies": [
"qtdeclarative",
"qtsvg",
"qttools"
],
"default-features": [
"default-features",
"hunspell"
],
"features": {
"default-features": {
"description": "Platform-dependent default features"
},
"hunspell": {
"description": "Use hunspell",
"dependencies": [
"hunspell"
]
},
"t9write": {
"description": "T9Write handwriting (commercial SDK requires port overlay)",
"dependencies": [
"t9write"
]
},
"xcb": {
"description": "XCB integration"
}
}
}

View File

@ -0,0 +1,13 @@
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")
set(${PORT}_PATCHES)
set(TOOL_NAMES qtwaylandscanner)
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
TOOL_NAMES ${TOOL_NAMES}
CONFIGURE_OPTIONS
CONFIGURE_OPTIONS_RELEASE
CONFIGURE_OPTIONS_DEBUG
)

View File

@ -0,0 +1,23 @@
{
"name": "qtwayland",
"version-semver": "6.1.0",
"description": "A toolbox for making Qt based Wayland compositors",
"homepage": "https://www.qt.io/",
"supports": "!windows",
"dependencies": [
{
"name": "qtbase",
"default-features": false
},
"qtdeclarative",
"qtopcua"
],
"default-features": [
"default-features"
],
"features": {
"default-features": {
"description": "Platform-dependent default features"
}
}
}

View File

@ -1280,36 +1280,38 @@ python2:arm-uwp=fail
python2:x64-linux=fail python2:x64-linux=fail
python2:x64-osx=fail python2:x64-osx=fail
python2:x64-uwp=fail python2:x64-uwp=fail
# Not yet ready for these platforms.
qbittorrent:x64-osx=fail
qbittorrent:x64-linux=fail
qhull:x64-uwp=fail qhull:x64-uwp=fail
qhull:arm-uwp=fail qhull:arm-uwp=fail
qpid-proton:arm-uwp=fail qpid-proton:arm-uwp=fail
qpid-proton:x64-uwp=fail qpid-proton:x64-uwp=fail
qpid-proton:x64-windows-static=fail qpid-proton:x64-windows-static=fail
qt5-activeqt:x64-linux=fail # Skip ports not available in Qt 6.1.0 (for Qt 6.2)
qt5-activeqt:x64-osx=fail qt6betablock:x86-windows=skip
qt6betablock:x64-windows=skip
qt6betablock:x64-windows-static=skip
qt6betablock:x64-windows-static-md=skip
qt6betablock:x64-linux=skip
qt6betablock:x64-osx=skip
qt5-base:arm64-windows=fail qt5-base:arm64-windows=fail
# Skip deprecated Qt module # Skip deprecated Qt module
# (remnove after 1 year or longer due to vcpkg upgrade not handling removed ports correctly) # (remove after 1 year or longer due to vcpkg upgrade not handling removed ports correctly)
qt5-canvas3d:x64-linux=skip qt5-canvas3d:x64-linux=skip
qt5-canvas3d:x64-osx=skip qt5-canvas3d:x64-osx=skip
qt5-canvas3d:x64-windows=skip qt5-canvas3d:x64-windows=skip
qt5-canvas3d:x64-windows-static=skip qt5-canvas3d:x64-windows-static=skip
qt5-canvas3d:x64-windows-static-md=skip qt5-canvas3d:x64-windows-static-md=skip
qt5-canvas3d:x86-windows=skip qt5-canvas3d:x86-windows=skip
qt5-macextras:x64-linux=fail
qt5-macextras:x64-windows=fail
qt5-macextras:x64-windows-static=fail
qt5-macextras:x64-windows-static-md=fail
qt5-macextras:x86-windows=fail
# Missing system libraries # Missing system libraries
qt5-wayland:x64-osx=fail qt5-wayland:x64-osx=fail
qtwayland:x64-osx=fail
# Missing libraries # Missing libraries
qt5-wayland:x86-windows=fail qt5-wayland:x86-windows=fail
qt5-wayland:x64-windows=fail qt5-wayland:x64-windows=fail
qt5-wayland:x64-windows-static=fail qt5-wayland:x64-windows-static=fail
qt5-wayland:x64-windows-static-md=fail qt5-wayland:x64-windows-static-md=fail
qt5-winextras:x64-linux=fail
qt5-winextras:x64-osx=fail
# Missing prerequisites for CI success # Missing prerequisites for CI success
qt5-webengine:x64-linux=fail qt5-webengine:x64-linux=fail
qt5-webengine:x64-osx=fail qt5-webengine:x64-osx=fail

View File

@ -9,15 +9,27 @@ vcpkg_from_gitlab(
3b0de26910bceaf4bc6546255bada4c502cd0fd32f44bc28b067f347c09d028c175a3243551bbe4bb64bcf312df9ff827e8fdbcb0b34a12e1ce4a26ba0799ee2 3b0de26910bceaf4bc6546255bada4c502cd0fd32f44bc28b067f347c09d028c175a3243551bbe4bb64bcf312df9ff827e8fdbcb0b34a12e1ce4a26ba0799ee2
HEAD_REF master HEAD_REF master
) )
set(OPTIONS)
if(NOT VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_UWP) if(NOT VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_UWP)
set(BUILD_CURSES_DIALOG ON) list(APPEND OPTIONS -DBUILD_CursesDialog=ON)
else()
list(APPEND OPTIONS -DBUILD_CursesDialog=OFF)
endif()
if(VCPKG_CROSSCOMPILING)
list(APPEND OPTIONS -DQt6CoreTools_DIR=${CURRENT_HOST_INSTALLED_DIR}/share/Qt6CoreTools)
list(APPEND OPTIONS -DQt6WidgetsTools_DIR=${CURRENT_HOST_INSTALLED_DIR}/share/Qt6WidgetsTools)
list(APPEND OPTIONS -DQt6GuiTools_DIR=${CURRENT_HOST_INSTALLED_DIR}/share/Qt6GuiTools)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64 AND VCPKG_TARGET_IS_WINDOWS) # Remove if PR #16111 is merged
list(APPEND OPTIONS -DCMAKE_CROSSCOMPILING=ON -DCMAKE_SYSTEM_PROCESSOR:STRING=ARM64 -DCMAKE_SYSTEM_NAME:STRING=Windows)
endif()
endif() endif()
vcpkg_configure_cmake( vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH} SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA PREFER_NINJA
OPTIONS OPTIONS
${OPTIONS}
-DBUILD_TESTING=OFF -DBUILD_TESTING=OFF
#-DCMAKE_USE_SYSTEM_LIBRARIES=ON #-DCMAKE_USE_SYSTEM_LIBRARIES=ON
-DCMAKE_USE_SYSTEM_LIBARCHIVE=ON -DCMAKE_USE_SYSTEM_LIBARCHIVE=ON
@ -30,8 +42,8 @@ vcpkg_configure_cmake(
-DCMAKE_USE_SYSTEM_JSONCPP=ON -DCMAKE_USE_SYSTEM_JSONCPP=ON
-DCMAKE_USE_SYSTEM_LIBRHASH=OFF # not yet in VCPKG -DCMAKE_USE_SYSTEM_LIBRHASH=OFF # not yet in VCPKG
-DCMAKE_USE_SYSTEM_LIBUV=ON -DCMAKE_USE_SYSTEM_LIBUV=ON
-DBUILD_CursesDialog=${BUILD_CURSES_DIALOG}
-DBUILD_QtDialog=ON # Just to test Qt with CMake -DBUILD_QtDialog=ON # Just to test Qt with CMake
-DCMake_QT_MAJOR_VERSION:STRING=6
) )
vcpkg_install_cmake(ADD_BIN_TO_PATH) vcpkg_install_cmake(ADD_BIN_TO_PATH)

View File

@ -16,11 +16,7 @@
"platform": "!(windows | uwp)" "platform": "!(windows | uwp)"
}, },
"nghttp2", "nghttp2",
"qt5-base", "qtbase",
{
"name": "qt5-winextras",
"platform": "windows"
},
"zlib", "zlib",
"zstd" "zstd"
] ]

View File

@ -5036,6 +5036,10 @@
"baseline": "2.12.0", "baseline": "2.12.0",
"port-version": 1 "port-version": 1
}, },
"qt": {
"baseline": "6.1.0",
"port-version": 0
},
"qt-advanced-docking-system": { "qt-advanced-docking-system": {
"baseline": "3.6.3", "baseline": "3.6.3",
"port-version": 1 "port-version": 1
@ -5212,10 +5216,106 @@
"baseline": "5.15.2", "baseline": "5.15.2",
"port-version": 0 "port-version": 0
}, },
"qt5compat": {
"baseline": "6.1.0",
"port-version": 0
},
"qt6betablock": {
"baseline": "6.2.0-beta",
"port-version": 0
},
"qtactiveqt": {
"baseline": "6.1.0",
"port-version": 0
},
"qtbase": {
"baseline": "6.1.0",
"port-version": 0
},
"qtcharts": {
"baseline": "6.1.0",
"port-version": 0
},
"qtcoap": {
"baseline": "6.1.0",
"port-version": 0
},
"qtdatavis3d": {
"baseline": "6.1.0",
"port-version": 0
},
"qtdeclarative": {
"baseline": "6.1.0",
"port-version": 0
},
"qtdoc": {
"baseline": "6.1.0",
"port-version": 0
},
"qtimageformats": {
"baseline": "6.1.0",
"port-version": 0
},
"qtkeychain": { "qtkeychain": {
"baseline": "0.11.1", "baseline": "0.11.1",
"port-version": 0 "port-version": 0
}, },
"qtlottie": {
"baseline": "6.1.0",
"port-version": 0
},
"qtmqtt": {
"baseline": "6.1.0",
"port-version": 0
},
"qtnetworkauth": {
"baseline": "6.1.0",
"port-version": 0
},
"qtopcua": {
"baseline": "6.1.0",
"port-version": 0
},
"qtquick3d": {
"baseline": "6.1.0",
"port-version": 0
},
"qtquickcontrols2": {
"baseline": "6.1.0",
"port-version": 0
},
"qtquicktimeline": {
"baseline": "6.1.0",
"port-version": 0
},
"qtscxml": {
"baseline": "6.1.0",
"port-version": 0
},
"qtshadertools": {
"baseline": "6.1.0",
"port-version": 0
},
"qtsvg": {
"baseline": "6.1.0",
"port-version": 0
},
"qttools": {
"baseline": "6.1.0",
"port-version": 0
},
"qttranslations": {
"baseline": "6.1.0",
"port-version": 0
},
"qtvirtualkeyboard": {
"baseline": "6.1.0",
"port-version": 0
},
"qtwayland": {
"baseline": "6.1.0",
"port-version": 0
},
"quadtree": { "quadtree": {
"baseline": "2020-04-13", "baseline": "2020-04-13",
"port-version": 0 "port-version": 0

9
versions/q-/qt.json Normal file
View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "3049962a022e42ab77ecda0b58e6480de6f6a38f",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "33d9b2ff872cbc458a0ce0145a30f6f702d1fb58",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "d81c3fdd73670a353ebe8be0f2f6bc0397b6d647",
"version-semver": "6.2.0-beta",
"port-version": 0
}
]
}

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "0341fe2cf4a7eafcb0b73f0adbdb37a151bc3000",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

9
versions/q-/qtbase.json Normal file
View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "c13214dac08887f541c416d36de97a86560d13f5",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "1890f3d4b87f50fd6d16ffbc03d5d023762fc58b",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

9
versions/q-/qtcoap.json Normal file
View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "435511150f075d71b1f947e89b1f0d306ffe251e",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "1d69299b89bc39acbf73afb5353a40f6540a04d2",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "30dd12410732756cf29ae1317de8f029010c9f22",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

9
versions/q-/qtdoc.json Normal file
View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "e77ae101a8432595ff4f428ebbae194f720c2792",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "a663532b7f1e64a346f94c27270c2ae7142780ad",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "9a823fe108a9efbcd6cc83f5b7ff283a7500a9fb",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

9
versions/q-/qtmqtt.json Normal file
View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "a13ec187af88d84a53445c1bcb99aa9c60a9966d",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "e72fbfa1b11b2eb4673afbad3198462602ff7123",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

9
versions/q-/qtopcua.json Normal file
View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "22f34050bedeeaf97c6bb7cc6a556f6190ebf7c3",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "8bbeae91ec304b0695da0e53b436e05a3ac03050",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "601cfca0a0ae61f4737064a5003f5c83736eda30",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "5fc074f13b064d388ee11fa172ea1bccfa3a448c",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

9
versions/q-/qtscxml.json Normal file
View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "015b07e4fe4a948c5c4d00d18c34eeb64c6752f4",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "40bcf168e248310e309ff201f6e96fa44b13c4e9",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

9
versions/q-/qtsvg.json Normal file
View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "c30f32af2bdc755e3c2fcf0a0cc64f23632983bd",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

9
versions/q-/qttools.json Normal file
View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "ce742ed3dcd05d27552874077744ce955375390c",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "c452d28bfe0ffaf87dc622761dbd5aa217e938ca",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "e267466518c4622bcd79052d2fcd8066da4202e8",
"version-semver": "6.1.0",
"port-version": 0
}
]
}

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "712d72065cb213eaaf1ce574c6d3fde99a8ff02e",
"version-semver": "6.1.0",
"port-version": 0
}
]
}