diff --git a/ports/sparsepp/CMakeLists.txt b/ports/sparsepp/CMakeLists.txt new file mode 100644 index 00000000000..36d304ce5b8 --- /dev/null +++ b/ports/sparsepp/CMakeLists.txt @@ -0,0 +1,18 @@ +cmake_minimum_required (VERSION 3.9) +project (sparsepp) + +set(HEADERS + sparsepp/spp.h + sparsepp/spp_config.h + sparsepp/spp_dlalloc.h + sparsepp/spp_memory.h + sparsepp/spp_smartptr.h + sparsepp/spp_stdint.h + sparsepp/spp_timer.h + sparsepp/spp_traits.h + sparsepp/spp_utils.h + ) + +if(NOT DISABLE_INSTALL_HEADERS) + install(FILES ${HEADERS} DESTINATION include/sparsepp) +endif() diff --git a/ports/sparsepp/CONTROL b/ports/sparsepp/CONTROL new file mode 100644 index 00000000000..6606595e824 --- /dev/null +++ b/ports/sparsepp/CONTROL @@ -0,0 +1,3 @@ +Source: sparsepp +Version: 1.22 +Description: A fast, memory efficient hash map for C++ diff --git a/ports/sparsepp/portfile.cmake b/ports/sparsepp/portfile.cmake new file mode 100644 index 00000000000..01822ea1609 --- /dev/null +++ b/ports/sparsepp/portfile.cmake @@ -0,0 +1,32 @@ + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO greg7mdp/sparsepp + REF 1.22 + SHA512 b660cd7de48fcab50d4a0df4e4813226b0b0a8a3791aba4e4cc6a456af7bba0be6694bc44781a7d00b5582b32b1d85b9afa83095b7e5c0a26d1b0344ddc94b0f + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON +) + +# Note: we could add: OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON +# but it's an header only package, so there's no INSTALL target. So +# we remove the duplicate headers. + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) + +vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/sparsepp RENAME copyright)