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/qcoro | |
Diffstat (limited to 'vcpkg/ports/qcoro')
| -rw-r--r-- | vcpkg/ports/qcoro/portfile.cmake | 58 | ||||
| -rw-r--r-- | vcpkg/ports/qcoro/usage | 36 | ||||
| -rw-r--r-- | vcpkg/ports/qcoro/vcpkg.json | 98 |
3 files changed, 192 insertions, 0 deletions
diff --git a/vcpkg/ports/qcoro/portfile.cmake b/vcpkg/ports/qcoro/portfile.cmake new file mode 100644 index 0000000..d59665f --- /dev/null +++ b/vcpkg/ports/qcoro/portfile.cmake @@ -0,0 +1,58 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO qcoro/qcoro + REF "v${VERSION}" + SHA512 f1da90c4a9bec5f52ec9f40caa30c8465658c6ff005c6c7e89aeb97acc4aefd5e34030493b7e51313a6d2b3fc59114f6ed6751f31f1c132ece173f0e22154c37 + HEAD_REF main +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS EXTRA_OPTIONS + FEATURES + dbus QCORO_WITH_QTDBUS + network QCORO_WITH_QTNETWORK + websockets QCORO_WITH_QTWEBSOCKETS + quick QCORO_WITH_QTQUICK + qml QCORO_WITH_QML + test QCORO_WITH_QTTEST +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DUSE_QT_VERSION=6 + -DBUILD_TESTING=OFF + -DQCORO_BUILD_EXAMPLES=OFF + ${EXTRA_OPTIONS} +) + +vcpkg_cmake_install() + +if (QCORO_WITH_QTDBUS) + vcpkg_cmake_config_fixup(PACKAGE_NAME QCoro6DBus DO_NOT_DELETE_PARENT_CONFIG_PATH CONFIG_PATH lib/cmake/QCoro6DBus) +endif() +if (QCORO_WITH_QTNETWORK) + vcpkg_cmake_config_fixup(PACKAGE_NAME QCoro6Network DO_NOT_DELETE_PARENT_CONFIG_PATH CONFIG_PATH lib/cmake/QCoro6Network) +endif() +if (QCORO_WITH_QTWEBSOCKETS) + vcpkg_cmake_config_fixup(PACKAGE_NAME QCoro6WebSockets DO_NOT_DELETE_PARENT_CONFIG_PATH CONFIG_PATH lib/cmake/QCoro6WebSockets) +endif() +if (QCORO_WITH_QTQUICK) + vcpkg_cmake_config_fixup(PACKAGE_NAME QCoro6Quick DO_NOT_DELETE_PARENT_CONFIG_PATH CONFIG_PATH lib/cmake/QCoro6Quick) +endif() +if (QCORO_WITH_QML) + vcpkg_cmake_config_fixup(PACKAGE_NAME QCoro6Qml DO_NOT_DELETE_PARENT_CONFIG_PATH CONFIG_PATH lib/cmake/QCoro6Qml) +endif() +if (QCORO_WITH_QTTEST) + vcpkg_cmake_config_fixup(PACKAGE_NAME QCoro6Test DO_NOT_DELETE_PARENT_CONFIG_PATH CONFIG_PATH lib/cmake/QCoro6Test) +endif() +vcpkg_cmake_config_fixup(PACKAGE_NAME QCoro6Coro DO_NOT_DELETE_PARENT_CONFIG_PATH CONFIG_PATH lib/cmake/QCoro6Coro) +vcpkg_cmake_config_fixup(PACKAGE_NAME QCoro6 DO_NOT_DELETE_PARENT_CONFIG_PATH CONFIG_PATH lib/cmake/QCoro6) +vcpkg_cmake_config_fixup(PACKAGE_NAME QCoro6Core CONFIG_PATH lib/cmake/QCoro6Core) + +# Remove debug includes and CMake macros +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/vcpkg/ports/qcoro/usage b/vcpkg/ports/qcoro/usage new file mode 100644 index 0000000..ddd875a --- /dev/null +++ b/vcpkg/ports/qcoro/usage @@ -0,0 +1,36 @@ +qcoro-qt6 provides CMake targets: + + # Generic coroutine types and tools + find_package(QCoro6Coro CONFIG REQUIRED) + target_link_libraries(main PRIVATE QCoro6::Coro) + + # Coroutine support for QtCore types + find_package(QCoro6Core CONFIG REQUIRED) + target_link_libraries(main PRIVATE QCoro6::Core) + + # Coroutine supports for QtDBus types + find_package(QCoro6DBus CONFIG REQUIRED) + target_link_libraries(main PRIVATE QCoro6::DBus) + + # Coroutine support for QtNetwork types + find_package(QCoro6Network CONFIG REQUIRED) + target_link_libraries(main PRIVATE QCoro6::Network) + + # Coroutine support for QtQml types + find_package(QCoro6Qml CONFIG REQUIRED) + target_link_libraries(main PRIVATE QCoro6::Qml) + + # Coroutine support for QML + find_package(QCoro6Quick CONFIG REQUIRED) + target_link_libraries(main PRIVATE QCoro6::Quick) + + # Coroutine support for developing tests with QtTest + find_package(QCoro6Test CONFIG REQUIRED) + target_link_libraries(main PRIVATE QCoro6::Test) + + # Coroutine support for QtWebSockets types + find_package(QCoro6WebSockets CONFIG REQUIRED) + target_link_libraries(main PRIVATE QCoro6::WebSockets) + +You can also use `QCoro` target namespace for transparent +support of both Qt5 and Qt6. diff --git a/vcpkg/ports/qcoro/vcpkg.json b/vcpkg/ports/qcoro/vcpkg.json new file mode 100644 index 0000000..8e282d9 --- /dev/null +++ b/vcpkg/ports/qcoro/vcpkg.json @@ -0,0 +1,98 @@ +{ + "name": "qcoro", + "version": "0.12.0", + "description": "Coroutine support for Qt", + "homepage": "https://github.com/qcoro/qcoro", + "documentation": "https://qcoro.dev/", + "license": "MIT", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "thread" + ] + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "dbus", + "network", + "qml", + "quick", + "test", + "websockets" + ], + "features": { + "dbus": { + "description": "Coroutine support for QtDBus module", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "dbus" + ] + } + ] + }, + "network": { + "description": "Coroutine support for QtNetwork module", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "network" + ] + } + ] + }, + "qml": { + "description": "Coroutine support for QtQml module", + "dependencies": [ + { + "name": "qtdeclarative", + "default-features": false + } + ] + }, + "quick": { + "description": "Coroutine support for QtQuick module", + "dependencies": [ + { + "name": "qtdeclarative", + "default-features": false + } + ] + }, + "test": { + "description": "Support code for easier testing of coroutines with QtTest.", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "testlib" + ] + } + ] + }, + "websockets": { + "description": "Coroutine support for QtWebSockets module", + "dependencies": [ + { + "name": "qtwebsockets", + "default-features": false + } + ] + } + } +} |