50 lines
1.3 KiB
Markdown
50 lines
1.3 KiB
Markdown
|
# CMake Modules
|
|||
|
|
|||
|
Репозиторий модулей для CMake.
|
|||
|
|
|||
|
## Установка
|
|||
|
|
|||
|
В каталоге проекта выполнить команду
|
|||
|
|
|||
|
```sh
|
|||
|
git submodule add ssh://git@host/user/cmlib cmake/cmlib
|
|||
|
```
|
|||
|
|
|||
|
заменив `host` и `user` на нужные значения.
|
|||
|
|
|||
|
## Использование
|
|||
|
|
|||
|
В основном для проекта файле `CMakeLists.txt` добавить:
|
|||
|
|
|||
|
```cmake
|
|||
|
if(IS_DIRECTORY ${CMAKE_SOURCE_DIR}/cmake/cmlib)
|
|||
|
list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/cmlib)
|
|||
|
else()
|
|||
|
message(FATAL_ERROR "CMake library directory not exists")
|
|||
|
endif()
|
|||
|
|
|||
|
include(CMLibCommon)
|
|||
|
```
|
|||
|
|
|||
|
Создать файл `cmake/etc/version.txt`, в который нужно
|
|||
|
записать номер версии проекта, отвечающий стандарту
|
|||
|
[семантического версионирования](https://semver.org/lang/ru/).
|
|||
|
|
|||
|
В файле `cmake/etc/organization.txt` записать название
|
|||
|
организации, которой принадлежит проект.
|
|||
|
|
|||
|
В файле `cmake/etc/cpack_ignore.txt` перечислить шаблоны
|
|||
|
для исключения из создаваемого целью `dist` архива. Например,
|
|||
|
|
|||
|
```
|
|||
|
cmake/lib/.git$
|
|||
|
.git$
|
|||
|
files/var
|
|||
|
CMakeLists.txt.user
|
|||
|
~$
|
|||
|
\\\\..*\\\\.bak$
|
|||
|
\\\\..*\\\\.tmp$
|
|||
|
\\\\..*\\\\.swp$
|
|||
|
```
|
|||
|
|