build: Simplify Traccc Setup, main branch (2026.08.04.) - #5830
Conversation
While making the setup of TRACCC_USE_ROOT just slightly more elaborate, and providing a bit of documentation for why the various cache variables are set up by default as they are.
Public API surface diffNo change to the public API surface. ✅ |
stephenswat
left a comment
There was a problem hiding this comment.
I marked this code as technical debt and as something to be removed for a reason. I'm surprised to see you replace it by functionally identical code while removing the warning. 😆
Let's not go with this and move straight towards a robust, long-term solution: the Traccc/ directory should be the source of truth on how to configure traccc; it should be there that we set the defaults for these options, using information about whether traccc is being built as a component of ACTS or not. That will allow us to immediately remove the technical debt that is accrued here and will make the future transition of traccc to a true component of ACTS much easier.
|



While working on re-establishing my development environment, now as part of a "full Acts build", I removed some unnecessary lines from the traccc setup. (Ones that didn't override anything.)
At the same time I made the setup of TRACCC_USE_ROOT just slightly more elaborate. And provided a bit of documentation for why the various cache variables are set up by default as they are.
--- END COMMIT MESSAGE ---
As a scary detail, I ended up with the following CMake preset for now on my desktop. (Which only has an NVIDIA GPU, but has both CUDA and HIP available.)
{ "version": 4, "configurePresets": [ { "name": "gpu-devel", "displayName": "atspot01 GPU Development", "warnings": { "deprecated": true }, "binaryDir": "build", "cacheVariables": { "CMAKE_CXX_STANDARD": "20", "CMAKE_CUDA_STANDARD": "20", "CMAKE_CUDA_ARCHITECTURES": "native", "CMAKE_HIP_STANDARD": "20", "CMAKE_HIP_ARCHITECTURES": "native", "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", "BUILD_TESTING": "ON", "ACTS_ENABLE_LOG_FAILURE_THRESHOLD": "OFF", "ACTS_BUILD_FATRAS": "ON", "ACTS_BUILD_UNITTESTS": "ON", "ACTS_BUILD_INTEGRATIONTESTS": "ON", "ACTS_BUILD_PYTHON_BINDINGS": "ON", "ACTS_GENERATE_PYTHON_STUBS": "ON", "ACTS_BUILD_PLUGIN_TRACCC": "ON", "ACTS_ENABLE_CUDA": "ON", "ACTS_USE_SYSTEM_EIGEN3": "OFF", "VECMEM_BUILD_CUDA_LIBRARY": "ON", "VECMEM_BUILD_HIP_LIBRARY": "ON", "DETRAY_BUILD_CUDA": "ON", "DETRAY_BUILD_BENCHMARKS": "ON", "DETRAY_BUILD_VALIDATION_TOOLS": "ON", "DETRAY_SET_LOGGING": "NONE", "TRACCC_SETUP_TBB": "ON", "TRACCC_SETUP_ROCTHRUST": "OM", "TRACCC_BUILD_CUDA_UTILS": "ON", "TRACCC_BUILD_CUDA": "ON", "TRACCC_BUILD_HIP": "ON", "TRACCC_BUILD_ALPAKA": "ON", "alpaka_ACC_GPU_CUDA_ENABLE": "ON", "TRACCC_SUPPORTED_DETECTORS": "default_detector;itk_detector", "TRACCC_BUILD_PERFORMANCE": "ON", "TRACCC_BUILD_SIMULATION": "ON", "TRACCC_BUILD_TESTING": "ON", "TRACCC_BUILD_EXAMPLES": "ON", "TRACCC_BUILD_BENCHMARKS": "ON" } } ] }