Определение новой функции заменяет предыдущее с тем же именем.Таким образом, доступ к предыдущей функции потерян.
Если в разных подпроектах используются разные функции (но с одинаковыми именами), вы можете попытаться построить один подпроект как ExternalProject
, чтобы не произошло столкновения функции.
В CMake любые определения функций содержат единственную информацию для вызывающей стороны - минимальное количество параметров , которое должно быть передано функции.Используя эту информацию, невозможно устранить перегрузку функции, если она будет реализована.