Приложение испытывалось на произведении Л.Н.Толстого "Война и мир". Экземпляр текста размещен в папке проекта text
-
Pre-build:
cmake -B <build_directory> -G <your_generator>
-
Сборка приложения:
cmake --build <build_directory>
-
Установка (with Windows needs to specify the path to QT in CMakeLists.txt):
cmake --build <build_directory> --config release --target install
В папке сборки проекта <build_directory>
будет создана папка wcountext-win
(если сборка осуществлялась в Windows) и wcountext-linux
(для Linux). Данная папка и будет представлять собой готовое для использования/переноса приложение. При развертывании нового релиза (без использования CI/CD) необходимо указанную папку wcountext-win
или wcountext-linux
сохранить в архив и перенести в папку releases
.
- Генерация сборки документации (Doxygen installed requirements):
cmake --build <build_directory> --target doxygen
Докмуентация по проекту, сгенерированная Doxygen (располагается в папке сборки <build_directory>/dochtml
) является неотъемлемой частью проект и обновляется при указании целевой задачи для CMake
командой doxygen
.
Для разработки кода и написания документации использовались следующие инструменты:
При компиялции необходимо отключать оптимизацию компилятора, флаг O0
, поскольку в потоке есть бесконечный пустой цикл (постановка треда на паузу - да, это некашерно, но нужно было быстрое решение), и компилятор изменит его так, что зайти в этот цикл будет возможно, а выйти - нет. В этой связи, если убрать в верхнеуровневом CMakeLists.txt строку set(CMAKE_CXX_FLAGS_RELEASE "-O0")
, то приложение будет работать некорректно в IDE, которые автоматически включают оптимизацию компилтяора.