aboutsummaryrefslogtreecommitdiff
path: root/ports/libcopp
diff options
context:
space:
mode:
Diffstat (limited to 'ports/libcopp')
-rw-r--r--ports/libcopp/CONTROL3
-rw-r--r--ports/libcopp/portfile.cmake30
-rw-r--r--ports/libcopp/usage5
3 files changed, 38 insertions, 0 deletions
diff --git a/ports/libcopp/CONTROL b/ports/libcopp/CONTROL
new file mode 100644
index 000000000..35fca9b7e
--- /dev/null
+++ b/ports/libcopp/CONTROL
@@ -0,0 +1,3 @@
+Source: libcopp
+Version: 1.1.0-1
+Description: A cross-platfrom coroutine library for C++
diff --git a/ports/libcopp/portfile.cmake b/ports/libcopp/portfile.cmake
new file mode 100644
index 000000000..85b2de09c
--- /dev/null
+++ b/ports/libcopp/portfile.cmake
@@ -0,0 +1,30 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO owt5008137/libcopp
+ REF 1.1.0
+ SHA512 27b444d158281786154830c6e216e701ba0301af1d7a08873b33e27ce3d2db6ddb4753239878633f4c2aed9f759b46f961408a2eb7b50b5d445c3531c1fa9546
+ HEAD_REF v2
+)
+
+# Use libcopp's own build process, skipping examples and tests
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ # PREFER_NINJA # Disabled because Ninja does not invoke masm correctly for this project
+)
+vcpkg_install_cmake()
+
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/libcopp)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/libcopp)
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libcopp)
+file(COPY ${SOURCE_PATH}/BOOST_LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/libcopp)
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libcopp/copyright)
+
+vcpkg_copy_pdbs()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
diff --git a/ports/libcopp/usage b/ports/libcopp/usage
new file mode 100644
index 000000000..4593a42ad
--- /dev/null
+++ b/ports/libcopp/usage
@@ -0,0 +1,5 @@
+The package libcopp provides CMake integration:
+
+ find_package(Libcopp CONFIG REQUIRED)
+ target_include_directories(main PRIVATE ${Libcopp_INCLUDE_DIRS})
+ target_link_libraries(main PRIVATE ${Libcotask_LIBRARIES} ${Libcopp_LIBRARIES})