Описание существующих флагов для сборки

Данный документ содержит в себе описание основных флагов, который используются при сборки данного проекта. Выделим два основных класса флагов. Встроенными флагами называется набор флагов в cmake, которые являются стандратными для проекта, и использование которых, тем не менее, является важным при работе с данным проектом. Второй же класс флагов включает в себя те флаги, которые добавляются разработчиками данного ПО. Отметим, что добавление любого флага в cmake предполагает добавление его и в данный файл.

"Встроенные" флаги

DCMAKE_BUILD_TYPE

Данный флаг используется для указания типа сборки и принимает значения Release/Debug. Второе значение является значением по умолчанию. Оно позволяет использовать инструменты отладки для поиска потенциальных ошибок в коде (в частности, возможна полноценная отладка с инструментом дебага gdb).

При сборке с первым флагом используется оптиизация компилятора -O3, что делает невозможным какую-либо отладку. Данная оптимизация, однако, дает определенный прирост по скорости работы программы (около 5%).

Добавленные флаги

LOCAL_BUILD

Данный флаг позволяет указать путь до локального репозитория графа (OrientedGraph). Использование данного флага позволяет тестировать ваши изменения, внесенные в код графа, без отправки последних в удаленное хранилище и указание нового тега при подключении графа в CMakeLists.txt с помощью FetchContent_Declare. Для использования данного флага укажите полный путь до директории, где находится граф. Например: cmake -S . -B build -G Ninja -DLOCAL_BUILD=/home/user/CicruitGen_Graph

CircuitGenGenerator_DEVELOPER_MODE

Позволяет включать сборку тестов. Принимает значения OFF/ON (первое - по умолчанию). Автоматически включается при сборке с пресетом dev.