diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/ztd-idk | |
Diffstat (limited to 'vcpkg/ports/ztd-idk')
| -rw-r--r-- | vcpkg/ports/ztd-idk/fix-cmake-install.patch | 187 | ||||
| -rw-r--r-- | vcpkg/ports/ztd-idk/portfile.cmake | 22 | ||||
| -rw-r--r-- | vcpkg/ports/ztd-idk/vcpkg.json | 17 |
3 files changed, 226 insertions, 0 deletions
diff --git a/vcpkg/ports/ztd-idk/fix-cmake-install.patch b/vcpkg/ports/ztd-idk/fix-cmake-install.patch new file mode 100644 index 0000000..e657f49 --- /dev/null +++ b/vcpkg/ports/ztd-idk/fix-cmake-install.patch @@ -0,0 +1,187 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 746afa7..803b82e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -34,11 +34,6 @@ cmake_policy(VERSION 3.21) + # # Project kickstart + # Includes a bunch of basic flags and utilities shared across projects + # See more at the github repository link below +-include(FetchContent) +-FetchContent_Declare(ztd.cmake +- GIT_REPOSITORY https://github.com/soasis/cmake.git +- GIT_TAG main) +-FetchContent_MakeAvailable(ztd.cmake) + set(CMAKE_PROJECT_INCLUDE ${ZTD_CMAKE_PROJECT_PRELUDE}) + + # # Project declaration +@@ -50,6 +45,8 @@ project(ztd.idk + HOMEPAGE_URL "https://ztdidk.rtfd.io/" + LANGUAGES CXX C) + ++include(GNUInstallDirs) ++include(CMakePackageConfigHelpers) + if(ZTD_IDK_READTHEDOCS) + # ReadTheDocs seems unable to handle the include at the project level: something must be going wrong? + include(CheckCXXCompilerFlag) +@@ -89,9 +86,6 @@ if(ZTD_IDK_IS_TOP_LEVEL_PROJECT) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin") + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin") + +- if(NOT DEFINED CMAKE_CXX_STANDARD) +- set(CMAKE_CXX_STANDARD 17) +- endif() + + if(NOT DEFINED CMAKE_C_STANDARD) + set(CMAKE_C_STANDARD 11) +@@ -133,6 +127,7 @@ endif() + # ztd.version + add_library(ztd.version INTERFACE) + add_library(ztd::version ALIAS ztd.version) ++target_compile_features(ztd.version INTERFACE cxx_std_20) + target_include_directories(ztd.version + INTERFACE + $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include> +@@ -143,20 +138,32 @@ install(DIRECTORY include/ + ${CMAKE_INSTALL_INCLUDEDIR} + ) + ++install(TARGETS ztd.version ++ EXPORT ztd.version-targets ++ DESTINATION lib) + configure_package_config_file( + cmake/ztd.version-config.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.version/ztd.version-config.cmake" +- INSTALL_DESTINATION lib/cmake/ztd.version ++ INSTALL_DESTINATION share/ztd.version + NO_CHECK_REQUIRED_COMPONENTS_MACRO + ) + write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.version/ztd.version-config-version.cmake" + COMPATIBILITY SameMajorVersion + ) ++install(FILES ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.version/ztd.version-config.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.version/ztd.version-config-version.cmake ++ DESTINATION share/ztd.version ++ ) + export(TARGETS ztd.version + FILE + "${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.version/ztd.version-targets.cmake" + ) ++install(EXPORT ztd.version-targets ++ FILE ztd.version-targets.cmake ++ DESTINATION share/ztd.version ++) + + # ztd.tag_invoke + file(GLOB_RECURSE ztd.tag_invoke.includes +@@ -166,6 +173,7 @@ file(GLOB_RECURSE ztd.tag_invoke.includes + ) + + add_library(ztd.tag_invoke INTERFACE) ++target_compile_features(ztd.tag_invoke INTERFACE cxx_std_20) + add_library(ztd::tag_invoke ALIAS ztd.tag_invoke) + target_include_directories(ztd.tag_invoke + INTERFACE +@@ -179,10 +187,14 @@ install(DIRECTORY include/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) + ++install(TARGETS ztd.tag_invoke ++ EXPORT ztd.tag_invoke-targets ++ DESTINATION lib) ++ + configure_package_config_file( + cmake/ztd.tag_invoke-config.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.tag_invoke/ztd.tag_invoke-config.cmake" +- INSTALL_DESTINATION lib/cmake/ztd.tag_invoke ++ INSTALL_DESTINATION share/ztd.tag_invoke + NO_CHECK_REQUIRED_COMPONENTS_MACRO + ) + write_basic_package_version_file( +@@ -193,6 +205,16 @@ export(TARGETS ztd.tag_invoke + FILE + "${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.tag_invoke/ztd.tag_invoke-targets.cmake" + ) ++install(FILES ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.tag_invoke/ztd.tag_invoke-config.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.tag_invoke/ztd.tag_invoke-config-version.cmake ++ DESTINATION share/ztd.tag_invoke ++) ++install(EXPORT ztd.tag_invoke-targets ++ FILE ztd.tag_invoke-targets.cmake ++ DESTINATION share/ztd.tag_invoke ++) ++ + + # ztd.idk + file(GLOB_RECURSE ztd.idk.includes +@@ -241,7 +263,9 @@ if(ZTD_IDK_IS_TOP_LEVEL_PROJECT) + ) + endif() + +-install(TARGETS ztd.idk) ++install(TARGETS ztd.idk ++ EXPORT ztd.idk-targets ++ DESTINATION lib) + install(DIRECTORY include/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) +@@ -249,7 +273,7 @@ install(DIRECTORY include/ + configure_package_config_file( + cmake/ztd.idk-config.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.idk/ztd.idk-config.cmake" +- INSTALL_DESTINATION lib/cmake/ztd.idk ++ INSTALL_DESTINATION share/ztd.idk + NO_CHECK_REQUIRED_COMPONENTS_MACRO + ) + write_basic_package_version_file( +@@ -261,11 +285,17 @@ export(TARGETS ztd.idk + "${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.idk/ztd.idk-targets.cmake" + ) + +-install( +- DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/cmake" +- TYPE DATA ++install(FILES ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.idk/ztd.idk-config.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.idk/ztd.idk-config-version.cmake ++ DESTINATION share/ztd.idk/ ++ ) ++install(EXPORT ztd.idk-targets ++ FILE ztd.idk-targets.cmake ++ DESTINATION share/ztd.idk/ + ) + ++ + if(ZTD_IDK_GENERATE_SINGLE) + add_subdirectory(single) + endif() +diff --git a/cmake/ztd.idk-config.cmake.in b/cmake/ztd.idk-config.cmake.in +index 4ceb0ec..8377221 100644 +--- a/cmake/ztd.idk-config.cmake.in ++++ b/cmake/ztd.idk-config.cmake.in +@@ -1,7 +1,8 @@ + @PACKAGE_INIT@ + +-find_package(ztd.version CONFIG REQUIRED) +-find_package(ztd.tag_invoke CONFIG REQUIRED) ++include(CMakeFindDependencyMacro) ++find_dependency(ztd.version CONFIG ) ++find_dependency(ztd.tag_invoke CONFIG) + include(${CMAKE_CURRENT_LIST_DIR}/ztd.idk-targets.cmake) + + if (TARGET ztd.idk) +diff --git a/cmake/ztd.tag_invoke-config.cmake.in b/cmake/ztd.tag_invoke-config.cmake.in +index 504c60b..ee2f5cd 100644 +--- a/cmake/ztd.tag_invoke-config.cmake.in ++++ b/cmake/ztd.tag_invoke-config.cmake.in +@@ -1,6 +1,6 @@ + @PACKAGE_INIT@ +- +-find_package(ztd.version CONFIG REQUIRED) ++include(CMakeFindDependencyMacro) ++find_dependency(ztd.version CONFIG ) + include(${CMAKE_CURRENT_LIST_DIR}/ztd.tag_invoke-targets.cmake) + + if (TARGET ztd.tag_invoke) diff --git a/vcpkg/ports/ztd-idk/portfile.cmake b/vcpkg/ports/ztd-idk/portfile.cmake new file mode 100644 index 0000000..4cfbb57 --- /dev/null +++ b/vcpkg/ports/ztd-idk/portfile.cmake @@ -0,0 +1,22 @@ +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO soasis/idk + REF ad64a1759a506bb0761c7b20c40da8c91865f50e + SHA512 b6f1afa78b23331ba19116101667bb9dd070deafb9d685f99f165c75ec30d7bfe90443034b6f1882c3186c490f3fc4ed648cdc3fff6fa8450375676d8e9c4727 + HEAD_REF main + PATCHES + fix-cmake-install.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} +) +vcpkg_cmake_install() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/vcpkg/ports/ztd-idk/vcpkg.json b/vcpkg/ports/ztd-idk/vcpkg.json new file mode 100644 index 0000000..0a28ce6 --- /dev/null +++ b/vcpkg/ports/ztd-idk/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "ztd-idk", + "version-date": "2023-11-03", + "description": "The IDK (Industrial Development Kit) library!", + "homepage": "https://github.com/soasis/idk", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |