# Минимальная версия CMake, требуемая для сборки проекта cmake_minimum_required(VERSION 3.6 FATAL_ERROR) # Предпочтительно следовать стандартам принятым в указанном диапазоне версий cmake_policy(VERSION 3.6..3.7) # Название и версия проекта и используемые языки программирования project(app VERSION 1.1.1 LANGUAGES CXX) ### # Подключение дополнительных функций для CMake # По умолчанию предполагается использование версии MyxCMake, # файлы которой находятся в каталоге `cmake/myx` текущего проекта. # Если определена переменная `MYX_CMAKE_USE_SYSTEM`, то выполняется # поиск версии в каталогах перечисленных в переменной `CMAKE_MODULES_DIR`. ### if(MYX_CMAKE_USE_SYSTEM) find_package(MyxCMake 1.99.11 REQUIRED) else() include(${PROJECT_SOURCE_DIR}/cmake/myx/MyxCMakeConfig.cmake) endif() # Если проект верхнего уровня, подключаем зависимости # с помощью модуля FetchContent if(PROJECT_IS_TOP_LEVEL) FetchContent_Add(pow GIT_REPOSITORY https://git.246060.ru/cmake/pow GIT_PATH cmake/pow GIT_REMOTE origin ) FetchContent_Add(msg GIT_REPOSITORY https://git.246060.ru/cmake/msg GIT_PATH cmake/msg GIT_REMOTE origin ) endif() # Цель для компиляции объектных файлов разделяемой библиотеки add_executable(${PROJECT_NAME}) myx_target_setup(${PROJECT_NAME} SOURCES ${PROJECT_SOURCE_DIR}/src/app/main.cpp PCH src/app/pch.hpp LINK_LIBRARIES msg pow ) install( TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})