diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/qttools | |
Diffstat (limited to 'vcpkg/ports/qttools')
| -rw-r--r-- | vcpkg/ports/qttools/devendor-litehtml.patch | 25 | ||||
| -rw-r--r-- | vcpkg/ports/qttools/portfile.cmake | 123 | ||||
| -rw-r--r-- | vcpkg/ports/qttools/vcpkg.json | 120 | ||||
| -rw-r--r-- | vcpkg/ports/qttools/windeployqt.debug.bat | 10 |
4 files changed, 278 insertions, 0 deletions
diff --git a/vcpkg/ports/qttools/devendor-litehtml.patch b/vcpkg/ports/qttools/devendor-litehtml.patch new file mode 100644 index 0000000..b6b105d --- /dev/null +++ b/vcpkg/ports/qttools/devendor-litehtml.patch @@ -0,0 +1,25 @@ +diff --git a/src/assistant/CMakeLists.txt b/src/assistant/CMakeLists.txt +index 5d2bf2b67c..abd9b513d3 100644 +--- a/src/assistant/CMakeLists.txt ++++ b/src/assistant/CMakeLists.txt +@@ -34,7 +34,7 @@ if(TARGET qlitehtml) + # but found in the system, because they are imported only to the subdirectory scope + # where find_package was called. But that's fine, we wouldn't be able to set compiler flags + # on them anyway. +- if(TARGET litehtml) ++ if(0) + qt_internal_set_exceptions_flags(litehtml OFF) + qt_disable_warnings(litehtml) + endif() +diff --git a/src/assistant/qlitehtml/src/container_qpainter_p.h b/src/assistant/qlitehtml/src/container_qpainter_p.h +index 23c55b4..4ae1cc1 100644 +--- a/src/assistant/qlitehtml/src/container_qpainter_p.h ++++ b/src/assistant/qlitehtml/src/container_qpainter_p.h +@@ -14,7 +14,6 @@ + #include <QString> + #include <QVector> + +-#include <litehtml/types.h> + #include <unordered_map> + + class Selection diff --git a/vcpkg/ports/qttools/portfile.cmake b/vcpkg/ports/qttools/portfile.cmake new file mode 100644 index 0000000..96abd43 --- /dev/null +++ b/vcpkg/ports/qttools/portfile.cmake @@ -0,0 +1,123 @@ +set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") +include("${SCRIPT_PATH}/qt_install_submodule.cmake") + +set(${PORT}_PATCHES + devendor-litehtml.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 + FEATURES + "assistant" FEATURE_assistant + "designer" FEATURE_designer + "linguist" FEATURE_linguist + "qdbus" FEATURE_qdbus + "qdoc" CMAKE_REQUIRE_FIND_PACKAGE_Clang + #"qdoc" CMAKE_REQUIRE_FIND_PACKAGE_WrapLibClang + "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Qml + "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick + "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6QuickWidgets + "qml" FEATURE_distancefieldgenerator + INVERTED_FEATURES + "qdoc" CMAKE_DISABLE_FIND_PACKAGE_Clang + "qdoc" CMAKE_DISABLE_FIND_PACKAGE_WrapLibClang + "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Qml + "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick + "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6QuickWidgets + ) + + 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() + +set(unused "") +if(NOT "assistant" IN_LIST FEATURES) + list(APPEND unused QLITEHTML_USE_SYSTEM_LITEHTML CMAKE_REQUIRE_FIND_PACKAGE_litehtml) +endif() + +qt_install_submodule(PATCHES ${${PORT}_PATCHES} + TOOL_NAMES ${TOOL_NAMES} + CONFIGURE_OPTIONS + ${FEATURE_OPTIONS} + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6AxContainer=ON + -DQLITEHTML_USE_SYSTEM_LITEHTML:BOOL=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_litehtml:BOOL=ON + CONFIGURE_OPTIONS_MAYBE_UNUSED + ${unused} + ) + +if(VCPKG_TARGET_IS_OSX) + set(OSX_APP_FOLDERS Designer.app Linguist.app pixeltool.app) + if (FEATURE_qdbus) + message(STATUS "Built qdbusviewer") + list(APPEND OSX_APP_FOLDERS qdbusviewer.app) + endif() + foreach(_appfolder IN LISTS OSX_APP_FOLDERS) + # Folders are only existing in case of native builds + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/${_appfolder}") + 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}/") + endif() + endforeach() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +file(GLOB_RECURSE debug_dir "${CURRENT_PACKAGES_DIR}/debug/*") +list(LENGTH debug_dir debug_dir_elements) +if(debug_dir_elements EQUAL 0) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +endif() diff --git a/vcpkg/ports/qttools/vcpkg.json b/vcpkg/ports/qttools/vcpkg.json new file mode 100644 index 0000000..5554d24 --- /dev/null +++ b/vcpkg/ports/qttools/vcpkg.json @@ -0,0 +1,120 @@ +{ + "name": "qttools", + "version": "6.9.1", + "description": "A collection of tools and utilities that come with the Qt framework to assist developers in the creation, management, and deployment of Qt applications.", + "homepage": "https://www.qt.io/", + "license": null, + "dependencies": [ + { + "name": "qtbase", + "default-features": false + }, + { + "name": "qttools", + "host": true, + "default-features": false, + "features": [ + "linguist" + ] + } + ], + "features": { + "assistant": { + "description": "Build Qt Assistant", + "dependencies": [ + { + "name": "litehtml", + "default-features": false + }, + { + "name": "qtbase", + "default-features": false, + "features": [ + "network", + "png", + "sql-sqlite", + "widgets" + ] + }, + { + "name": "qttools", + "host": true, + "default-features": false, + "features": [ + "assistant" + ] + } + ] + }, + "designer": { + "description": "Build Qt Designer", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "network", + "png", + "widgets" + ] + } + ] + }, + "linguist": { + "description": "Build Qt Linguist components", + "dependencies": [ + { + "name": "qttools", + "default-features": false, + "features": [ + "designer" + ] + } + ] + }, + "qdbus": { + "description": "Build QDBusViewer", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "dbus", + "widgets" + ] + } + ] + }, + "qdoc": { + "description": "Build QDoc", + "supports": "!android", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "clang", + "enable-rtti" + ] + } + ] + }, + "qml": { + "description": "Build QML imports", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "gui", + "widgets" + ] + }, + { + "name": "qtdeclarative", + "default-features": false + } + ] + } + } +} diff --git a/vcpkg/ports/qttools/windeployqt.debug.bat b/vcpkg/ports/qttools/windeployqt.debug.bat new file mode 100644 index 0000000..d205fe3 --- /dev/null +++ b/vcpkg/ports/qttools/windeployqt.debug.bat @@ -0,0 +1,10 @@ +@echo off
+setlocal enabledelayedexpansion
+set mypath=%~dp0
+set mypath=%mypath:~0,-1%
+set BAKCD=!CD!
+cd /D "%mypath%\..\..\..\debug\bin"
+set PATH=!CD!;%PATH%
+"%mypath%\windeployqt.exe" --qmake "%mypath%\qmake.debug.bat" %*
+cd /D "%BAKCD%"
+endlocal
|