-
Notifications
You must be signed in to change notification settings - Fork 176
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
feat: Add CMake presets #3135
feat: Add CMake presets #3135
Conversation
📊: Physics performance monitoring for 1d9d788physmon summary
|
I also started looking into this. I think for the main file that we ship, we should probably stick roughly to our CI configurations. IIUC cmake uses an additional file |
b99864b
to
444b328
Compare
@paulgessinger this is converging now - do you want to have another look? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems fine overall.
|
#3135 broke `build_performance` which was not observed in the PR because this job only runs on the main branch
Adds CMake presets (https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html) to collect common configuration and build settings.
The current list of presets:
common
as a base for all the other presets. This enables everything necessary for running the ODD full chain examples with Fatras. It sets the cpp standard to 20, the generator to ninja and enables ccache.dev
usesRelWithDebInfo
and enablesCMAKE_EXPORT_COMPILE_COMMANDS
andACTS_FORCE_ASSERTIONS
perf
usesRelease
sets a few compiler flags to keep frame pointers and enablesACTS_BUILD_BENCHMARKS
ci-common
is the base for all CI presets. It enables the usual flags for what to build in the CI, usesRelease
,-Werror
and enablesACTS_FORCE_ASSERTIONS
andACTS_ENABLE_LOG_FAILURE_THRESHOLD
github-ci
will not change anything for nowgitlab-ci
will switch toRelWithDebInfo
to allow FPE monitoringWhile doing so I also
ACTS_BUILD_EVERYTHING
CMake variable because the preset can be used to collect the "default" flagsACTS_BUILD_EXAMPLES
CMake option for a similar reason. I kept the cmake variable because it is used to toggle things internally in our CMake