Скомпилируйте (через CMakelist) main.cpp с множеством исходных файлов в одном CMakelist

Я пытаюсь скомпилировать проект, как показано ниже.

myproject
|CMakeLists.txt
|-src
| |main.cpp
| |subSrc1
| | |*.cpp
| | |*.h
| |subSrc2
| | |*.cpp
| | |*.hpp

Я хочу скомпилировать проект со всеми *.cpp и *.h. поэтому я сделал CMakeLists.txt, обратившись к последнему комментарию URL-адреса ниже. CMake с включенными и исходными путями — базовая настройка

>    cmake_minimum_required (VERSION 3.8 FATAL_ERROR)
>     project ("myproject")
>     include_directories ("${PROJECT_SOURCE_DIR}")
>     include_directories (
>       ${PROJECT_SOURCE_DIR}/src
>       ${PROJECT_SOURCE_DIR}/src/exec/
>       ${PROJECT_SOURCE_DIR}/src/host/
>     )
>     
>     file(GLOB all_SRCS
>       "${PROJECT_SOURCE_DIR}/*.cpp"
>       "${PROJECT_SOURCE_DIR}/src/*.cpp"
>       "${PROJECT_SOURCE_DIR}/src/exec/*.cpp"
>       "${PROJECT_SOURCE_DIR}/src/exec/*.h"
>       "${PROJECT_SOURCE_DIR}/src/host/*.cpp"
>     )
>     
>     #add_executable (myproject "myproject/src/main.cpp")
>     add_executable (myproject ${all_SRCS})

но ошибка говорит, что НЕТ ИСТОЧНИКОВ, ДАННЫХ ДЛЯ ЦЕЛИ. Я думаю, что add_executable() нуждается в main.cpp, но если я это сделаю, у меня не будет возможности указать CMakelist расположение других источников (файлы .cpp и .h). Могу я получить совет?


person doosolLee    schedule 10.03.2021    source источник
comment
Сообщение Нет источников, указанных для цели, буквально означает, что у вашей цели нет источников. То есть ваша переменная all_SRCS пуста. Поскольку эта переменная получает свое содержимое из file(GLOB), это означает, что ваши выражения подстановки ничего не возвращают. Пожалуйста, перепроверьте, действительно ли у вас есть файлы в каталогах, которые вы используете в регулярных выражениях.   -  person Tsyvarev    schedule 10.03.2021
comment
@Tsyvarev спасибо за ответ. я пропустил один файл   -  person doosolLee    schedule 10.03.2021