From 21e5f25dd1b7c9d5263e240f8f256a25738d0091 Mon Sep 17 00:00:00 2001 From: Tobias Juelg Date: Wed, 4 Feb 2026 11:09:09 +0100 Subject: [PATCH 1/2] feat(cmake): egl and eigen headers in cmake --- CMakeLists.txt | 17 +++++++++++++++-- include/rcs/Kinematics.h | 4 ++-- include/rcs/Pose.h | 4 ++-- include/rcs/utils.h | 2 +- src/sim/camera.cpp | 2 +- src/sim/camera.h | 2 +- src/sim/sim.cpp | 1 - 7 files changed, 22 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5b5c0ef2..83770a0c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,7 +33,6 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON) include(FetchContent) -find_package(Eigen3 REQUIRED) find_package(Python3 COMPONENTS Interpreter Development REQUIRED) find_package(MuJoCo REQUIRED) find_package(pinocchio REQUIRED) @@ -45,8 +44,22 @@ FetchContent_Declare(pybind11 GIT_PROGRESS TRUE EXCLUDE_FROM_ALL ) +FetchContent_Declare(Eigen3 + GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git + GIT_TAG 3.4.1 + GIT_PROGRESS TRUE + EXCLUDE_FROM_ALL +) +FetchContent_Declare( + egl_headers + GIT_REPOSITORY https://github.com/KhronosGroup/EGL-Registry.git + GIT_TAG main + GIT_SHALLOW TRUE +) -FetchContent_MakeAvailable(pybind11) +FetchContent_MakeAvailable(pybind11 Eigen3 egl_headers) include(compile_scenes) +# egl headers +include_directories(${egl_headers_SOURCE_DIR}/api) add_subdirectory(src) diff --git a/include/rcs/Kinematics.h b/include/rcs/Kinematics.h index 57d7973a..ce6b73cb 100644 --- a/include/rcs/Kinematics.h +++ b/include/rcs/Kinematics.h @@ -1,8 +1,8 @@ #ifndef RCS_IK_H #define RCS_IK_H -#include -#include +#include +#include #include #include #include diff --git a/include/rcs/Pose.h b/include/rcs/Pose.h index e2697fb3..1f0a0e36 100644 --- a/include/rcs/Pose.h +++ b/include/rcs/Pose.h @@ -1,8 +1,8 @@ #ifndef RCS_POSE_H #define RCS_POSE_H -#include -#include +#include +#include #include #include "utils.h" diff --git a/include/rcs/utils.h b/include/rcs/utils.h index 472c54de..5ebc8cce 100644 --- a/include/rcs/utils.h +++ b/include/rcs/utils.h @@ -1,7 +1,7 @@ #ifndef RCS_UTIL_H #define RCS_UTIL_H -#include +#include #include namespace rcs { diff --git a/src/sim/camera.cpp b/src/sim/camera.cpp index a70f8525..d9d8eef2 100644 --- a/src/sim/camera.cpp +++ b/src/sim/camera.cpp @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/sim/camera.h b/src/sim/camera.h index 095991e1..8b3daa25 100644 --- a/src/sim/camera.h +++ b/src/sim/camera.h @@ -4,7 +4,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/sim/sim.cpp b/src/sim/sim.cpp index 8059921e..032c3f41 100644 --- a/src/sim/sim.cpp +++ b/src/sim/sim.cpp @@ -1,6 +1,5 @@ #include "sim/sim.h" -#include #include #include From 4b1007d09946927530490fba74dce1a61080a54a Mon Sep 17 00:00:00 2001 From: Tobias Juelg Date: Wed, 4 Feb 2026 11:13:55 +0100 Subject: [PATCH 2/2] build: moved build requirements into pyproject --- README.md | 2 +- pyproject.toml | 11 ++++++++++- requirements.txt | 6 ------ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index e5bf2b2b..909d83a7 100644 --- a/README.md +++ b/README.md @@ -110,11 +110,11 @@ We build and test RCS on the latest Debian and on the latest Ubuntu LTS. ```shell conda create -n rcs python=3.11 conda activate rcs - pip install -r requirements.txt ``` 3. **Install RCS**: ```shell + pip install -r requirements.txt pip install -ve . --no-build-isolation ``` diff --git a/pyproject.toml b/pyproject.toml index 4474fadf..5ccd3c38 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,14 @@ [build-system] -requires = [] +requires = [ + "build", + "wheel", + "scikit-build-core>=0.3.3", + "pybind11", + "cmake", + "ninja", + "mujoco==3.2.6", + "pin==3.7.0", +] build-backend = "scikit_build_core.build" [project] diff --git a/requirements.txt b/requirements.txt index 7474dbd7..24238735 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,2 @@ -build -wheel -scikit-build-core>=0.3.3 -pybind11 -cmake -ninja mujoco==3.2.6 pin==3.7.0 \ No newline at end of file