# Минимальная версия CMake, требуемая для сборки проекта cmake_minimum_required(VERSION 3.6 FATAL_ERROR) # Предпочтительно следовать стандартам принятым в указанном диапазоне версий cmake_policy(VERSION 3.6..3.7) # Название и версия проекта и используемые языки программирования project(msg 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.9 PATHS "${PROJECT_SOURCE_DIR}/cmake/myx" NO_DEFAULT_PATH QUIET 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 ) endif() # Цель для компиляции объектных файлов разделяемой библиотеки myx_add_library(${PROJECT_NAME} OBJECT) # Настройка свойств цели myx_target_setup(${PROJECT_NAME} SOURCES ${PROJECT_SOURCE_DIR}/include/msg/message.hpp ${PROJECT_SOURCE_DIR}/src/msg/message.cpp PCH src/msg/pch.hpp LINK_LIBRARIES pow ) # Команды для установки библиотеки myx_install_library(${PROJECT_NAME})