44 lines
2.1 KiB
CMake
44 lines
2.1 KiB
CMake
#[=======================================================================[.rst:
|
||
Подключение дополнительных функций для CMake
|
||
|
||
По умолчанию предполагается использование версии MyxCMake,
|
||
файлы которой находятся в каталоге `cmake/myx` текущего проекта.
|
||
|
||
Для удобства разботки библиотеки MyxCMake можно указать путь
|
||
к её репозиторию с помощью переменной проекта CMake `MYX_CMAKE_DIR`
|
||
или переменной окружения `MYX_CMAKE_DIR`.
|
||
|
||
Если определена переменная `MYX_CMAKE_USE_SYSTEM`, то выполняется
|
||
поиск версии в каталогах перечисленных в переменной `CMAKE_MODULES_DIR`.
|
||
|
||
Кроме того выполняется попытка поиска (MyxxCMake)[../../../../myxx] --
|
||
расширения для библиотеки, позволяющиего в режиме разработки программного
|
||
проекта использовать дополнительные инструменты для его сопровождения.
|
||
#]=======================================================================]
|
||
|
||
if(ENV{MYX_CMAKE_DIR})
|
||
set(MYX_CMAKE_DIR $ENV{MYX_CMAKE_DIR})
|
||
endif()
|
||
if(MYX_CMAKE_DIR)
|
||
find_package(MyxCMake 2.0.6 REQUIRED CONFIG PATHS ${MYX_CMAKE_DIR} NO_DEFAULT_PATH)
|
||
myx_message_notice("=== MyxCMake directory: ${MyxCMake_CONFIG} ===")
|
||
else()
|
||
if(MYX_CMAKE_USE_SYSTEM)
|
||
find_package(MyxCMake 2.0.6 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()
|
||
|
||
if(ENV{MYXX_CMAKE_DIR})
|
||
set(MYXX_CMAKE_DIR $ENV{MYXX_CMAKE_DIR})
|
||
endif()
|
||
if(MYXX_CMAKE_DIR)
|
||
find_package(MyxxCMake CONFIG PATHS ${MYXX_CMAKE_DIR} NO_DEFAULT_PATH)
|
||
else()
|
||
find_package(MyxxCMake CONFIG PATHS "$ENV{XDG_DATA_DIR}/cmake" QUIET)
|
||
endif()
|
||
|