2021-12-09 10:11:14 +00:00
|
|
|
|
# Минимальная версия CMake
|
|
|
|
|
cmake_minimum_required(VERSION 3.3)
|
|
|
|
|
|
|
|
|
|
# Предпочтительно следовать стандартам принятым в указанном диапазоне версий
|
|
|
|
|
cmake_policy(VERSION 3.0.2..3.7)
|
|
|
|
|
|
|
|
|
|
# Название и версия проекта и используемые языки программирования
|
|
|
|
|
project(myx-cmake-example-base VERSION 0.2.0 LANGUAGES C CXX)
|
|
|
|
|
|
|
|
|
|
###
|
|
|
|
|
# Обязательные переменные для MyxCMake
|
|
|
|
|
###
|
|
|
|
|
# Название организации
|
|
|
|
|
set(MYX_CMAKE_ORGANIZATION_NAME "Org." CACHE STRING "")
|
|
|
|
|
|
|
|
|
|
# Имя автора
|
|
|
|
|
set(MYX_CMAKE_AUTHOR_NAME "John Doe" CACHE STRING "")
|
|
|
|
|
|
|
|
|
|
# Почта автора
|
|
|
|
|
set(MYX_CMAKE_AUTHOR_EMAIL "mail@johndoe.com" CACHE STRING "")
|
|
|
|
|
|
|
|
|
|
# Краткое описание проекта
|
|
|
|
|
set(MYX_CMAKE_DESCRIPTION "Пример проекта: начало" CACHE STRING "")
|
|
|
|
|
|
|
|
|
|
find_package(MyxCMake REQUIRED)
|
|
|
|
|
|
2021-12-09 10:23:10 +00:00
|
|
|
|
# Поиск библиотек с помощью pkgconfig
|
|
|
|
|
find_package(PkgConfig REQUIRED)
|
|
|
|
|
pkg_check_modules(GSL REQUIRED gsl)
|
|
|
|
|
pkg_check_modules(FFTW3 REQUIRED fftw3>=3.3.0)
|
|
|
|
|
pkg_check_modules(UDEV udev)
|
|
|
|
|
|
2021-12-09 10:23:35 +00:00
|
|
|
|
# Поиск с помощью функции find_package
|
|
|
|
|
find_package(LibXml2)
|
|
|
|
|
find_package(CURL REQUIRED)
|
|
|
|
|
find_package(Boost 1.55.0 REQUIRED)
|
|
|
|
|
|
2021-12-09 11:44:05 +00:00
|
|
|
|
# Автоматически генерируемый заголовочный файл
|
|
|
|
|
myx_cmake_generate_private_config_header()
|
|
|
|
|
|
2021-12-09 11:44:42 +00:00
|
|
|
|
# Автоматически генерируемый файл с информацией о репозитории
|
|
|
|
|
myx_cmake_generate_git_info_header()
|
|
|
|
|
|