From 411d1332ada32750ae9993654cf38b9e3dd2c72d Mon Sep 17 00:00:00 2001 From: OWenT Date: Tue, 18 Dec 2018 08:28:13 +0800 Subject: [PATCH] add libcopp (#4918) * add libcopp * [libcopp] Disable ninja due to asm issue. Tweak/install usage file. Prefer static linking over CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS. Use vcpkg_fixup_cmake_targets. --- ports/libcopp/CONTROL | 3 +++ ports/libcopp/portfile.cmake | 30 ++++++++++++++++++++++++++++++ ports/libcopp/usage | 5 +++++ 3 files changed, 38 insertions(+) create mode 100644 ports/libcopp/CONTROL create mode 100644 ports/libcopp/portfile.cmake create mode 100644 ports/libcopp/usage diff --git a/ports/libcopp/CONTROL b/ports/libcopp/CONTROL new file mode 100644 index 0000000000..35fca9b7e6 --- /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 0000000000..85b2de09cb --- /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 0000000000..4593a42adf --- /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})