2019-02-12 16:31:17 +00:00
|
|
|
|
# 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$
|
|
|
|
|
```
|
|
|
|
|
|
2019-03-07 07:31:13 +00:00
|
|
|
|
|