Skip to content

Refactor CMake with JRL CMake Modules v2#28

Merged
ManifoldFR merged 51 commits intoSimple-Robotics:mainfrom
ahoarau:jrl-next
Dec 20, 2025
Merged

Refactor CMake with JRL CMake Modules v2#28
ManifoldFR merged 51 commits intoSimple-Robotics:mainfrom
ahoarau:jrl-next

Conversation

@ahoarau
Copy link
Copy Markdown
Collaborator

@ahoarau ahoarau commented Dec 11, 2025

This PR is a full rewrite of the CMake files with the JRL CMake Modules v2.

  • Full rewrite of the CMake Files in modern CMake
  • Remove submodules: archives can now be used
  • c++17 minimum required
  • Migrate python tests to pytest
  • Eigen 5 build fixes

@ahoarau ahoarau marked this pull request as draft December 11, 2025 16:38
@ManifoldFR ManifoldFR self-assigned this Dec 11, 2025
@ManifoldFR ManifoldFR self-requested a review December 11, 2025 21:54
@ahoarau ahoarau force-pushed the jrl-next branch 2 times, most recently from 551117d to 1c71142 Compare December 12, 2025 12:44
@ManifoldFR ManifoldFR marked this pull request as ready for review December 12, 2025 23:04
Comment thread pixi.toml Outdated
Comment thread .gersemirc Outdated
Comment thread CMakeLists.txt
@ManifoldFR
Copy link
Copy Markdown
Member

We need to update the changelog. I suggest adding this in the ### Changed subsection:

- Switch to JRL CMake modules v2 ([#28](https://github.com/Simple-Robotics/nanoeigenpy/pull/28))

Comment thread CMakeLists.txt Outdated
Comment thread CMakeLists.txt Outdated
@ahoarau
Copy link
Copy Markdown
Collaborator Author

ahoarau commented Dec 18, 2025

@ManifoldFR The find_nanobind in jrl V2 does like the official documentation.

Here's the output with find_nanobind(<any version>).

image

@ManifoldFR
Copy link
Copy Markdown
Member

No it wasn't supposed to work. I added it to illustrate the case.

Oooh now I understand, I forgot how recent nanobind 2.x is (and that Ubuntu 24.04 only ships a relatively very old one). Good catch!

we mimic the upstream behavior, but using fetchcontent instead of submodules
if we apt install nanobind-dev on ubuntu 24, we get nanobind 1.9.1, which does not ship version from the config file
@ManifoldFR
Copy link
Copy Markdown
Member

We've got a problem on ROS Humble during stubgen because typing_extensions is missing.

@ahoarau
Copy link
Copy Markdown
Collaborator Author

ahoarau commented Dec 18, 2025

https://github.com/Simple-Robotics/nanoeigenpy/actions/runs/20345632610/job/58457091615#step:3:2331

Still an issue, most probably related to an old version of typing_exensions being used.

ahoarau and others added 16 commits December 18, 2025 20:46
Otherwise the lib is install in %PREFIX%/Library/Lib/site-packages/nanoeigenpy.pyd
But we need %PREFIX%/Lib/site-packages/nanoeigenpy.pyd
we havent updated the version number yet
Flake lock file updates:

• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/af66ad14b28a127c5c0f3bbb298218fc63528a18?narHash=sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8%3D' (2025-08-06)
  → 'github:hercules-ci/flake-parts/a34fae9c08a15ad73f295041fec82323541400a9?narHash=sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw%3D' (2025-12-15)
• Updated input 'flake-parts/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/0f36c44e01a6129be94e3ade315a5883f0228a6e?narHash=sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA%3D' (2025-07-27)
  → 'github:nix-community/nixpkgs.lib/2075416fcb47225d9b68ac469a5c4801a9c4dd85?narHash=sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo%3D' (2025-12-14)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8a6d5427d99ec71c64f0b93d45778c889005d9c2?narHash=sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM%3D' (2025-08-27)
  → 'github:nim65s/nixpkgs/a945047facf45faddcbfa2315207950334c62720?narHash=sha256-lIagbRYXHD1DClqzuqmkC3N/GOxZrwTh13eRtmNUyEg%3D' (2025-12-19)
the version shipped on nix does not ship the config.cmake
@ManifoldFR ManifoldFR enabled auto-merge December 20, 2025 14:05
@ManifoldFR ManifoldFR self-requested a review December 20, 2025 14:05
@ManifoldFR ManifoldFR merged commit 26845b1 into Simple-Robotics:main Dec 20, 2025
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants