Обновление

This commit is contained in:
2021-10-20 10:11:49 +03:00
parent 763ec72402
commit 8e3f80d82c
2 changed files with 107 additions and 24 deletions

View File

@@ -30,7 +30,6 @@ include::{l10ndir}/{lang}.adoc[]
├── .git
├── cmake
│ ├── cmlib
│ ├── doc
│ ├── etc
│ │ └── uncrustify
│ ├── find
@@ -68,7 +67,6 @@ include::{l10ndir}/{lang}.adoc[]
|`.git` | Системные файлы репозитория Git
|`cmake` | Файлы с дополнительными функциями для CMake
|`cmake/cmlib` | Библиотека функций для CMake
|`cmake/doc` | Правила для автоматической генерации документации
|`cmake/etc` | Файлы настроек, используемые в CMake
|`cmake/etc/uncrustify` | Файл настройки для программы автоматического форматирования исходных текстов
|`cmake/find` | Модули CMake для поиска внешних программ и библиотек
@@ -129,7 +127,6 @@ git init
git submodule add https://git.246060.ru/f1x1t/cmlib.git cmake/cmlib
git submodule add https://git.246060.ru/f1x1t/cmake-find.git cmake/find
git submodule add https://git.246060.ru/f1x1t/cmake-generators.git cmake/generators
git submodule add https://git.246060.ru/f1x1t/cmake-doc.git cmake/doc
git commit -a -m "Начало проекта"
----
@@ -158,9 +155,6 @@ git push -u origin master
[submodule "cmake/generators"]
path = cmake/generators
url = git@git.246060.ru:f1x1t/cmake-generators.git
[submodule "cmake/doc"]
path = cmake/doc
url = git@git.246060.ru:f1x1t/cmake-doc.git
----
на
@@ -176,9 +170,6 @@ git push -u origin master
[submodule "cmake/generators"]
path = cmake/generators
url = ../../f1x1t/cmake-generators.git
[submodule "cmake/doc"]
path = cmake/doc
url = ../../f1x1t/cmake-doc.git
----
Обновить пути и сохранить изменения:
@@ -504,7 +495,8 @@ cmlib_generate_private_config_hpp()
add_subdirectory(src/cmlib-example)
# Документация
add_subdirectory(cmake/doc)
add_breathe_target(doc-breathe)
add_doxygen_target(doc-doxygen LATEX YES HTML YES)
# Создание вспомогательных символических ссылок
add_dependencies(cmlib-example create_auxilary_symlinks)
@@ -620,7 +612,8 @@ cmlib_generate_private_config_hpp()
add_subdirectory(src/cmlib-example)
# Документация
add_subdirectory(cmake/doc)
add_breathe_target(doc-breathe)
add_doxygen_target(doc-doxygen LATEX YES HTML YES)
# Создание вспомогательных символических ссылок
add_dependencies(cmlib-example create_auxilary_symlinks)
@@ -1545,12 +1538,68 @@ make all_unity
=== Документирование кода
Надо написать.
Для документирования кода используются блоки комментариев,
оформленные для обработки программой https://www.doxygen.nl[Doxygen].
Установка программы:
[source,sh]
----
sudo apt-get install doxygen
----
Пример комментария:
[source,c++]
----
/**
* @brief Базовый класс
*/
class Base {
public:
/**
* @brief Конструктор
*/
Base();
/**
* @brief Деструктор
*/
~Base();
/**
* @brief Вычисление квадратного корня
* @param value Входное значение
* @return Квадратный корень от value
*/
double sqrt(double value);
};
----
Поддержка автоматической генерации документации реализована
в функциях библиотеки CMLib `add_doxygen_target` и
`add_breathe_target`, которые необходимо вызвать в основном
файле `CMakeLists.txt` проекта.
[source,cmake]
----
# Документация
add_doxygen_target(doc-doxygen LATEX YES HTML YES)
add_breathe_target(doc-breathe)
----
В результате будут добавлены цели `doc-doxygen` и `doc-breathe`,
которые можно использовать после конфигурирования проекта:
[source,cmake]
----
make doc-doxygen
make doc-breathe
----
Поддержка документирования кода реализована в функциях
`add_doxygen` и `add_breathe`, для исполнения которых
добавляются цели `doc-doxygen` и `doc-breathe`.
Шаблоны для комментирования файлов, классов и функций
можно автоматически расставить в файлах исходных кодов
исполнением цели `doc-add-comments` при наличии установленной
программы `uncrustify`.
программы `uncrustify`:
[source,cmake]
----
make doc-add-comments
----