# Минимальная версия CMake cmake_minimum_required(VERSION 3.6) # Предпочтительно следовать стандартам принятым в указанном диапазоне версий cmake_policy(VERSION 3.0.2..3.7) # Название и версия проекта и используемые языки программирования project(cmlib-example-app-qt5-con VERSION 0.2.0 LANGUAGES C CXX) # Обязательные переменные set(CMLIB_ORGANIZATION_NAME "ECS5" CACHE STRING "") set(CMLIB_AUTHOR_NAME "Андрей Астафьев" CACHE STRING "") set(CMLIB_AUTHOR_EMAIL "dev@246060.ru" CACHE STRING "") set(CMLIB_DESCRIPTION "Пример проекта: консольное приложение Qt5" CACHE STRING "") # В каталоге cmake/cmlib находятся файлы с библиотечными функциями if(NOT DEFINED CMLIB_MAIN_DIR) set(CMLIB_MAIN_DIR "${CMAKE_SOURCE_DIR}/cmake/cmlib") endif() if(IS_DIRECTORY "${CMLIB_MAIN_DIR}" AND EXISTS "${CMLIB_MAIN_DIR}/CMLibCommon.cmake") list(INSERT CMAKE_MODULE_PATH 0 "${CMLIB_MAIN_DIR}") else() message(FATAL_ERROR "CMLib main directory ${CMLIB_MAIN_DIR} does not exists") endif() include(CMLibCommon) # Boost set(Boost_USE_STATIC_LIBS ON) set(Boost_USE_MULTITHREADED OFF) set(Boost_USE_STATIC_RUNTIME ON) find_package(Boost 1.55.0 REQUIRED) # Qt5 find_package(Qt5 COMPONENTS Core REQUIRED) # Автоматически генерируемый заголовочный файл cmlib_generate_private_config_hpp() # Подключение внешних проектов include(ExternalProject) ExternalProject_Add( myxlib SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/myxlib INSTALL_DIR ${CMAKE_BINARY_DIR} DOWNLOAD_COMMAND "" CONFIGURE_COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" ${CMLIB_EXT_PROJ_DEFAULT_ARGS} BUILD_COMMAND true) # Приложение add_subdirectory(src/cmlib-example) # Документация add_breathe_target(doc-breathe) add_doxygen_target(doc-doxygen LATEX YES HTML YES) # Создание вспомогательных символических ссылок add_dependencies(cmlib-example-app-qt5-con create_auxilary_symlinks)