diff --git a/ports/ucoro/cmake-install.patch b/ports/ucoro/cmake-install.patch new file mode 100644 index 0000000000..64804e9487 --- /dev/null +++ b/ports/ucoro/cmake-install.patch @@ -0,0 +1,39 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 663044e..9121cb3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -15,8 +15,31 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU") + add_compile_options(-foptimize-sibling-calls) + endif() + ++include(GNUInstallDirs) ++ + add_library(ucoro INTERFACE) +-target_include_directories(ucoro INTERFACE include) ++target_include_directories(ucoro INTERFACE $ ++ $) ++ ++option(UCORO_BUILD_TESTING "Build the tests" ON) ++if (UCORO_BUILD_TESTING) ++ enable_testing() ++ add_subdirectory(tests) ++endif() + +-enable_testing() +-add_subdirectory(tests) ++install( ++ TARGETS ucoro ++ EXPORT ucoroTargets ++ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ++) ++install( ++ DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ucoro ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ++) ++# generate config.cmake ++install( ++ EXPORT ucoroTargets ++ FILE ucoro-config.cmake ++ NAMESPACE ucoro:: ++ DESTINATION "share/ucoro" ++) diff --git a/ports/ucoro/portfile.cmake b/ports/ucoro/portfile.cmake new file mode 100644 index 0000000000..468ea7c902 --- /dev/null +++ b/ports/ucoro/portfile.cmake @@ -0,0 +1,23 @@ +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO avplayer/ucoro + REF "v${VERSION}" + SHA512 c3436b436ef1ebb3d47a65db9603842293bdb6451bc6fb738a63d61a63b52901e223f46625d956303566dc52dfb38ffb2c6ce20016c18b444f9cb3e2e701e613 + HEAD_REF main + PATCHES + cmake-install.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DUCORO_BUILD_TESTING=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() +vcpkg_fixup_pkgconfig() + +file(INSTALL "${SOURCE_PATH}/LICENSE_1_0.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/ucoro/vcpkg.json b/ports/ucoro/vcpkg.json new file mode 100644 index 0000000000..6f1428d855 --- /dev/null +++ b/ports/ucoro/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "ucoro", + "version": "1.0", + "description": "It is a minimized C++20 coroutine library.", + "homepage": "https://github.com/avplayer/ucoro", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index 3a08c281e2..3da5c1c3b7 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -9208,6 +9208,10 @@ "baseline": "0.0.8", "port-version": 0 }, + "ucoro": { + "baseline": "1.0", + "port-version": 0 + }, "udt": { "baseline": "4.11", "port-version": 0 diff --git a/versions/u-/ucoro.json b/versions/u-/ucoro.json new file mode 100644 index 0000000000..e30e979379 --- /dev/null +++ b/versions/u-/ucoro.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "29380e4860b67d864c58e5c7b26c763dd90b634b", + "version": "1.0", + "port-version": 0 + } + ] +}