Skip to content

Fix dictionary build dependency for ninja

Frank Winklmeier requested to merge fwinkl/atlasexternals:ninja_dict into master

The reflex dictionaries were being re-built unconditionally when using ninja. This was because the absolute file name was used as the dependency target instead of a relative one. The problem is identified easily by running in debug mode:

> ninja -j1 -d explain
[...]
ninja explain: expected depfile
'/scratch/fwinkl/hlt/LArCalorimeter/LArCabling/CMakeFiles/LArCablingDictReflexDict.d'
to mention 'LArCalorimeter/LArCabling/CMakeFiles/LArCablingDict.dsomap',
got
'/scratch/fwinkl/hlt/LArCalorimeter/LArCabling/CMakeFiles/LArCablingDict.dsomap'

I tested it with a few locally checked out athena packages and running ninja a second time no longer rebuilds the dictionaries. I hope I didn't break anything else.

Merge request reports