aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/qtapplicationmanager/portfile.cmake
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/qtapplicationmanager/portfile.cmake
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/qtapplicationmanager/portfile.cmake')
-rw-r--r--vcpkg/ports/qtapplicationmanager/portfile.cmake109
1 files changed, 109 insertions, 0 deletions
diff --git a/vcpkg/ports/qtapplicationmanager/portfile.cmake b/vcpkg/ports/qtapplicationmanager/portfile.cmake
new file mode 100644
index 0000000..d09a208
--- /dev/null
+++ b/vcpkg/ports/qtapplicationmanager/portfile.cmake
@@ -0,0 +1,109 @@
+set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
+include("${SCRIPT_PATH}/qt_install_submodule.cmake")
+
+set(${PORT}_PATCHES
+ wrapper-fixes.patch
+ stack-walker-arm64.patch
+ )
+
+set(TOOL_NAMES appman
+ appman-controller
+ appman-dumpqmltypes
+ appman-packager
+ appman-qmltestrunner
+ appman-launcher-qml
+ appman-package-server
+ package-uploader
+ )
+
+# cf. src/common-lib/configure.cmake
+set(options "")
+if("installer" IN_LIST FEATURES)
+ list(APPEND options -DINPUT_installer=yes -DINPUT_libarchive=system)
+else()
+ list(APPEND options -DINPUT_installer=no -DINPUT_libarchive=no)
+endif()
+if("multi-process" IN_LIST FEATURES)
+ list(APPEND options -DINPUT_force_mode=multi)
+else()
+ list(APPEND options -DINPUT_force_mode=single)
+endif()
+if("package-server" IN_LIST FEATURES)
+ list(APPEND options -DINPUT_package_server=yes)
+else()
+ list(APPEND options -DINPUT_package_server=no)
+endif()
+if("systemd-watchdog" IN_LIST FEATURES)
+ list(APPEND options -DINPUT_systemd_watchdog=yes)
+ vcpkg_find_acquire_program(PKGCONFIG)
+ list(APPEND options "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}")
+else()
+ list(APPEND options -DINPUT_systemd_watchdog=no)
+endif()
+
+qt_download_submodule(PATCHES ${${PORT}_PATCHES})
+if(QT_UPDATE_VERSION)
+ return()
+endif()
+
+file(REMOVE_RECURSE
+ "${SOURCE_PATH}/src/3rdparty/libarchive"
+ "${SOURCE_PATH}/src/3rdparty/libbacktrace"
+ "${SOURCE_PATH}/src/3rdparty/libdbus"
+ "${SOURCE_PATH}/src/3rdparty/libyaml"
+ "${SOURCE_PATH}/src/3rdparty/stackwalker"
+)
+
+set(qt_plugindir ${QT6_DIRECTORY_PREFIX}plugins)
+set(qt_qmldir ${QT6_DIRECTORY_PREFIX}qml)
+qt_cmake_configure(OPTIONS
+ ${options}
+ -DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON
+ -DINPUT_libbacktrace=no
+ -DINPUT_libdbus=no # disable bundled libdbus
+ -DINPUT_libyaml=system
+ -DINPUT_stackwalker=no
+ TOOL_NAMES ${TOOL_NAMES}
+)
+
+### Fix debug post-build.bat generated by CMake.
+### Maybe related: https://gitlab.kitware.com/cmake/cmake/-/issues/22124.
+if(VCPKG_TARGET_IS_WINDOWS)
+ set(scriptfile "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/src/tools/dumpqmltypes/CMakeFiles/appman-dumpqmltypes.dir/post-build.bat")
+ file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" CURRENT_INSTALLED_DIR_NATIVE)
+ if(EXISTS "${scriptfile}")
+ vcpkg_replace_string("${scriptfile}" "${CURRENT_INSTALLED_DIR_NATIVE}\\bin" "${CURRENT_INSTALLED_DIR_NATIVE}\\debug\\bin")
+ endif()
+endif()
+vcpkg_cmake_install(ADD_BIN_TO_PATH)
+
+qt_fixup_and_cleanup(TOOL_NAMES ${TOOL_NAMES})
+
+qt_install_copyright("${SOURCE_PATH}")
+
+### ^^^ Using the more verbose code due to the post-build.bat script fixup.
+### vvv Usual short version follows.
+
+#qt_install_submodule(PATCHES ${${PORT}_PATCHES}
+# TOOL_NAMES ${TOOL_NAMES}
+# CONFIGURE_OPTIONS
+# ...
+# CONFIGURE_OPTIONS_RELEASE
+# CONFIGURE_OPTIONS_DEBUG
+# )
+
+
+file(GLOB_RECURSE qttools "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/*")
+if(NOT qttools AND VCPKG_CROSSCOMPILING)
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/")
+ endif()
+
+if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_CROSSCOMPILING AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
+ file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/bin/"
+ "${CURRENT_PACKAGES_DIR}/debug/bin/"
+ "${CURRENT_PACKAGES_DIR}/tools/"
+ )
+endif()
+
+set(VCPKG_POLICY_MISMATCHED_NUMBER_OF_BINARIES enabled) #Debug tracing libraries are only build if CMAKE_BUILD_TYPE is equal to Debug