diff options
Diffstat (limited to 'vcpkg/ports/qtapplicationmanager/portfile.cmake')
| -rw-r--r-- | vcpkg/ports/qtapplicationmanager/portfile.cmake | 109 |
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 |