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/sparsehash | |
Diffstat (limited to 'vcpkg/ports/sparsehash')
| -rw-r--r-- | vcpkg/ports/sparsehash/Config.cmake.in | 10 | ||||
| -rw-r--r-- | vcpkg/ports/sparsehash/portfile.cmake | 40 | ||||
| -rw-r--r-- | vcpkg/ports/sparsehash/usage | 4 | ||||
| -rw-r--r-- | vcpkg/ports/sparsehash/vcpkg.json | 7 |
4 files changed, 61 insertions, 0 deletions
diff --git a/vcpkg/ports/sparsehash/Config.cmake.in b/vcpkg/ports/sparsehash/Config.cmake.in new file mode 100644 index 0000000..07739dd --- /dev/null +++ b/vcpkg/ports/sparsehash/Config.cmake.in @@ -0,0 +1,10 @@ + +get_filename_component(_sparsehash_root "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_sparsehash_root "${_sparsehash_root}" PATH) +get_filename_component(_sparsehash_root "${_sparsehash_root}" PATH) + +add_library(sparsehash::sparsehash INTERFACE IMPORTED) +set_target_properties(sparsehash::sparsehash + PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_sparsehash_root}/include") + +unset(_sparsehash_root) diff --git a/vcpkg/ports/sparsehash/portfile.cmake b/vcpkg/ports/sparsehash/portfile.cmake new file mode 100644 index 0000000..876726c --- /dev/null +++ b/vcpkg/ports/sparsehash/portfile.cmake @@ -0,0 +1,40 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO sparsehash/sparsehash + REF sparsehash-2.0.4 + SHA512 40C007BC5814DD5F2BDACD5EC884BC5424F7126F182D4C7B34371F88B674456FC193B947FDD283DBD0C7EB044D8F06BAF8CAEC6C93E73B1B587282B9026EA877 + HEAD_REF master +) + +if(VCPKG_TARGET_IS_WINDOWS) + + file(COPY ${SOURCE_PATH}/src/google DESTINATION ${CURRENT_PACKAGES_DIR}/include) + file(COPY ${SOURCE_PATH}/src/sparsehash DESTINATION ${CURRENT_PACKAGES_DIR}/include) + file(COPY ${SOURCE_PATH}/src/windows/sparsehash/internal/sparseconfig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/sparsehash/internal) + +else() + + vcpkg_execute_required_process( + COMMAND ${SOURCE_PATH}/configure ${OPTIONS} --prefix=${CURRENT_PACKAGES_DIR} + WORKING_DIRECTORY ${SOURCE_PATH} + LOGNAME configure-${TARGET_TRIPLET} + ) + + vcpkg_execute_required_process( + COMMAND make -j ${VCPKG_CONCURRENCY} install + WORKING_DIRECTORY ${SOURCE_PATH} + LOGNAME install-${TARGET_TRIPLET} + ) + +endif() + +configure_file( + ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in + ${CURRENT_PACKAGES_DIR}/share/sparsehash/sparsehash-config.cmake + @ONLY +) + +configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/sparsehash/copyright COPYONLY) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/sparsehash) + +vcpkg_fixup_pkgconfig() diff --git a/vcpkg/ports/sparsehash/usage b/vcpkg/ports/sparsehash/usage new file mode 100644 index 0000000..5222b24 --- /dev/null +++ b/vcpkg/ports/sparsehash/usage @@ -0,0 +1,4 @@ +The package sparsehash provides CMake targets: + + find_package(sparsehash CONFIG REQUIRED) + target_link_libraries(main PRIVATE sparsehash::sparsehash) diff --git a/vcpkg/ports/sparsehash/vcpkg.json b/vcpkg/ports/sparsehash/vcpkg.json new file mode 100644 index 0000000..9882cef --- /dev/null +++ b/vcpkg/ports/sparsehash/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "sparsehash", + "version": "2.0.4", + "port-version": 2, + "description": "The sparsehash package consists of two hashtable implementations: sparse, which is designed to be very space efficient, and dense, which is designed to be very time efficient.", + "homepage": "https://github.com/sparsehash/sparsehash" +} |