Update external dependencies documentation and remove unused profiling utilities
This MR updates the external dependencies documentation to accurately reflect the actual dependencies used by Gaudi and removes unused profiling utilities from the build system.
Closes #315 (closed)
Changes:
📚 Documentation Updates (externaldocs.md.in)
- Restructured documentation to clearly separate required, optional, and platform-specific dependencies
- Added missing required dependencies: TBB, UUID, Threads, ZLIB, Rangev3, cppgsl, fmt, nlohmann_json
- Added missing optional dependencies: CLHEP, HepPDT, CppUnit, CUDA
- Added testing dependencies: Catch2 and Boost unit_test_framework
- Removed outdated dependencies: HepMC, RELAX (not actually used)
- Updated Python requirement from 2.7.15 to 3.7+ (actual requirement)
- Added detailed Boost components (filesystem, regex, fiber, thread, python, etc.)
- Added detailed ROOT components (Core, RIO, Hist, Thread, Matrix, etc.)
- Removed version variables that are not defined in Doxygen job configuration
- Cleaned up outdated links and references
🔧 Build System Cleanup (GaudiDependencies.cmake, CMakeLists.txt)
- Removed unused profiling utilities: unwind, gperftools, IntelAmplifier, jemalloc
- Simplified dependency handling by removing special cases for IntelAmplifier
- Updated CMakeLists.txt documentation to reflect removed options
🗑️ IntelProfiler Components Removal
-
Removed IntelProfiler example source:
CpuHungryAlg.cpp -
Removed IntelProfiler documentation:
intelprofiler.md -
Removed IntelProfiler example options:
IntelProfiler.py -
Removed IntelProfiler CMake module:
FindIntelAmplifier.cmake - Updated GaudiTestSuite CMakeLists.txt to remove IntelProfiler references
Impact:
-
✅ Documentation now accurately represents actual Gaudi dependencies -
✅ Simplified build system by removing legacy utilities -
✅ Better organized dependency information for developers -
✅ Removed unused IntelProfiler components and examples -
✅ No functional changes to Gaudi itself
Testing:
- All pre-commit hooks passed
- No breaking changes to existing functionality
- Documentation changes only affect external documentation
Edited by Marco Clemencic