myxlib/CMakeLists.txt

60 lines
1.7 KiB
CMake
Raw Normal View History

2019-10-02 10:47:26 +00:00
# Минимальная версия Cmake
cmake_minimum_required(VERSION 3.3)
cmake_policy(VERSION 3.0.2..3.7)
# Название проекта
project(myx VERSION 0.3.0 LANGUAGES C CXX)
set(CPACK_GENERATOR "TXZ;DEB")
set(CPACK_PACKAGE_CONTACT "dev@246060.ru")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Mixed functions")
set(CPACK_DEBIAN_PACKAGE_SECTION "misc")
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
# В каталоге 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)
option(BUILD_EXAMPLES "Build examples" OFF)
2019-10-02 10:47:26 +00:00
# Поиск библиотек с помощью pkgconfig
find_package(PkgConfig)
# Qt5
find_package(Qt5 COMPONENTS Core Network Gui Widgets DBus Concurrent Sql REQUIRED)
2019-10-02 10:47:26 +00:00
pkg_check_modules(FMT fmt>=5.3.0)
pkg_check_modules(SPDLOG spdlog>=1.3.1)
2019-10-02 10:47:26 +00:00
# Автоматически генерируемый заголовочный файл
cmlib_config_hpp_generate()
configure_file(${CMAKE_SOURCE_DIR}/src/myx/base/config_flags.hpp.in
${CMAKE_BINARY_DIR}/include/config_flags.hpp)
2019-10-02 10:47:26 +00:00
# Подключение внешних проектов
include(ExternalProject)
# Библиотеки
add_subdirectory(src/myx/base)
add_subdirectory(src/myx/filesystem)
add_subdirectory(src/myx/log)
add_subdirectory(src/myx/qt)
2019-10-13 06:29:02 +00:00
add_subdirectory(doc)
2019-10-02 10:47:26 +00:00
# Примеры
if (BUILD_EXAMPLES)
add_subdirectory(examples/filesystem)
add_subdirectory(examples/log)
add_subdirectory(examples/qt)
endif()
2019-10-02 10:47:26 +00:00
add_subdirectory(doc)