diff options
| author | myd7349 <myd7349@gmail.com> | 2019-08-13 03:24:53 +0800 |
|---|---|---|
| committer | Victor Romero <romerosanchezv@gmail.com> | 2019-08-12 12:24:53 -0700 |
| commit | 8c42dc553ebe078a7ba0aa85fff520f9226dc8cf (patch) | |
| tree | 51aa41b4760b283ae67d20bcea792cfa315de73e | |
| parent | 25e948e2ba0ca1d1630040051dd9492375558c22 (diff) | |
| download | vcpkg-8c42dc553ebe078a7ba0aa85fff520f9226dc8cf.tar.gz vcpkg-8c42dc553ebe078a7ba0aa85fff520f9226dc8cf.zip | |
[tgc] Add new port (#7644)
| -rw-r--r-- | ports/tgc/CMakeLists.txt | 25 | ||||
| -rw-r--r-- | ports/tgc/CONTROL | 4 | ||||
| -rw-r--r-- | ports/tgc/portfile.cmake | 54 |
3 files changed, 83 insertions, 0 deletions
diff --git a/ports/tgc/CMakeLists.txt b/ports/tgc/CMakeLists.txt new file mode 100644 index 000000000..20f5f0a1a --- /dev/null +++ b/ports/tgc/CMakeLists.txt @@ -0,0 +1,25 @@ +cmake_minimum_required(VERSION 3.14)
+
+project(tgc LANGUAGES C)
+
+include(GNUInstallDirs)
+
+add_library(tgc tgc.c)
+
+target_include_directories(
+ tgc
+ PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+)
+
+set_target_properties(tgc PROPERTIES PUBLIC_HEADER tgc.h)
+
+install(TARGETS tgc EXPORT unofficial-tgc-config)
+
+install(
+ EXPORT unofficial-tgc-config
+ NAMESPACE unofficial::tgc::
+ DESTINATION share/unofficial-tgc
+ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
+)
diff --git a/ports/tgc/CONTROL b/ports/tgc/CONTROL new file mode 100644 index 000000000..85466c147 --- /dev/null +++ b/ports/tgc/CONTROL @@ -0,0 +1,4 @@ +Source: tgc
+Version: 2019-08-11
+Description: A tiny garbage collector for C
+Homepage: https://github.com/orangeduck/tgc
diff --git a/ports/tgc/portfile.cmake b/ports/tgc/portfile.cmake new file mode 100644 index 000000000..ebd9c66c3 --- /dev/null +++ b/ports/tgc/portfile.cmake @@ -0,0 +1,54 @@ +include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+set(SOURCE_VERSION 35207051557c79ea25942c021fb18856c72af8e3)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/orangeduck-tgc-${SOURCE_VERSION})
+
+file(MAKE_DIRECTORY ${SOURCE_PATH})
+
+# See ports/nlohmann-json/portfile.cmake
+function(download_src SUBPATH SHA512)
+ vcpkg_download_distfile(
+ FILE
+ URLS "https://raw.githubusercontent.com/orangeduck/tgc/master/${SUBPATH}"
+ FILENAME "orangeduck-tgc-${SOURCE_VERSION}/${SUBPATH}"
+ SHA512 ${SHA512}
+ )
+ get_filename_component(SUBPATH_DIR "${SOURCE_PATH}/${SUBPATH}" DIRECTORY)
+ file(COPY ${FILE} DESTINATION ${SUBPATH_DIR})
+endfunction()
+
+download_src(
+ tgc.h
+ 55944055fa83cfc1cbdf026f6ea65d42c1704800d26a7cb6d31a0afcfc61a2ca61d5e539edbf354c4572a885dbc6f38cbb6593cbb66d5dc78eb7d3b66d613dd8
+)
+download_src(
+ tgc.c
+ 942eefd9b02558f94315023734e9b3b74e326d5a705e9e8809cb4ddb0c6272d8ba9b9715f7d53d7a6151b8cff1377561d169a310c48d200698f9d26ba2c106c3
+)
+download_src(
+ LICENSE.md
+ 89c46e23f61d2912f47a10e807ee823e78b708804c5cfea2382e1d5a9955f0f1a67e421453b5868db2f71229aae8b83c271bb1cf89631b43e91e5d6c4fcbf1a7
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT})
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
+
+# CMake integration test
+vcpkg_test_cmake(PACKAGE_NAME unofficial-${PORT})
|
