Вы получаете ошибку, потому что список источников, переданный add_executable
, фактически пуст.
Правильный путь для сбора источников в подкаталоге Common/
:
file(GLOB Common_sources "Common/*.cpp")
В команде file (GLOB) RELATIVE опция не указывает каталог поиска .Вместо этого он просто указывает CMake генерировать относительные пути вместо абсолютных:
Если указан флаг RELATIVE, результаты будут возвращены как относительные пути к указанному пути.
Предполагая
file(GLOB Common_sources "Common/*.cpp")
# gets: /<path-to-source>/Common/my_source.cpp
затем (также обратите внимание на абсолютный путь в опции RELATIVE)
file(GLOB Common_sources RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/Common" "Common/*.cpp")
# gets: my_source.cpp
и (когда файлы не находятся под RELATIVE каталог)
file(GLOB Common_sources RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/Mps" "Common/*.cpp")
# gets: ../Common/my_source.cpp