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` текущего проекта.
2023-07-30 07:53:43 +00:00
Для удобства разработки библиотеки MyxCMake можно указать путь
2022-10-05 08:35:08 +00:00
к её репозиторию с помощью переменной проекта CMake `MYX_CMAKE_DIR`
или переменной окружения `MYX_CMAKE_DIR`.
Если определена переменная `MYX_CMAKE_USE_SYSTEM`, то выполняется
поиск версии в каталогах перечисленных в переменной `CMAKE_MODULES_DIR`.
2022-10-06 08:10:43 +00:00
Кроме того выполняется попытка поиска (MyxxCMake)[../../../../myxx] --
2023-07-30 07:53:43 +00:00
расширения для библиотеки, позволяющего в режиме разработки программного
2022-10-06 08:10:43 +00:00
проекта использовать дополнительные инструменты для его сопровождения.
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)
2024-04-10 20:22:41 +00:00
find_package(MyxCMake 2.4.42 REQUIRED CONFIG PATHS ${MYX_CMAKE_DIR} NO_DEFAULT_PATH)
2023-07-30 07:53:43 +00:00
myx_message_notice("== MyxCMake directory: ${MyxCMake_CONFIG} ==")
2022-10-05 08:35:08 +00:00
else()
if(MYX_CMAKE_USE_SYSTEM)
2024-04-10 20:22:41 +00:00
find_package(MyxCMake 2.4.42 REQUIRED)
2023-07-30 07:53:43 +00:00
myx_message_notice("== MyxCMake directory: ${MyxCMake_CONFIG} ==")
2022-10-05 08:35:08 +00:00
else()
include(${PROJECT_SOURCE_DIR}/cmake/myx/MyxCMakeConfig.cmake)
2023-07-30 07:53:43 +00:00
myx_message_notice("== MyxCMake directory: ${PROJECT_SOURCE_DIR}/cmake/myx ==")
2022-10-05 08:35:08 +00:00
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