cmex/CMakeLists.txt

66 lines
2.1 KiB
CMake
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Минимальная версия Cmake
cmake_minimum_required(VERSION 3.3)
cmake_policy(VERSION 3.0.2..3.7)
# Название проекта
project(cmex VERSION 0.2.2 LANGUAGES C CXX)
# В каталоге cmake/lib находятся файлы с библиотечными функциями
if(IS_DIRECTORY ${CMAKE_SOURCE_DIR}/cmake/cmlib)
list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/cmlib)
else()
message(FATAL_ERROR "CMake library directory not exists")
endif()
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/find)
include(CMLibCommon)
# Поиск библиотек с помощью pkgconfig
find_package(PkgConfig)
pkg_check_modules(GSL REQUIRED gsl)
pkg_check_modules(FFTW3 REQUIRED fftw3)
# Поиск библиотек и приложений с помощью функции find_package
find_package(LibXml2)
find_package(CURL)
# Поиск библиотеки с помощью функции find_library
find_library(MATHGL mgl PATHS /usr/lib /usr/lib/x86_64-linux-gnu)
find_library(MATHGLQT5 mgl-qt5 PATHS /usr/lib /usr/lib/x86_64-linux-gnu)
# Qt5
find_package(Qt5 COMPONENTS Core Network Gui Widgets DBus Concurrent Sql REQUIRED)
# Автоматически генерируемый заголовочный файл
cmlib_config_hpp_generate()
# Подключение внешних проектов
include(ExternalProject)
ExternalProject_Add(cmext
EXCLUDE_FROM_ALL TRUE
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/libcmext
INSTALL_DIR ${CMAKE_BINARY_DIR}
DOWNLOAD_COMMAND ""
BUILD_BYPRODUCTS <INSTALL_DIR>/lib/libcmext.a
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_BUILD_TYPE=Release
)
# Библиотека
add_subdirectory(src/libcmex)
# Приложение
add_subdirectory(src/cmex)
add_breathe_doc(
SOURCE_DIR ${CMAKE_SOURCE_DIR}/docs/breathe
BUILD_DIR ${CMAKE_BINARY_DIR}
CACHE_DIR ${CMAKE_BINARY_DIR}/_doctrees
HTML_DIR ${CMAKE_BINARY_DIR}/html
DOXY_FILE ${CMAKE_SOURCE_DIR}/docs/breathe/Doxyfile.in
CONF_FILE ${CMAKE_SOURCE_DIR}/docs/breathe/conf.py.in
TARGET_NAME breathe-docs
COMMENT "Breathe HTML documentation"
)