52 lines
2.1 KiB
Markdown
52 lines
2.1 KiB
Markdown
# Библиотека дополнительных фукций для CMake
|
||
|
||
## Установка
|
||
|
||
В корневом каталоге проекта создать каталог `cmake/myx` и распаковать
|
||
в него архив проекта, который можно скачать [здесь](../../../releases).
|
||
|
||
## Использование
|
||
|
||
В основном файле `CMakeLists.txt` проекта после команды
|
||
`project` добавить строки:
|
||
|
||
```cmake
|
||
# Рекомендуемый способ подключения MyxCMake
|
||
include(cmake/myx_setup.cmake)
|
||
```
|
||
|
||
Создать файл `cmake/myx_setup.cmake`:
|
||
|
||
```cmake
|
||
#[=======================================================================[.rst:
|
||
Подключение дополнительных функций для CMake
|
||
|
||
По умолчанию предполагается использование версии MyxCMake,
|
||
файлы которой находятся в каталоге `cmake/myx` текущего проекта.
|
||
|
||
Для удобства разботки библиотеки MyxCMake можно указать путь
|
||
к её репозиторию с помощью переменной проекта CMake `MYX_CMAKE_DIR`
|
||
или переменной окружения `MYX_CMAKE_DIR`.
|
||
|
||
Если определена переменная `MYX_CMAKE_USE_SYSTEM`, то выполняется
|
||
поиск версии в каталогах перечисленных в переменной `CMAKE_MODULES_DIR`.
|
||
#]=======================================================================]
|
||
|
||
if(MYX_CMAKE_DIR)
|
||
set(ENV{MYX_CMAKE_DIR} ${MYX_CMAKE_DIR})
|
||
endif()
|
||
if(DEFINED ENV{MYX_CMAKE_DIR})
|
||
find_package(MyxCMake 1.99.62 REQUIRED)
|
||
myx_message_notice("=== MyxCMake directory: ${MyxCMake_CONFIG} ===")
|
||
else()
|
||
if(MYX_CMAKE_USE_SYSTEM)
|
||
find_package(MyxCMake 1.99.62 REQUIRED)
|
||
myx_message_notice("=== MyxCMake directory: ${MyxCMake_CONFIG} ===")
|
||
else()
|
||
include(${PROJECT_SOURCE_DIR}/cmake/myx/MyxCMakeConfig.cmake)
|
||
myx_message_notice("=== MyxCMake directory: ${PROJECT_SOURCE_DIR}/cmake/myx ===")
|
||
endif()
|
||
endif()
|
||
```
|
||
|