myx/myx_setup.cmake

44 lines
2.1 KiB
CMake
Raw Normal View History

2022-10-05 08:35:08 +00:00
#[=======================================================================[.rst:
Подключение дополнительных функций для CMake
По умолчанию предполагается использование версии MyxCMake,
файлы которой находятся в каталоге `cmake/myx` текущего проекта.
Для удобства разботки библиотеки MyxCMake можно указать путь
к её репозиторию с помощью переменной проекта CMake `MYX_CMAKE_DIR`
или переменной окружения `MYX_CMAKE_DIR`.
Если определена переменная `MYX_CMAKE_USE_SYSTEM`, то выполняется
поиск версии в каталогах перечисленных в переменной `CMAKE_MODULES_DIR`.
2022-10-06 08:10:43 +00:00
Кроме того выполняется попытка поиска (MyxxCMake)[../../../../myxx] --
расширения для библиотеки, позволяющиего в режиме разработки программного
проекта использовать дополнительные инструменты для его сопровождения.
2022-10-05 08:35:08 +00:00
#]=======================================================================]
2022-10-06 13:28:15 +00:00
if(ENV{MYX_CMAKE_DIR})
set(MYX_CMAKE_DIR $ENV{MYX_CMAKE_DIR})
2022-10-05 08:35:08 +00:00
endif()
2022-10-06 13:28:15 +00:00
if(MYX_CMAKE_DIR)
2022-10-09 01:23:55 +00:00
find_package(MyxCMake 2.0.17 REQUIRED CONFIG PATHS ${MYX_CMAKE_DIR} NO_DEFAULT_PATH)
2022-10-05 08:35:08 +00:00
myx_message_notice("=== MyxCMake directory: ${MyxCMake_CONFIG} ===")
else()
if(MYX_CMAKE_USE_SYSTEM)
2022-10-09 01:23:55 +00:00
find_package(MyxCMake 2.0.17 REQUIRED)
2022-10-05 08:35:08 +00:00
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()
2022-10-06 13:28:15 +00:00
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()
2022-10-06 08:10:43 +00:00