You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
base: код, который не относится к проекту напрямую, что-то вроде своей библиотеки кода, в которую попадает все самое полезное, что может пригодиться во многих местах.
core: основной код проекта. Хотелось назвать его caroline, но ниже будет пояснено, почему не получилось.
build: инструменты, используемые при сборке или участвующие в workflow (к примеру cpplint).
third_party: используемые сторонние проекты подгружаются в эту директорию (к примеру gtest).
Цели и артефакты сборки
caroline: главное приложение проекта. В нем содержатся main.cc, base, core.
base: модуль, соответствует директории base.
core: модуль, соответствует директории core. Должен был бы называться caroline, но CMake требует, чтобы имена у всех целей сборки различались, поэтому core.
unit_tests: приложение, содержащее в себе юниттесты. Содержит unit_tests_main.cc, base, core, gtest и все файлы с тестами.
Base
Стоит перечислить все, что есть в base, чтобы не писать велосипеды:
command_line{.cc,.h,_unittest.cc}: Класс для работы с аргументами командной строки.
values{.h,.cc,_unittest.cc}: Классы для построения произвольных вложенных структур данных (числа, строка, буль, список, словарь).