aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libcopp
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/libcopp')
-rw-r--r--vcpkg/ports/libcopp/fix-x86-windows.patch16
-rw-r--r--vcpkg/ports/libcopp/portfile.cmake45
-rw-r--r--vcpkg/ports/libcopp/vcpkg.json20
3 files changed, 81 insertions, 0 deletions
diff --git a/vcpkg/ports/libcopp/fix-x86-windows.patch b/vcpkg/ports/libcopp/fix-x86-windows.patch
new file mode 100644
index 0000000..821ccb6
--- /dev/null
+++ b/vcpkg/ports/libcopp/fix-x86-windows.patch
@@ -0,0 +1,16 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 085cc82..7da39f2 100755
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -33,6 +33,11 @@ project(
+ HOMEPAGE_URL "https://libcopp.atframe.work"
+ LANGUAGES C CXX ASM)
+
++# libcopp requires x86 to be called i386
++if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86")
++ set(CMAKE_SYSTEM_PROCESSOR i386)
++endif()
++
+ # ######################################################################################################################
+ include("${PROJECT_SOURCE_DIR}/project/cmake/ProjectBuildOption.cmake")
+
diff --git a/vcpkg/ports/libcopp/portfile.cmake b/vcpkg/ports/libcopp/portfile.cmake
new file mode 100644
index 0000000..a9bf97c
--- /dev/null
+++ b/vcpkg/ports/libcopp/portfile.cmake
@@ -0,0 +1,45 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO owent/libcopp
+ REF "v${VERSION}"
+ SHA512 91cc3ff6c99b11992a9cc90ac614d5b4a69f50e1e0b108ce2b12ca13616e5daa490f9f734a519b6da4984ba095efc2b4bdfadc28ee6ca38a255e5a6ce50ca427
+ HEAD_REF v2
+ PATCHES fix-x86-windows.patch
+)
+
+# atframework/cmake-toolset needed as a submodule for configure cmake
+vcpkg_from_github(
+ OUT_SOURCE_PATH ATFRAMEWORK_CMAKE_TOOLSET
+ REPO atframework/cmake-toolset
+ REF 311fe9150d23f163d1b27e5244a779b184901ee3 # v1.14.9-12-g311fe91
+ SHA512 769f8c25b05f93ee31e5b73c5453488379ad6d643be2fe8de2ac953b45f1e1716e842ccbcbd3e8978bdd0ae5a2c9ed679402e0dbcc159b284ad158525d1aa23e
+ HEAD_REF main
+ )
+
+vcpkg_list(SET options)
+if(VCPKG_TARGET_IS_ANDROID)
+ vcpkg_list(APPEND options
+ -DCMAKE_CXX_EXTENSIONS=OFF
+ -DCOMPILER_OPTION_CURRENT_MAX_CXX_STANDARD=20
+ )
+endif()
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ DISABLE_PARALLEL_CONFIGURE
+ OPTIONS
+ ${options}
+ "-DATFRAMEWORK_CMAKE_TOOLSET_DIR=${ATFRAMEWORK_CMAKE_TOOLSET}"
+)
+
+vcpkg_cmake_install()
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/BOOST_LICENSE_1_0.txt" "${SOURCE_PATH}/LICENSE")
+
+vcpkg_copy_pdbs()
+
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libcopp)
+vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/libcopp/libcopp-config.cmake" "set(\${CMAKE_FIND_PACKAGE_NAME}_SOURCE_DIR \"${SOURCE_PATH}\")" "")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
diff --git a/vcpkg/ports/libcopp/vcpkg.json b/vcpkg/ports/libcopp/vcpkg.json
new file mode 100644
index 0000000..f03daff
--- /dev/null
+++ b/vcpkg/ports/libcopp/vcpkg.json
@@ -0,0 +1,20 @@
+{
+ "name": "libcopp",
+ "version": "2.3.1",
+ "maintainers": "owent <admin@owent.net>",
+ "description": "A cross-platfrom coroutine library for C++",
+ "homepage": "https://github.com/owent/libcopp",
+ "documentation": "https://libcopp.atframe.work/",
+ "license": "MIT",
+ "supports": "!(windows & arm)",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}