aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/qt5compat
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/qt5compat
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/qt5compat')
-rw-r--r--vcpkg/ports/qt5compat/portfile.cmake40
-rw-r--r--vcpkg/ports/qt5compat/vcpkg.json77
2 files changed, 117 insertions, 0 deletions
diff --git a/vcpkg/ports/qt5compat/portfile.cmake b/vcpkg/ports/qt5compat/portfile.cmake
new file mode 100644
index 0000000..d13a078
--- /dev/null
+++ b/vcpkg/ports/qt5compat/portfile.cmake
@@ -0,0 +1,40 @@
+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
+ #"iconv" CMAKE_REQUIRE_FIND_PACKAGE_WrapIconv
+ "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick
+INVERTED_FEATURES
+ "iconv" CMAKE_DISABLE_FIND_PACKAGE_WrapIconv
+ "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick
+ )
+
+#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
+if("iconv" IN_LIST FEATURES)
+ include("${SCRIPT_PATH}/port_status.cmake")
+ if(qtbase_with_icu)
+ message(FATAL_ERROR "qtbase was built with ICU. The iconv feature is not compatible with ICU.")
+ endif()
+endif()
+
+set(TOOL_NAMES)
+qt_install_submodule(PATCHES ${${PORT}_PATCHES}
+ TOOL_NAMES ${TOOL_NAMES}
+ CONFIGURE_OPTIONS
+ ${FEATURE_OPTIONS}
+ CONFIGURE_OPTIONS_RELEASE
+ CONFIGURE_OPTIONS_DEBUG
+ )
+
+#For my documentation:
+# find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core)
+# find_package(Qt6 ${PROJECT_VERSION} QUIET CONFIG OPTIONAL_COMPONENTS Network Xml Gui Quick)
diff --git a/vcpkg/ports/qt5compat/vcpkg.json b/vcpkg/ports/qt5compat/vcpkg.json
new file mode 100644
index 0000000..ae4b706
--- /dev/null
+++ b/vcpkg/ports/qt5compat/vcpkg.json
@@ -0,0 +1,77 @@
+{
+ "name": "qt5compat",
+ "version": "6.9.1",
+ "description": "The Qt 5 Core Compat module contains the Qt 5 Core APIs that were removed in Qt 6. The module facilitates the transition to Qt 6.",
+ "homepage": "https://www.qt.io/",
+ "license": null,
+ "dependencies": [
+ {
+ "name": "qtbase",
+ "default-features": false
+ }
+ ],
+ "default-features": [
+ "big-codecs",
+ "codecs",
+ "qml",
+ "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"
+ ]
+ }
+ ]
+ },
+ "iconv": {
+ "description": "Provides internationalization on Unix.",
+ "dependencies": [
+ "libiconv",
+ {
+ "name": "qt5compat",
+ "default-features": false,
+ "features": [
+ "textcodec"
+ ]
+ }
+ ]
+ },
+ "qml": {
+ "description": "Build QML imports",
+ "dependencies": [
+ {
+ "name": "qtbase",
+ "default-features": false,
+ "features": [
+ "gui"
+ ]
+ },
+ {
+ "name": "qtdeclarative",
+ "default-features": false
+ }
+ ]
+ },
+ "textcodec": {
+ "description": "Supports conversions between text encodings."
+ }
+ }
+}