aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/scripts/test_ports/vcpkg-ci-dartsim
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/scripts/test_ports/vcpkg-ci-dartsim
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/scripts/test_ports/vcpkg-ci-dartsim')
-rw-r--r--vcpkg/scripts/test_ports/vcpkg-ci-dartsim/portfile.cmake10
-rw-r--r--vcpkg/scripts/test_ports/vcpkg-ci-dartsim/project/CMakeLists.txt35
-rw-r--r--vcpkg/scripts/test_ports/vcpkg-ci-dartsim/project/main.cpp6
-rw-r--r--vcpkg/scripts/test_ports/vcpkg-ci-dartsim/vcpkg.json54
4 files changed, 105 insertions, 0 deletions
diff --git a/vcpkg/scripts/test_ports/vcpkg-ci-dartsim/portfile.cmake b/vcpkg/scripts/test_ports/vcpkg-ci-dartsim/portfile.cmake
new file mode 100644
index 0000000..dd25706
--- /dev/null
+++ b/vcpkg/scripts/test_ports/vcpkg-ci-dartsim/portfile.cmake
@@ -0,0 +1,10 @@
+set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
+
+vcpkg_find_acquire_program(PKGCONFIG)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${CURRENT_PORT_DIR}/project"
+ OPTIONS
+ "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}"
+)
+vcpkg_cmake_build()
diff --git a/vcpkg/scripts/test_ports/vcpkg-ci-dartsim/project/CMakeLists.txt b/vcpkg/scripts/test_ports/vcpkg-ci-dartsim/project/CMakeLists.txt
new file mode 100644
index 0000000..253dd11
--- /dev/null
+++ b/vcpkg/scripts/test_ports/vcpkg-ci-dartsim/project/CMakeLists.txt
@@ -0,0 +1,35 @@
+cmake_minimum_required(VERSION 3.30)
+project(dartsim-test CXX)
+
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
+
+# https://github.com/dartsim/dart/issues/753#issuecomment-264694898
+# https://github.com/dartsim/dart/pull/956/files
+if(MSVC)
+ add_compile_options("/permissive-")
+endif()
+
+block(SCOPE_FOR VARIABLES)
+ find_package(DART CONFIG REQUIRED)
+ add_library(target::dart ALIAS dart)
+
+ add_executable(main-dart main.cpp)
+ target_link_libraries(main-dart PRIVATE target::dart)
+
+ # check link libs from all components
+ file(GLOB components RELATIVE "${DART_DIR}" "${DART_DIR}/dart_*Component.cmake")
+ list(TRANSFORM components REPLACE "^dart_(.*)Component.cmake\$" "\\1")
+ find_package(DART CONFIG COMPONENTS ${components})
+
+ add_executable(main-all main.cpp)
+ target_link_libraries(main-all PRIVATE ${DART_LIBRARIES})
+endblock()
+
+block(SCOPE_FOR VARIABLES)
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(dartsim_pc dart REQUIRED IMPORTED_TARGET)
+
+ add_executable(main-pkconfig main.cpp)
+ target_link_libraries(main-pkconfig PRIVATE PkgConfig::dartsim_pc)
+endblock()
diff --git a/vcpkg/scripts/test_ports/vcpkg-ci-dartsim/project/main.cpp b/vcpkg/scripts/test_ports/vcpkg-ci-dartsim/project/main.cpp
new file mode 100644
index 0000000..61bbe04
--- /dev/null
+++ b/vcpkg/scripts/test_ports/vcpkg-ci-dartsim/project/main.cpp
@@ -0,0 +1,6 @@
+#include <dart/dart.hpp>
+
+int main()
+{
+ dart::simulation::WorldPtr world(new dart::simulation::World);
+}
diff --git a/vcpkg/scripts/test_ports/vcpkg-ci-dartsim/vcpkg.json b/vcpkg/scripts/test_ports/vcpkg-ci-dartsim/vcpkg.json
new file mode 100644
index 0000000..8579597
--- /dev/null
+++ b/vcpkg/scripts/test_ports/vcpkg-ci-dartsim/vcpkg.json
@@ -0,0 +1,54 @@
+{
+ "name": "vcpkg-ci-dartsim",
+ "version-string": "ci",
+ "description": "Validates dartsim within CI",
+ "homepage": "https://github.com/microsoft/vcpkg",
+ "license": "MIT",
+ "dependencies": [
+ {
+ "name": "dartsim",
+ "default-features": false
+ },
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ }
+ ],
+ "default-features": [
+ "all"
+ ],
+ "features": {
+ "all": {
+ "description": "Test all features",
+ "dependencies": [
+ {
+ "name": "dartsim",
+ "default-features": false,
+ "features": [
+ "collision-bullet",
+ "collision-ode",
+ "spdlog",
+ "utils"
+ ]
+ },
+ {
+ "name": "dartsim",
+ "default-features": false,
+ "features": [
+ "utils-urdf"
+ ],
+ "platform": "!staticcrt"
+ },
+ {
+ "name": "dartsim",
+ "default-features": false,
+ "features": [
+ "gui",
+ "gui-osg"
+ ],
+ "platform": "!arm & !android"
+ }
+ ]
+ }
+ }
+}