The offline software of the ATLAS experiment at the LHC
(Large Hadron Collider) serves as the platform for
detector data reconstruction, simulation and analysis.
It is also used in the detector trigger system to
select LHC collision events during data taking.
ATLAS offline software consists of several million lines of
C++ and Python code organized in a modular design of
more than 2000 specialized packages. Because of different
workflows many stable numbered releases are in parallel
production use. To accommodate specific workflow requests,
software patches with modified libraries are distributed
on top of existing software releases on a daily basis.
The different ATLAS software applications require a flexible
build system that strongly supports unit and integration tests.
Within the last year this build system was migrated to CMake.
A CMake configuration has been developed that allows one to easily
set up and build the mentioned software packages.
This also makes it possible to develop and test new and
modified packages on top of existing releases.
The system also allows one to detect and execute partial rebuilds
of the release based on single package changes.
The build system makes use of CPack for building RPM packages
out of the software releases, and CTest for running unit and
We report on the migration and integration of the ATLAS
software to CMake and show working examples of this large scale
project in production.
|Primary Keyword (Mandatory)||Software development process and tools|