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/vcpkg-qmake/vcpkg_qmake_install.cmake | |
Diffstat (limited to 'vcpkg/ports/vcpkg-qmake/vcpkg_qmake_install.cmake')
| -rw-r--r-- | vcpkg/ports/vcpkg-qmake/vcpkg_qmake_install.cmake | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/vcpkg/ports/vcpkg-qmake/vcpkg_qmake_install.cmake b/vcpkg/ports/vcpkg-qmake/vcpkg_qmake_install.cmake new file mode 100644 index 0000000..ce2e206 --- /dev/null +++ b/vcpkg/ports/vcpkg-qmake/vcpkg_qmake_install.cmake @@ -0,0 +1,46 @@ +#[===[.md:
+# vcpkg_qmake_install
+
+Build and install a qmake project.
+
+## Usage:
+```cmake
+vcpkg_qmake_install(...)
+```
+
+## Parameters:
+See [`vcpkg_qmake_build()`](vcpkg_qmake_build.md).
+
+## Notes:
+This command transparently forwards to [`vcpkg_qmake_build()`](vcpkg_qmake_build.md).
+and appends the 'install' target
+
+#]===]
+
+function(z_vcpkg_qmake_fix_prl PACKAGE_DIR PRL_FILES)
+ file(TO_CMAKE_PATH "${PACKAGE_DIR}/lib" CMAKE_LIB_PATH)
+ file(TO_CMAKE_PATH "${PACKAGE_DIR}/include/Qt6" CMAKE_INCLUDE_PATH_QT6)
+ file(TO_CMAKE_PATH "${PACKAGE_DIR}/include" CMAKE_INCLUDE_PATH)
+ file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}" CMAKE_INSTALLED_PREFIX)
+ foreach(PRL_FILE IN LISTS PRL_FILES)
+ file(READ "${PRL_FILE}" _contents)
+ string(REPLACE "${CMAKE_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}")
+ string(REPLACE "${CMAKE_INCLUDE_PATH_QT6}" "\$\$[QT_INSTALL_HEADERS]" _contents "${_contents}")
+ string(REPLACE "${CMAKE_INCLUDE_PATH}" "\$\$[QT_INSTALL_HEADERS]/../" _contents "${_contents}")
+ string(REPLACE "${CMAKE_INSTALLED_PREFIX}" "\$\$[QT_INSTALL_PREFIX]" _contents "${_contents}")
+ string(REGEX REPLACE "QMAKE_PRL_BUILD_DIR[^\\\n]+" "QMAKE_PRL_BUILD_DIR =" _contents "${_contents}")
+ #Note: This only works without an extra if case since QT_INSTALL_PREFIX is the same for debug and release
+ file(WRITE "${PRL_FILE}" "${_contents}")
+ endforeach()
+endfunction()
+
+function(vcpkg_qmake_install)
+ z_vcpkg_function_arguments(args)
+ vcpkg_qmake_build(${args})
+ vcpkg_qmake_build(SKIP_MAKEFILES BUILD_LOGNAME "install" TARGETS "install")
+
+ # Fix absolute paths in prl files
+ file(GLOB_RECURSE prl_files "${CURRENT_PACKAGES_DIR}/**.prl")
+ debug_message(STATUS "prl_files:${prl_files}")
+ z_vcpkg_qmake_fix_prl("${CURRENT_PACKAGES_DIR}" "${prl_files}")
+endfunction()
|