Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[cdt] Add new port #29324

Merged
merged 4 commits into from
Mar 28, 2023
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions ports/cdt/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO artem-ogre/CDT
REF "${VERSION}"
SHA512 811d1fede4960808954bc17f37c8639f52800c98562e9283517c666735ddf3b2f2f8a57992669899be13c40b0fc4439d3cd1a101cb596d2335ef4fc307408c63
HEAD_REF master
)

vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
"64-bit-index-type" CDT_USE_64_BIT_INDEX_TYPE
"as-compiled-library" CDT_USE_AS_COMPILED_LIBRARY
"boost" CDT_USE_BOOST
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like an alternative but it doesn't appear to leak into any ABI sensitive bits, so it's probably OK. However, the value does need to be "baked" into the resulting headers. See https://github.com/microsoft/vcpkg/blob/master/docs/maintainers/maintainer-guide.md#a-feature-may-replace-polyfills-with-aliases-provided-that-replacement-is-baked-into-the-installed-tree

I think you can do this with something like:

if(CDT_USE_BOOST)
set(CDT_USE_BOOST_STR "#if 1")
else()
set(CDT_USE_BOOST_STR "#if 0")
endif()

foreach(FILE CDTUtils.h Triangulation.hpp)
  vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/${FILE}" "#ifdef CDT_USE_BOOST" "${CDT_USE_BOOST_STR}")
endforeach()

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

)

if (NOT CDT_USE_AS_COMPILED_LIBRARY)
set(VCPKG_BUILD_TYPE "release") # header-only
endif()

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}/CDT"
OPTIONS
${FEATURE_OPTIONS}
)

vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH cmake)

if(CDT_USE_BOOST)
set(CDT_USE_BOOST_STR "#if 1")
else()
set(CDT_USE_BOOST_STR "#if 0")
endif()
foreach(FILE CDTUtils.h Triangulation.hpp)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/${FILE}" "#ifdef CDT_USE_BOOST" "${CDT_USE_BOOST_STR}")
endforeach()

if (CDT_USE_AS_COMPILED_LIBRARY)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
endif()

vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
31 changes: 31 additions & 0 deletions ports/cdt/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"name": "cdt",
"version": "1.2.0",
"description": "Constrained Delaunay Triangulation",
"homepage": "https://github.com/artem-ogre/CDT.git",
"license": "MPL-2.0",
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
],
"features": {
"64-bit-index-type": {
"description": "64bits are used to store vertex/triangle index types"
},
"as-compiled-library": {
"description": "Templates for float and double will be instantiated and compiled into a library"
},
"boost": {
"description": "Boost is used as a fall-back for features missing in C++98 and performance tweaks",
"dependencies": [
"boost-container"
]
}
}
}
4 changes: 4 additions & 0 deletions versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -1356,6 +1356,10 @@
"baseline": "2.3",
"port-version": 3
},
"cdt": {
"baseline": "1.2.0",
"port-version": 0
},
"celero": {
"baseline": "2.8.5",
"port-version": 0
Expand Down
9 changes: 9 additions & 0 deletions versions/c-/cdt.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "002b5841cd0600e2104188e9c6d2f27b74caab1a",
"version": "1.2.0",
"port-version": 0
}
]
}