aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/idyntree
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/idyntree')
-rw-r--r--vcpkg/ports/idyntree/portfile.cmake54
-rw-r--r--vcpkg/ports/idyntree/usage4
-rw-r--r--vcpkg/ports/idyntree/vcpkg.json39
3 files changed, 97 insertions, 0 deletions
diff --git a/vcpkg/ports/idyntree/portfile.cmake b/vcpkg/ports/idyntree/portfile.cmake
new file mode 100644
index 0000000..da86209
--- /dev/null
+++ b/vcpkg/ports/idyntree/portfile.cmake
@@ -0,0 +1,54 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO robotology/idyntree
+ REF "v${VERSION}"
+ SHA512 b0cd7937048f0ad6a6cf66369d558733f352cc33247b111b6fb74a1da4e907de2d572f0b1d1316176fac0b8bc9b3de2fb06f4df118766de90156aaf4c621d1d2
+ HEAD_REF master
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ "assimp" IDYNTREE_USES_ASSIMP
+ "irrlicht" IDYNTREE_USES_IRRLICHT
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ ${FEATURE_OPTIONS}
+ -DIDYNTREE_USES_IPOPT:BOOL=OFF
+ -DIDYNTREE_USES_OSQPEIGEN:BOOL=OFF
+ -DIDYNTREE_USES_MATLAB:BOOL=OFF
+ -DIDYNTREE_USES_PYTHON:BOOL=OFF
+ -DIDYNTREE_USES_OCTAVE:BOOL=OFF
+ -DIDYNTREE_USES_LUA:BOOL=OFF
+ -DIDYNTREE_USES_YARP:BOOL=OFF
+ -DIDYNTREE_USES_ICUB_MAIN:BOOL=OFF
+ -DIDYNTREE_USES_ALGLIB:BOOL=OFF
+ -DIDYNTREE_USES_WORHP:BOOL=OFF
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(
+ PACKAGE_NAME iDynTree
+ CONFIG_PATH lib/cmake/iDynTree)
+vcpkg_copy_pdbs()
+
+set(TOOL_NAMES_LIST idyntree-model-info)
+if ("assimp" IN_LIST FEATURES)
+ list(APPEND TOOL_NAMES_LIST idyntree-model-simplify-shapes)
+endif()
+if ("irrlicht" IN_LIST FEATURES)
+ list(APPEND TOOL_NAMES_LIST idyntree-model-view)
+endif()
+vcpkg_copy_tools(
+ TOOL_NAMES ${TOOL_NAMES_LIST}
+ AUTO_CLEAN
+)
+
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+)
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
+file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
diff --git a/vcpkg/ports/idyntree/usage b/vcpkg/ports/idyntree/usage
new file mode 100644
index 0000000..402e64f
--- /dev/null
+++ b/vcpkg/ports/idyntree/usage
@@ -0,0 +1,4 @@
+The package idyntree provides CMake targets:
+
+ find_package(iDynTree CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE iDynTree::idyntree-core iDynTree::idyntree-model iDynTree::idyntree-modelio iDynTree::idyntree-modelio iDynTree::idyntree-high-level iDynTree::idyntree-estimation)
diff --git a/vcpkg/ports/idyntree/vcpkg.json b/vcpkg/ports/idyntree/vcpkg.json
new file mode 100644
index 0000000..bd5c2d6
--- /dev/null
+++ b/vcpkg/ports/idyntree/vcpkg.json
@@ -0,0 +1,39 @@
+{
+ "name": "idyntree",
+ "version": "14.0.0",
+ "description": "Multibody Dynamics Library designed for Free Floating Robots.",
+ "homepage": "https://github.com/robotology/idyntree",
+ "license": "BSD-3-Clause",
+ "supports": "!xbox",
+ "dependencies": [
+ "eigen3",
+ "libxml2",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ],
+ "default-features": [
+ "assimp"
+ ],
+ "features": {
+ "assimp": {
+ "description": "Add support for loading meshes",
+ "dependencies": [
+ "assimp"
+ ]
+ },
+ "irrlicht": {
+ "description": "Add support for irrlicht-based visualizer",
+ "supports": "!windows & !osx",
+ "dependencies": [
+ "glfw3",
+ "irrlicht"
+ ]
+ }
+ }
+}