blob: d09a2089f8c7501b1cf8515e1d8d2641eb208de0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
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
|