Skip to content

Fix distcc support and add icecream

Rosen Matev requested to merge rmatev/Gaudi:fix-distcc into master

Using distcc is currently broken for two reasons

  • GaudiProjectConfig.cmake is executed multiple times and the launch rule is prepended multiple times
  • In case of ccache+distcc, the setting of CCACHE_PREFIX is wrong

Here (in the first commit) I fix the generation of the compile rule by

  • resetting the accumulation variables (GAUDI_RULE_LAUNCH_.*). Note that in case they are set externally, the behaviour will change,
  • separating out the environment part into GAUDI_RULE_LAUNCH_.*_ENV, such that using GAUDI_USE_CTEST_LAUNCHERS can work together with distcc.

In the second commit, I add support for another distributed compiler, icecream.

The multiple execution of GaudiProjectConfig.cmake has to be fixed separately, either at the source or with an include guard like

if(GaudiProject_FOUND)
  return()
endif()

PS. This may invalidate ccaches as right now the compiler is prefixed with .../ccache .../ccache .../ccache and this MR removes the triplication.

Edited by Rosen Matev

Merge request reports