Update CMake config#36
Conversation
This reverts commit 37fa3df.
| string(REPLACE " " "_" PROJECT_NAME ${PROJECT_NAME}) | ||
| project(${PROJECT_NAME} C CXX) | ||
|
|
||
| set(CMAKE_CXX_STANDARD 23) |
There was a problem hiding this comment.
заголовочные файлы (.hpp) не нужно перечислять в SOURCES и TEST_SOURCES — CMake их не компилирует. Достаточно оставить только .cpp файлы. То же самое в task_05 и lib/CMakeLists.txt
There was a problem hiding this comment.
убрал .hpp из SOURCES и TEST_SOURCES, они, действительно, не нужны там
| cmake_minimum_required(VERSION 3.10) | ||
|
|
||
| get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_LIST_DIR} NAME) | ||
| string(REPLACE " " "_" PROJECT_NAME ${PROJECT_NAME}) |
There was a problem hiding this comment.
здесь перечислен только main.cpp, но студенты обычно добавляют отдельные .cpp файлы с реализацией. Если они не допишут SOURCES в CMakeLists.txt, получат ошибку линковки. Стоит добавить это в README или в шаблон CMakeLists.txt как комментарий-подсказку
There was a problem hiding this comment.
Добавил в каждый CMakeList предупреждение, а также добавил рекомендацию в README
| task_10 | ||
| task_11 | ||
| task_12 | ||
| task_13 |
There was a problem hiding this comment.
тесты собираются только если передан флаг -DBUILD_TESTING=ON. Нужно убедиться, что GitHub Actions workflow явно передаёт этот флаг при вызове cmake, иначе тесты не будут собираться и CI будет «зелёным» без реальной проверки
There was a problem hiding this comment.
Добавил флаг -DBUILD_TESTING=ON в шаг run cmake в .github/workflows/tests.yaml, теперь тесты собираются и CI их гарантировано проверяет.
Улучшения:
Глобально: раньше CMake пытался сам догадаться, как устроен репозиторий - теперь репозиторий сам явно описывает свою структуру.