diff --git a/ports/engitsdatalib/portfile.cmake b/ports/engitsdatalib/portfile.cmake new file mode 100644 index 0000000000..1855491461 --- /dev/null +++ b/ports/engitsdatalib/portfile.cmake @@ -0,0 +1,32 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO enGits/enGitsDataLib + REF v1.0.0 + SHA512 7dc9c240b45bb3a768ea910c1a29c5aa885debd636b2aff49211ee1f4cef6ce2bc4803775e8afe5fc16c4ae8276cbcd3a0a56325da1930a395db57b1fa37dccf + HEAD_REF master + PATCHES + use-system-doctest.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" EDL_BUILD_STATIC) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DCREATE_STATIC_LIBRARY=${EDL_BUILD_STATIC}" + -DBUILD_TESTING=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + PACKAGE_NAME enGitsDataLib + CONFIG_PATH lib/cmake/enGitsDataLib +) +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/engitsdatalib/use-system-doctest.patch b/ports/engitsdatalib/use-system-doctest.patch new file mode 100644 index 0000000000..704b5ae7b1 --- /dev/null +++ b/ports/engitsdatalib/use-system-doctest.patch @@ -0,0 +1,107 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e825e7b..86244d2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -17,6 +17,8 @@ include(CMakePackageConfigHelpers) + include(CTest) + include(TestBigEndian) + ++find_package(doctest CONFIG REQUIRED) ++ + # export build setup for development environment + set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + +@@ -66,7 +68,6 @@ edl/amr.h + edl/bmap.h + edl/containertricks.h + edl/csvreader.h +-edl/doctest.h + edl/edlerror.h + edl/edl.h + edl/fastremovelist.h +@@ -137,6 +138,7 @@ else(CREATE_STATIC_LIBRARY) + endif(CREATE_STATIC_LIBRARY) + + target_compile_features(engitsdatalib PUBLIC cxx_std_17) ++target_link_libraries(engitsdatalib PUBLIC doctest::doctest) + + target_compile_definitions(engitsdatalib + PUBLIC +diff --git a/cmake/enGitsDataLibConfig.cmake.in b/cmake/enGitsDataLibConfig.cmake.in +index dbb9be4..ee92d55 100644 +--- a/cmake/enGitsDataLibConfig.cmake.in ++++ b/cmake/enGitsDataLibConfig.cmake.in +@@ -1,5 +1,8 @@ + @PACKAGE_INIT@ + ++include(CMakeFindDependencyMacro) ++find_dependency(doctest CONFIG) ++ + include("${CMAKE_CURRENT_LIST_DIR}/enGitsDataLibTargets.cmake") + + if(TARGET enGitsDataLib::engitsdatalib) +diff --git a/edl/edl.cpp b/edl/edl.cpp +index d76d74c..22d530e 100644 +--- a/edl/edl.cpp ++++ b/edl/edl.cpp +@@ -10,7 +10,7 @@ + + #include "edl/edl.h" + #define DOCTEST_CONFIG_IMPLEMENT +-#include "edl/doctest.h" ++#include + + namespace EDL_NAMESPACE + { +diff --git a/edl/edl.h b/edl/edl.h +index 0dd2389..6618128 100644 +--- a/edl/edl.h ++++ b/edl/edl.h +@@ -32,7 +32,7 @@ template class StaticVector; + #include + #include + +-#include "edl/doctest.h" ++#include + + #if defined(_WIN32) && defined(_MSC_VER) + #include "engitsdatalib_export.h" +diff --git a/edl/tools.h b/edl/tools.h +index 7aa4f3e..8c6881e 100644 +--- a/edl/tools.h ++++ b/edl/tools.h +@@ -18,7 +18,7 @@ + #include + #include + +-#include "doctest.h" ++#include + + namespace EDL_NAMESPACE + { +diff --git a/tests/doctest_test.cpp b/tests/doctest_test.cpp +index 9b68586..769609d 100644 +--- a/tests/doctest_test.cpp ++++ b/tests/doctest_test.cpp +@@ -8,7 +8,7 @@ + // + + + // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +-#include "edl/doctest.h" ++#include + + #define EDL_DOCTEST + +diff --git a/tests/geometrytools_test.cpp b/tests/geometrytools_test.cpp +index 6ad116c..ec37db0 100644 +--- a/tests/geometrytools_test.cpp ++++ b/tests/geometrytools_test.cpp +@@ -9,7 +9,7 @@ + // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN +-#include "edl/doctest.h" ++#include + + #include "edl/geometrytools.h" + diff --git a/ports/engitsdatalib/vcpkg.json b/ports/engitsdatalib/vcpkg.json new file mode 100644 index 0000000000..4a489d4ef7 --- /dev/null +++ b/ports/engitsdatalib/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "engitsdatalib", + "version": "1.0.0", + "description": "C++ data structures, geometry, interpolation, and numerical utilities from enGits", + "homepage": "https://github.com/enGits/enGitsDataLib", + "license": "MIT", + "dependencies": [ + "doctest", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index 63720ddc47..9af6c0dad6 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2860,6 +2860,10 @@ "baseline": "1.3.18", "port-version": 0 }, + "engitsdatalib": { + "baseline": "1.0.0", + "port-version": 0 + }, "enkits": { "baseline": "1.12", "port-version": 0 diff --git a/versions/e-/engitsdatalib.json b/versions/e-/engitsdatalib.json new file mode 100644 index 0000000000..b4cfa0e6e4 --- /dev/null +++ b/versions/e-/engitsdatalib.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "0e3d9a583acbc20568ee93b43d28161e470f3755", + "version": "1.0.0", + "port-version": 0 + } + ] +}