diff --git a/ports/qt/portfile.cmake b/ports/qt/portfile.cmake new file mode 100644 index 0000000000..9aefc82414 --- /dev/null +++ b/ports/qt/portfile.cmake @@ -0,0 +1 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/qt/vcpkg.json b/ports/qt/vcpkg.json new file mode 100644 index 0000000000..90927a82b0 --- /dev/null +++ b/ports/qt/vcpkg.json @@ -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" + } + ] + } + } +} diff --git a/ports/qt5compat/portfile.cmake b/ports/qt5compat/portfile.cmake new file mode 100644 index 0000000000..15c35a056b --- /dev/null +++ b/ports/qt5compat/portfile.cmake @@ -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 + ) diff --git a/ports/qt5compat/vcpkg.json b/ports/qt5compat/vcpkg.json new file mode 100644 index 0000000000..375f8b2f68 --- /dev/null +++ b/ports/qt5compat/vcpkg.json @@ -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." + } + } +} diff --git a/ports/qt6betablock/portfile.cmake b/ports/qt6betablock/portfile.cmake new file mode 100644 index 0000000000..9aefc82414 --- /dev/null +++ b/ports/qt6betablock/portfile.cmake @@ -0,0 +1 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/qt6betablock/vcpkg.json b/ports/qt6betablock/vcpkg.json new file mode 100644 index 0000000000..ddae387f72 --- /dev/null +++ b/ports/qt6betablock/vcpkg.json @@ -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 + } + ] +} diff --git a/ports/qtactiveqt/portfile.cmake b/ports/qtactiveqt/portfile.cmake new file mode 100644 index 0000000000..7284983c82 --- /dev/null +++ b/ports/qtactiveqt/portfile.cmake @@ -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() diff --git a/ports/qtactiveqt/vcpkg.json b/ports/qtactiveqt/vcpkg.json new file mode 100644 index 0000000000..74082ea182 --- /dev/null +++ b/ports/qtactiveqt/vcpkg.json @@ -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 + } + ] +} diff --git a/ports/qtbase/allow_outside_prefix.patch b/ports/qtbase/allow_outside_prefix.patch new file mode 100644 index 0000000000..7ddef9e4ff --- /dev/null +++ b/ports/qtbase/allow_outside_prefix.patch @@ -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() diff --git a/ports/qtbase/buildcmake.patch b/ports/qtbase/buildcmake.patch new file mode 100644 index 0000000000..07c3e3704d --- /dev/null +++ b/ports/qtbase/buildcmake.patch @@ -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() diff --git a/ports/qtbase/cmake/qt_install_copyright.cmake b/ports/qtbase/cmake/qt_install_copyright.cmake new file mode 100644 index 0000000000..5215f96758 --- /dev/null +++ b/ports/qtbase/cmake/qt_install_copyright.cmake @@ -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() diff --git a/ports/qtbase/cmake/qt_install_submodule.cmake b/ports/qtbase/cmake/qt_install_submodule.cmake new file mode 100644 index 0000000000..169e86cffa --- /dev/null +++ b/ports/qtbase/cmake/qt_install_submodule.cmake @@ -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= # 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() diff --git a/ports/qtbase/cmake/qt_port_details-latest.cmake b/ports/qtbase/cmake/qt_port_details-latest.cmake new file mode 100644 index 0000000000..5dda21b7fc --- /dev/null +++ b/ports/qtbase/cmake/qt_port_details-latest.cmake @@ -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() diff --git a/ports/qtbase/cmake/qt_port_details.cmake b/ports/qtbase/cmake/qt_port_details.cmake new file mode 100644 index 0000000000..eb3f464b02 --- /dev/null +++ b/ports/qtbase/cmake/qt_port_details.cmake @@ -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() diff --git a/ports/qtbase/config_install.patch b/ports/qtbase/config_install.patch new file mode 100644 index 0000000000..51c6e975cf --- /dev/null +++ b/ports/qtbase/config_install.patch @@ -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) diff --git a/ports/qtbase/dont_force_cmakecache.patch b/ports/qtbase/dont_force_cmakecache.patch new file mode 100644 index 0000000000..f8e90f3a10 --- /dev/null +++ b/ports/qtbase/dont_force_cmakecache.patch @@ -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() diff --git a/ports/qtbase/fix_find_dep.patch b/ports/qtbase/fix_find_dep.patch new file mode 100644 index 0000000000..0414198a1e --- /dev/null +++ b/ports/qtbase/fix_find_dep.patch @@ -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) + diff --git a/ports/qtbase/harfbuzz.patch b/ports/qtbase/harfbuzz.patch new file mode 100644 index 0000000000..a2f8e74249 --- /dev/null +++ b/ports/qtbase/harfbuzz.patch @@ -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") diff --git a/ports/qtbase/jpeg.patch b/ports/qtbase/jpeg.patch new file mode 100644 index 0000000000..1f2080561e --- /dev/null +++ b/ports/qtbase/jpeg.patch @@ -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 + #ifdef const + # undef const // remove crazy C hackery in jconfig.h diff --git a/ports/qtbase/portfile.cmake b/ports/qtbase/portfile.cmake new file mode 100644 index 0000000000..40f58858ce --- /dev/null +++ b/ports/qtbase/portfile.cmake @@ -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_ 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() diff --git a/ports/qtbase/qmake.debug.bat b/ports/qtbase/qmake.debug.bat new file mode 100644 index 0000000000..1b7440b3e0 --- /dev/null +++ b/ports/qtbase/qmake.debug.bat @@ -0,0 +1,2 @@ +@echo off +"%0\..\qmake.exe" -qtconf "%0\..\qt.debug.conf" %* \ No newline at end of file diff --git a/ports/qtbase/qt.conf.in b/ports/qtbase/qt.conf.in new file mode 100644 index 0000000000..c78fc7cb63 --- /dev/null +++ b/ports/qtbase/qt.conf.in @@ -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 diff --git a/ports/qtbase/vcpkg.json b/ports/qtbase/vcpkg.json new file mode 100644 index 0000000000..4d02b8e05d --- /dev/null +++ b/ports/qtbase/vcpkg.json @@ -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" + ] + } + } +} diff --git a/ports/qtcharts/portfile.cmake b/ports/qtcharts/portfile.cmake new file mode 100644 index 0000000000..1a3a6f1bfe --- /dev/null +++ b/ports/qtcharts/portfile.cmake @@ -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 + ) diff --git a/ports/qtcharts/vcpkg.json b/ports/qtcharts/vcpkg.json new file mode 100644 index 0000000000..9fa9d47db9 --- /dev/null +++ b/ports/qtcharts/vcpkg.json @@ -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" + } + } +} diff --git a/ports/qtcoap/portfile.cmake b/ports/qtcoap/portfile.cmake new file mode 100644 index 0000000000..1a3a6f1bfe --- /dev/null +++ b/ports/qtcoap/portfile.cmake @@ -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 + ) diff --git a/ports/qtcoap/vcpkg.json b/ports/qtcoap/vcpkg.json new file mode 100644 index 0000000000..a187dcf88d --- /dev/null +++ b/ports/qtcoap/vcpkg.json @@ -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" + } + } +} diff --git a/ports/qtdatavis3d/portfile.cmake b/ports/qtdatavis3d/portfile.cmake new file mode 100644 index 0000000000..1a3a6f1bfe --- /dev/null +++ b/ports/qtdatavis3d/portfile.cmake @@ -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 + ) diff --git a/ports/qtdatavis3d/vcpkg.json b/ports/qtdatavis3d/vcpkg.json new file mode 100644 index 0000000000..2de4a9262f --- /dev/null +++ b/ports/qtdatavis3d/vcpkg.json @@ -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" + ] +} diff --git a/ports/qtdeclarative/fix_alignment.patch b/ports/qtdeclarative/fix_alignment.patch new file mode 100644 index 0000000000..088f60dc63 --- /dev/null +++ b/ports/qtdeclarative/fix_alignment.patch @@ -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; diff --git a/ports/qtdeclarative/portfile.cmake b/ports/qtdeclarative/portfile.cmake new file mode 100644 index 0000000000..fcea8ed2b3 --- /dev/null +++ b/ports/qtdeclarative/portfile.cmake @@ -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 + ) diff --git a/ports/qtdeclarative/vcpkg.json b/ports/qtdeclarative/vcpkg.json new file mode 100644 index 0000000000..99866447bb --- /dev/null +++ b/ports/qtdeclarative/vcpkg.json @@ -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 + } + ] +} diff --git a/ports/qtdoc/portfile.cmake b/ports/qtdoc/portfile.cmake new file mode 100644 index 0000000000..a060db617d --- /dev/null +++ b/ports/qtdoc/portfile.cmake @@ -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) diff --git a/ports/qtdoc/vcpkg.json b/ports/qtdoc/vcpkg.json new file mode 100644 index 0000000000..1246682385 --- /dev/null +++ b/ports/qtdoc/vcpkg.json @@ -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" + } + } +} diff --git a/ports/qtimageformats/portfile.cmake b/ports/qtimageformats/portfile.cmake new file mode 100644 index 0000000000..54e5974121 --- /dev/null +++ b/ports/qtimageformats/portfile.cmake @@ -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() diff --git a/ports/qtimageformats/vcpkg.json b/ports/qtimageformats/vcpkg.json new file mode 100644 index 0000000000..f1fb09d5a8 --- /dev/null +++ b/ports/qtimageformats/vcpkg.json @@ -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" + ] + } + } +} diff --git a/ports/qtimageformats/webp.patch b/ports/qtimageformats/webp.patch new file mode 100644 index 0000000000..23eda0ac85 --- /dev/null +++ b/ports/qtimageformats/webp.patch @@ -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() + diff --git a/ports/qtlottie/portfile.cmake b/ports/qtlottie/portfile.cmake new file mode 100644 index 0000000000..1a3a6f1bfe --- /dev/null +++ b/ports/qtlottie/portfile.cmake @@ -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 + ) diff --git a/ports/qtlottie/vcpkg.json b/ports/qtlottie/vcpkg.json new file mode 100644 index 0000000000..418c7dd759 --- /dev/null +++ b/ports/qtlottie/vcpkg.json @@ -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" + } + } +} diff --git a/ports/qtmqtt/portfile.cmake b/ports/qtmqtt/portfile.cmake new file mode 100644 index 0000000000..1a3a6f1bfe --- /dev/null +++ b/ports/qtmqtt/portfile.cmake @@ -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 + ) diff --git a/ports/qtmqtt/vcpkg.json b/ports/qtmqtt/vcpkg.json new file mode 100644 index 0000000000..ddc465a160 --- /dev/null +++ b/ports/qtmqtt/vcpkg.json @@ -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" + } + } +} diff --git a/ports/qtnetworkauth/portfile.cmake b/ports/qtnetworkauth/portfile.cmake new file mode 100644 index 0000000000..1a3a6f1bfe --- /dev/null +++ b/ports/qtnetworkauth/portfile.cmake @@ -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 + ) diff --git a/ports/qtnetworkauth/vcpkg.json b/ports/qtnetworkauth/vcpkg.json new file mode 100644 index 0000000000..3ac2baf0ce --- /dev/null +++ b/ports/qtnetworkauth/vcpkg.json @@ -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" + } + } +} diff --git a/ports/qtopcua/portfile.cmake b/ports/qtopcua/portfile.cmake new file mode 100644 index 0000000000..258b358a2f --- /dev/null +++ b/ports/qtopcua/portfile.cmake @@ -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 + ) diff --git a/ports/qtopcua/vcpkg.json b/ports/qtopcua/vcpkg.json new file mode 100644 index 0000000000..164f96e8e4 --- /dev/null +++ b/ports/qtopcua/vcpkg.json @@ -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" + } + } +} diff --git a/ports/qtquick3d/portfile.cmake b/ports/qtquick3d/portfile.cmake new file mode 100644 index 0000000000..4b4b49a9fc --- /dev/null +++ b/ports/qtquick3d/portfile.cmake @@ -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 + ) diff --git a/ports/qtquick3d/vcpkg.json b/ports/qtquick3d/vcpkg.json new file mode 100644 index 0000000000..d4fcd192d7 --- /dev/null +++ b/ports/qtquick3d/vcpkg.json @@ -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" + } + } +} diff --git a/ports/qtquickcontrols2/portfile.cmake b/ports/qtquickcontrols2/portfile.cmake new file mode 100644 index 0000000000..df909777b9 --- /dev/null +++ b/ports/qtquickcontrols2/portfile.cmake @@ -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 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 + ) diff --git a/ports/qtquickcontrols2/vcpkg.json b/ports/qtquickcontrols2/vcpkg.json new file mode 100644 index 0000000000..8e37ea1968 --- /dev/null +++ b/ports/qtquickcontrols2/vcpkg.json @@ -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" + } + } +} diff --git a/ports/qtquicktimeline/portfile.cmake b/ports/qtquicktimeline/portfile.cmake new file mode 100644 index 0000000000..5ed735d38c --- /dev/null +++ b/ports/qtquicktimeline/portfile.cmake @@ -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 diff --git a/ports/qtquicktimeline/vcpkg.json b/ports/qtquicktimeline/vcpkg.json new file mode 100644 index 0000000000..6c65198f00 --- /dev/null +++ b/ports/qtquicktimeline/vcpkg.json @@ -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" + ] +} diff --git a/ports/qtscxml/portfile.cmake b/ports/qtscxml/portfile.cmake new file mode 100644 index 0000000000..daa6b663e2 --- /dev/null +++ b/ports/qtscxml/portfile.cmake @@ -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 + ) diff --git a/ports/qtscxml/vcpkg.json b/ports/qtscxml/vcpkg.json new file mode 100644 index 0000000000..878af0d4d1 --- /dev/null +++ b/ports/qtscxml/vcpkg.json @@ -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 + } + ] +} diff --git a/ports/qtshadertools/portfile.cmake b/ports/qtshadertools/portfile.cmake new file mode 100644 index 0000000000..0311a481a0 --- /dev/null +++ b/ports/qtshadertools/portfile.cmake @@ -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 + ) diff --git a/ports/qtshadertools/vcpkg.json b/ports/qtshadertools/vcpkg.json new file mode 100644 index 0000000000..7a4e7b93af --- /dev/null +++ b/ports/qtshadertools/vcpkg.json @@ -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 + } + ] +} diff --git a/ports/qtsvg/portfile.cmake b/ports/qtsvg/portfile.cmake new file mode 100644 index 0000000000..975bf122fd --- /dev/null +++ b/ports/qtsvg/portfile.cmake @@ -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 + ) diff --git a/ports/qtsvg/vcpkg.json b/ports/qtsvg/vcpkg.json new file mode 100644 index 0000000000..fdab8c53ad --- /dev/null +++ b/ports/qtsvg/vcpkg.json @@ -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" + ] + } + ] +} diff --git a/ports/qttools/fix_static_build.patch b/ports/qttools/fix_static_build.patch new file mode 100644 index 0000000000..bc67faf5dc --- /dev/null +++ b/ports/qttools/fix_static_build.patch @@ -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 + ) diff --git a/ports/qttools/portfile.cmake b/ports/qttools/portfile.cmake new file mode 100644 index 0000000000..f65cf8ce1c --- /dev/null +++ b/ports/qttools/portfile.cmake @@ -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() diff --git a/ports/qttools/vcpkg.json b/ports/qttools/vcpkg.json new file mode 100644 index 0000000000..86d9efa486 --- /dev/null +++ b/ports/qttools/vcpkg.json @@ -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" + ] + } + } +} diff --git a/ports/qttools/windeployqt.debug.bat b/ports/qttools/windeployqt.debug.bat new file mode 100644 index 0000000000..d004e23f10 --- /dev/null +++ b/ports/qttools/windeployqt.debug.bat @@ -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 \ No newline at end of file diff --git a/ports/qttranslations/portfile.cmake b/ports/qttranslations/portfile.cmake new file mode 100644 index 0000000000..30a09d5996 --- /dev/null +++ b/ports/qttranslations/portfile.cmake @@ -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") diff --git a/ports/qttranslations/vcpkg.json b/ports/qttranslations/vcpkg.json new file mode 100644 index 0000000000..82f8d001b3 --- /dev/null +++ b/ports/qttranslations/vcpkg.json @@ -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" + } + } +} diff --git a/ports/qtvirtualkeyboard/hunspell_include_path_fix.patch b/ports/qtvirtualkeyboard/hunspell_include_path_fix.patch new file mode 100644 index 0000000000..7c92d6a89b --- /dev/null +++ b/ports/qtvirtualkeyboard/hunspell_include_path_fix.patch @@ -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 + #include +-#include ++#include + #include + #include + #include +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 + #include + #include +-#include ++#include + #include + + QT_BEGIN_NAMESPACE diff --git a/ports/qtvirtualkeyboard/portfile.cmake b/ports/qtvirtualkeyboard/portfile.cmake new file mode 100644 index 0000000000..528a0a4de2 --- /dev/null +++ b/ports/qtvirtualkeyboard/portfile.cmake @@ -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 + ) diff --git a/ports/qtvirtualkeyboard/vcpkg.json b/ports/qtvirtualkeyboard/vcpkg.json new file mode 100644 index 0000000000..62328e2fb4 --- /dev/null +++ b/ports/qtvirtualkeyboard/vcpkg.json @@ -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" + } + } +} diff --git a/ports/qtwayland/portfile.cmake b/ports/qtwayland/portfile.cmake new file mode 100644 index 0000000000..787758cbbd --- /dev/null +++ b/ports/qtwayland/portfile.cmake @@ -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 + ) diff --git a/ports/qtwayland/vcpkg.json b/ports/qtwayland/vcpkg.json new file mode 100644 index 0000000000..e4d8003065 --- /dev/null +++ b/ports/qtwayland/vcpkg.json @@ -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" + } + } +} diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 5822206e2c..ec54e309fa 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1280,36 +1280,38 @@ python2:arm-uwp=fail python2:x64-linux=fail python2:x64-osx=fail python2:x64-uwp=fail +# Not yet ready for these platforms. +qbittorrent:x64-osx=fail +qbittorrent:x64-linux=fail qhull:x64-uwp=fail qhull:arm-uwp=fail qpid-proton:arm-uwp=fail qpid-proton:x64-uwp=fail qpid-proton:x64-windows-static=fail -qt5-activeqt:x64-linux=fail -qt5-activeqt:x64-osx=fail +# Skip ports not available in Qt 6.1.0 (for Qt 6.2) +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 # 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-osx=skip qt5-canvas3d:x64-windows=skip qt5-canvas3d:x64-windows-static=skip qt5-canvas3d:x64-windows-static-md=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 qt5-wayland:x64-osx=fail +qtwayland:x64-osx=fail # Missing libraries qt5-wayland:x86-windows=fail qt5-wayland:x64-windows=fail qt5-wayland:x64-windows-static=fail qt5-wayland:x64-windows-static-md=fail -qt5-winextras:x64-linux=fail -qt5-winextras:x64-osx=fail # Missing prerequisites for CI success qt5-webengine:x64-linux=fail qt5-webengine:x64-osx=fail diff --git a/scripts/test_ports/cmake/portfile.cmake b/scripts/test_ports/cmake/portfile.cmake index 9df7b3f438..3a74a2e65a 100644 --- a/scripts/test_ports/cmake/portfile.cmake +++ b/scripts/test_ports/cmake/portfile.cmake @@ -9,15 +9,27 @@ vcpkg_from_gitlab( 3b0de26910bceaf4bc6546255bada4c502cd0fd32f44bc28b067f347c09d028c175a3243551bbe4bb64bcf312df9ff827e8fdbcb0b34a12e1ce4a26ba0799ee2 HEAD_REF master ) - +set(OPTIONS) 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() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS + ${OPTIONS} -DBUILD_TESTING=OFF #-DCMAKE_USE_SYSTEM_LIBRARIES=ON -DCMAKE_USE_SYSTEM_LIBARCHIVE=ON @@ -30,8 +42,8 @@ vcpkg_configure_cmake( -DCMAKE_USE_SYSTEM_JSONCPP=ON -DCMAKE_USE_SYSTEM_LIBRHASH=OFF # not yet in VCPKG -DCMAKE_USE_SYSTEM_LIBUV=ON - -DBUILD_CursesDialog=${BUILD_CURSES_DIALOG} -DBUILD_QtDialog=ON # Just to test Qt with CMake + -DCMake_QT_MAJOR_VERSION:STRING=6 ) vcpkg_install_cmake(ADD_BIN_TO_PATH) diff --git a/scripts/test_ports/cmake/vcpkg.json b/scripts/test_ports/cmake/vcpkg.json index c2c4d9752c..541ea1d77b 100644 --- a/scripts/test_ports/cmake/vcpkg.json +++ b/scripts/test_ports/cmake/vcpkg.json @@ -16,11 +16,7 @@ "platform": "!(windows | uwp)" }, "nghttp2", - "qt5-base", - { - "name": "qt5-winextras", - "platform": "windows" - }, + "qtbase", "zlib", "zstd" ] diff --git a/versions/baseline.json b/versions/baseline.json index d6ee10fef5..cbdf4b98aa 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5036,6 +5036,10 @@ "baseline": "2.12.0", "port-version": 1 }, + "qt": { + "baseline": "6.1.0", + "port-version": 0 + }, "qt-advanced-docking-system": { "baseline": "3.6.3", "port-version": 1 @@ -5212,10 +5216,106 @@ "baseline": "5.15.2", "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": { "baseline": "0.11.1", "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": { "baseline": "2020-04-13", "port-version": 0 diff --git a/versions/q-/qt.json b/versions/q-/qt.json new file mode 100644 index 0000000000..6fd4082608 --- /dev/null +++ b/versions/q-/qt.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "3049962a022e42ab77ecda0b58e6480de6f6a38f", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qt5compat.json b/versions/q-/qt5compat.json new file mode 100644 index 0000000000..5e7f04c28c --- /dev/null +++ b/versions/q-/qt5compat.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "33d9b2ff872cbc458a0ce0145a30f6f702d1fb58", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qt6betablock.json b/versions/q-/qt6betablock.json new file mode 100644 index 0000000000..90eeda6fa1 --- /dev/null +++ b/versions/q-/qt6betablock.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "d81c3fdd73670a353ebe8be0f2f6bc0397b6d647", + "version-semver": "6.2.0-beta", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtactiveqt.json b/versions/q-/qtactiveqt.json new file mode 100644 index 0000000000..3dddf58b05 --- /dev/null +++ b/versions/q-/qtactiveqt.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "0341fe2cf4a7eafcb0b73f0adbdb37a151bc3000", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtbase.json b/versions/q-/qtbase.json new file mode 100644 index 0000000000..0f91c0a006 --- /dev/null +++ b/versions/q-/qtbase.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "c13214dac08887f541c416d36de97a86560d13f5", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtcharts.json b/versions/q-/qtcharts.json new file mode 100644 index 0000000000..fb8c3b7842 --- /dev/null +++ b/versions/q-/qtcharts.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "1890f3d4b87f50fd6d16ffbc03d5d023762fc58b", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtcoap.json b/versions/q-/qtcoap.json new file mode 100644 index 0000000000..0e5a7e069c --- /dev/null +++ b/versions/q-/qtcoap.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "435511150f075d71b1f947e89b1f0d306ffe251e", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtdatavis3d.json b/versions/q-/qtdatavis3d.json new file mode 100644 index 0000000000..a02ef71971 --- /dev/null +++ b/versions/q-/qtdatavis3d.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "1d69299b89bc39acbf73afb5353a40f6540a04d2", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtdeclarative.json b/versions/q-/qtdeclarative.json new file mode 100644 index 0000000000..8a000e41bb --- /dev/null +++ b/versions/q-/qtdeclarative.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "30dd12410732756cf29ae1317de8f029010c9f22", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtdoc.json b/versions/q-/qtdoc.json new file mode 100644 index 0000000000..a105be68e8 --- /dev/null +++ b/versions/q-/qtdoc.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "e77ae101a8432595ff4f428ebbae194f720c2792", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtimageformats.json b/versions/q-/qtimageformats.json new file mode 100644 index 0000000000..7f3311091e --- /dev/null +++ b/versions/q-/qtimageformats.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "a663532b7f1e64a346f94c27270c2ae7142780ad", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtlottie.json b/versions/q-/qtlottie.json new file mode 100644 index 0000000000..75bb5e49c7 --- /dev/null +++ b/versions/q-/qtlottie.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "9a823fe108a9efbcd6cc83f5b7ff283a7500a9fb", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtmqtt.json b/versions/q-/qtmqtt.json new file mode 100644 index 0000000000..4df16f480f --- /dev/null +++ b/versions/q-/qtmqtt.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "a13ec187af88d84a53445c1bcb99aa9c60a9966d", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtnetworkauth.json b/versions/q-/qtnetworkauth.json new file mode 100644 index 0000000000..d2830f3e13 --- /dev/null +++ b/versions/q-/qtnetworkauth.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "e72fbfa1b11b2eb4673afbad3198462602ff7123", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtopcua.json b/versions/q-/qtopcua.json new file mode 100644 index 0000000000..9e813ae9d5 --- /dev/null +++ b/versions/q-/qtopcua.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "22f34050bedeeaf97c6bb7cc6a556f6190ebf7c3", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtquick3d.json b/versions/q-/qtquick3d.json new file mode 100644 index 0000000000..d082884bbf --- /dev/null +++ b/versions/q-/qtquick3d.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "8bbeae91ec304b0695da0e53b436e05a3ac03050", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtquickcontrols2.json b/versions/q-/qtquickcontrols2.json new file mode 100644 index 0000000000..72c024d6fb --- /dev/null +++ b/versions/q-/qtquickcontrols2.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "601cfca0a0ae61f4737064a5003f5c83736eda30", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtquicktimeline.json b/versions/q-/qtquicktimeline.json new file mode 100644 index 0000000000..560499dbd7 --- /dev/null +++ b/versions/q-/qtquicktimeline.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "5fc074f13b064d388ee11fa172ea1bccfa3a448c", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtscxml.json b/versions/q-/qtscxml.json new file mode 100644 index 0000000000..a23051770e --- /dev/null +++ b/versions/q-/qtscxml.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "015b07e4fe4a948c5c4d00d18c34eeb64c6752f4", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtshadertools.json b/versions/q-/qtshadertools.json new file mode 100644 index 0000000000..1bf79fd9db --- /dev/null +++ b/versions/q-/qtshadertools.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "40bcf168e248310e309ff201f6e96fa44b13c4e9", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtsvg.json b/versions/q-/qtsvg.json new file mode 100644 index 0000000000..acced05524 --- /dev/null +++ b/versions/q-/qtsvg.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "c30f32af2bdc755e3c2fcf0a0cc64f23632983bd", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qttools.json b/versions/q-/qttools.json new file mode 100644 index 0000000000..72450bade9 --- /dev/null +++ b/versions/q-/qttools.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "ce742ed3dcd05d27552874077744ce955375390c", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qttranslations.json b/versions/q-/qttranslations.json new file mode 100644 index 0000000000..015c50ae3b --- /dev/null +++ b/versions/q-/qttranslations.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "c452d28bfe0ffaf87dc622761dbd5aa217e938ca", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtvirtualkeyboard.json b/versions/q-/qtvirtualkeyboard.json new file mode 100644 index 0000000000..b4b4882582 --- /dev/null +++ b/versions/q-/qtvirtualkeyboard.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "e267466518c4622bcd79052d2fcd8066da4202e8", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtwayland.json b/versions/q-/qtwayland.json new file mode 100644 index 0000000000..52174de2b9 --- /dev/null +++ b/versions/q-/qtwayland.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "712d72065cb213eaaf1ce574c6d3fde99a8ff02e", + "version-semver": "6.1.0", + "port-version": 0 + } + ] +}