Как упомянуто в документации команды set , каждый каталог, добавленный с add_subdirectory
или каждая функция, объявленная с function
, создает новую область.
Новая дочерняя область наследуетвсе определения переменных из родительской области видимости.Переменные в новой дочерней области с помощью команды set
будут видны только в дочерней области, если не используется опция PARENT_SCOPE
.
Чтобы сделать назначение SOURCEFILES
видимым в корневой папке вашего проекта, попробуйте:
set (SOURCEFILES main.cpp foo.cpp PARENT_SCOPE)