-
Notifications
You must be signed in to change notification settings - Fork 7
Refactor CMake with JRL CMake Modules v2 (v2) #40
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
Open
ahoarau
wants to merge
83
commits into
Simple-Robotics:main
Choose a base branch
from
ahoarau:jrl-next-v2
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
83 commits
Select commit
Hold shift + click to select a range
fa5b2e7
cpp: remove unused macros in fwd.hpp
ahoarau f61c95e
cpp: add dependency headers wrt a compile def
ahoarau bd38f60
cpp: merge internal.h into module.cpp
ahoarau 617e716
python: migrate tests to pytest
ahoarau 503ee7f
gersemi: update config
ahoarau 93d5b4f
pixi.toml: we can use forward slash in windows
ahoarau 0443313
pixi.toml: add install and test commands
ahoarau 5f42e0d
pixi.toml: add explicit testing, and build type
ahoarau 20a7e59
git: remove submodules
ahoarau f07fa0c
gitignore: ignore more stuff
ahoarau 3d6cea9
cmake: refactor CMake files with JRL CMake Modules v2
ahoarau 53479a8
cmake: intregrate get-jrl-cmakemodules.cmake
ahoarau df7aa77
cmake: format tests/CMakeLists.txt (remove gersemi off/on)
ahoarau 636d6c8
cmake: update jrl url to point to fork
ahoarau acc7eb4
cmake: require jrl-cmakemodules version 2.0.0
ahoarau 0a4cf1a
cmake: rename test dir
ahoarau d8fcef7
cmake: require at least nanobind 2.5.0
ahoarau deb7804
cmake: change message verbosity to STATUS and fix env case
ahoarau 2ed3d2f
cmake: add debug messages to explain what we do with nanobind
ahoarau f179e5d
ci: add debug and verbose output to ros ci
ahoarau bc0cd79
ci: use the commands defined in pixi.toml
ahoarau 9f70c5b
pixi.toml: add pytest
ahoarau 39fcbb2
pixi.toml: remove extra cmake lines in configure task
ahoarau 07c6984
pixi.toml: add test packaging
ahoarau 852a502
pixi.toml: override python install dir on windows
ahoarau 2ebec24
changelog: update with jrl v2
ahoarau 7dade87
ci: temporarly disable nix job
ahoarau 29307c7
gitignore: ignore ruff cache
ahoarau 307f026
ci: disable nix job check
ahoarau 111312e
cmake: add check for the quaternion test module
ahoarau 21d80db
cmake: add inria copyright
ahoarau 3294aa3
cmake: remove cmake version range
ahoarau 5a0065b
cmake: update nanobind GIT_TAG to v2.10.2
ahoarau 44782c6
ci: remove warning by passing the explicit arguments to env
ahoarau ab142bc
ci: remove explicit cache for pixi
ahoarau 22703eb
ci: cosmetics on pixi job
ahoarau fcc6edd
ci: rosci enable cache and prerelease
ahoarau 4a2ff5c
package.xml: nanobind-dev not yet available
ahoarau 8be070f
ci: ros ci disable fail fast
ahoarau 334d4be
package.xml: add pytest dep
ahoarau 4d6c7fb
ci: name the ros jobs
ahoarau e26f62c
rosci: configure cache
ahoarau 93ae0b2
ci: relax cache availability
ahoarau c835b56
cmale: update cmake option docs
ahoarau 27b2d53
changelog: remove the c++17 required.
ahoarau da848e3
cmake: move dependencies to headers instead of module
ahoarau 237b7cf
cmake: add jrl_generate_ros2_package_files
ahoarau e64398d
cmake: update jrl_target_generate_header API
ahoarau 1c2a26e
ci: display more info before clearing ccache cache
ahoarau 074b647
rosci: do not use prerelease
ahoarau 3fba63f
cmake: update the get-jrl messages
ahoarau 08f6aa5
cmake: require jrl >=1.2 to get the jrl-v2
ahoarau ce65f9d
cmake: update python and nanobind min required
ahoarau f6335d8
pixi: remove the custom python install dir for pixi build
ahoarau 1e2772c
cmake: include project version in config header generation
ahoarau be450bd
pixi.toml: re-enable pixi build
ahoarau 3607d6d
cmake: format
ahoarau 758e334
pixi: update lock file
ahoarau 54fdc59
ci-pixi: add ${{ matrix.environment }} to avoid cache sharing between…
ahoarau 8a52b56
ci-ros: bump ros-i version
ahoarau 6ec9e20
ci-ros: add lyrical
ahoarau ea1e48a
cmake: update jrl link to jrl-umi3218 (upstream)
ahoarau b8c974b
pixi: comment out pixi build
ahoarau 7a74c36
changelog: more updates from jrl-v2 PR
ahoarau d1e0ed4
cmake: always generate the ros2 pkg files
ahoarau f00e232
pre-commit: update gersemi repo and version
ahoarau 3f57354
cmake: allow to use jrl FindCHOLMOD.cmake when config is not present
ahoarau 90c2b18
ci-linux: add ubuntu 22/24 CI
ahoarau d651774
cmake: stubs generations requires typing_extensions >= 4.1.0 on pytho…
ahoarau 8c94cb8
pytest: fix initial value
ahoarau 604414f
tests: conjugate gradients needs a symmetric positive definite matrix
ahoarau 22c890e
cmake: add EXPECTED_TARGETS
ahoarau b3e34be
cmake: install pywrap as TARGET for rpath
ahoarau b5e75af
pixi: Add lint and update new-version environment
jorisv 6033494
dev: Add release instruction
jorisv 3362d9f
ci-pixi: add --skip-deps
ahoarau 34528f3
cmake: add jrl_target_set_default_compile_options
ahoarau fc7ad01
cmake: rename tests
ahoarau a9cdfb4
cmake: cosmetic remove vars
ahoarau 298b914
cmake: add APPLE cond to Accelerate
ahoarau 24ce80e
add back BUILD_DOCUMENTATION (doxygen+graphviz)
ahoarau 36e946b
cmake: compile options for the python module, not the headers
ahoarau fe61157
cmake: BUILD_DOCUMENTATION is off by default
ahoarau File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,4 @@ | ||
| definitions: [./CMakeLists.txt, ./cmake, ./tests] | ||
| line_length: 80 | ||
| definitions: [./CMakeLists.txt, ./tests] | ||
| line_length: 100 | ||
| indent: 2 | ||
| warn_about_unknown_commands: false |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,2 +1,2 @@ | ||
| # SCM syntax highlighting & preventing 3-way merges | ||
| pixi.lock merge=binary linguist-language=YAML linguist-generated=true | ||
| pixi.lock merge=binary linguist-language=YAML linguist-generated=true -diff |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,116 @@ | ||
| name: CI - Linux (APT) | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - main | ||
| paths-ignore: | ||
| - .gitlab-ci.yml | ||
| - .gitignore | ||
| - '*.md' | ||
| - CITATION.* | ||
| - LICENSE | ||
| - colcon.pkg | ||
| - .pre-commit-config.yaml | ||
| - CHANGELOG.md | ||
| - development/*.md | ||
| pull_request: | ||
| paths-ignore: | ||
| - .gitlab-ci.yml | ||
| - .gitignore | ||
| - '*.md' | ||
| - CITATION.* | ||
| - LICENSE | ||
| - colcon.pkg | ||
| - .pre-commit-config.yaml | ||
| - CHANGELOG.md | ||
| - development/*.md | ||
| concurrency: | ||
| group: ${{ github.workflow }}-${{ github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| ubuntu: | ||
| name: CI - Ubuntu ${{ matrix.ubuntu_version }} - ${{ matrix.build_type }} (APT) | ||
| runs-on: ubuntu-latest | ||
| container: | ||
| image: ubuntu:${{ matrix.ubuntu_version }} | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| ubuntu_version: ["22.04", "24.04"] | ||
| build_type: [Release, Debug] | ||
| env: | ||
| CCACHE_BASEDIR: ${{ github.workspace }} | ||
| CCACHE_DIR: ${{ github.workspace }}/.ccache | ||
| CCACHE_COMPRESS: true | ||
| CCACHE_COMPRESSLEVEL: 6 | ||
| CMAKE_C_COMPILER_LAUNCHER: ccache | ||
| CMAKE_CXX_COMPILER_LAUNCHER: ccache | ||
| DEBIAN_FRONTEND: noninteractive | ||
| steps: | ||
| - name: Install dependencies via APT | ||
| run: | | ||
| apt-get update | ||
| apt-get install -y \ | ||
| git \ | ||
| g++ \ | ||
| cmake \ | ||
| ninja-build \ | ||
| ccache \ | ||
| doxygen \ | ||
| graphviz \ | ||
| libeigen3-dev \ | ||
| libsuitesparse-dev \ | ||
| python3-dev \ | ||
| python3-numpy \ | ||
| python3-scipy \ | ||
| python3-pytest \ | ||
| python3-typing-extensions | ||
|
|
||
| - uses: actions/checkout@v7 | ||
|
|
||
| - name: Setup ccache | ||
| uses: actions/cache@v6 | ||
| with: | ||
| path: ${{ env.CCACHE_DIR }} | ||
| key: ccache-ubuntu-${{ matrix.ubuntu_version }}-${{ matrix.build_type }}-${{ github.sha }} | ||
| restore-keys: ccache-ubuntu-${{ matrix.ubuntu_version }}-${{ matrix.build_type }}- | ||
|
|
||
| - name: Clear ccache stats | ||
| run: ccache --show-stats --zero-stats --verbose | ||
|
|
||
| - name: CMake Configure | ||
| run: | | ||
| cmake -G Ninja -B build -S . \ | ||
| -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ | ||
| -DBUILD_TESTING=ON \ | ||
| -DBUILD_WITH_CHOLMOD_SUPPORT=ON \ | ||
| -DBUILD_DOCUMENTATION=ON | ||
|
|
||
| - name: CMake Build | ||
| run: cmake --build build --verbose --parallel 2 | ||
|
|
||
| - name: Show ccache stats | ||
| run: ccache --show-stats --verbose | ||
|
|
||
| - name: CTest | ||
| run: ctest --test-dir build --output-on-failure | ||
|
|
||
| - name: CMake Install | ||
| run: cmake --install build --prefix install | ||
|
|
||
| check: | ||
| if: always() | ||
| name: check-linux | ||
|
|
||
| needs: | ||
| - ubuntu | ||
|
|
||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - name: Decide whether the needed jobs succeeded or failed | ||
| uses: re-actors/alls-green@release/v1 | ||
| with: | ||
| jobs: ${{ toJSON(needs) }} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,8 +1,16 @@ | ||
| build*/ | ||
| install*/ | ||
| .pytest_cache/ | ||
| .cache/ | ||
| __pycache__ | ||
| .pytest_cache | ||
|
|
||
| # pixi environments | ||
| .pixi | ||
| .pixi/ | ||
| __pycache__/ | ||
| Xcode* | ||
| *.pyc | ||
| *~ | ||
| *.egg-info | ||
| .ruff_cache/ | ||
| .DS_Store | ||
| compile_commands.json | ||
| cmake-profiling.json | ||
| result | ||
| *.conda |
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.