2022-09-30 07:32:45 +00:00
|
|
|
|
# Минимальная версия 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
|
2022-10-01 15:00:08 +00:00
|
|
|
|
# По умолчанию предполагается использование версии MyxCMake,
|
|
|
|
|
# файлы которой находятся в каталоге `cmake/myx` текущего проекта.
|
|
|
|
|
# Если определена переменная `MYX_CMAKE_USE_SYSTEM`, то выполняется
|
|
|
|
|
# поиск версии в каталогах перечисленных в переменной `CMAKE_MODULES_DIR`.
|
2022-09-30 07:32:45 +00:00
|
|
|
|
###
|
2022-10-01 15:00:08 +00:00
|
|
|
|
if(MYX_CMAKE_USE_SYSTEM)
|
|
|
|
|
find_package(MyxCMake 1.99.11 REQUIRED)
|
|
|
|
|
else()
|
|
|
|
|
include(${PROJECT_SOURCE_DIR}/cmake/myx/MyxCMakeConfig.cmake)
|
|
|
|
|
endif()
|
2022-09-30 07:32:45 +00:00
|
|
|
|
|
|
|
|
|
# Если проект верхнего уровня, подключаем зависимости
|
|
|
|
|
# с помощью модуля FetchContent
|
|
|
|
|
if(PROJECT_IS_TOP_LEVEL)
|
2022-10-01 15:00:08 +00:00
|
|
|
|
FetchContent_Add(pow
|
2022-09-30 07:32:45 +00:00
|
|
|
|
GIT_REPOSITORY https://git.246060.ru/cmake/pow
|
2022-10-01 15:00:08 +00:00
|
|
|
|
GIT_PATH cmake/pow
|
|
|
|
|
GIT_REMOTE origin
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
FetchContent_Add(msg
|
2022-09-30 07:32:45 +00:00
|
|
|
|
GIT_REPOSITORY https://git.246060.ru/cmake/msg
|
2022-10-01 15:00:08 +00:00
|
|
|
|
GIT_PATH cmake/msg
|
|
|
|
|
GIT_REMOTE origin
|
|
|
|
|
)
|
2022-09-30 07:32:45 +00:00
|
|
|
|
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
|
|
|
|
|
)
|
2022-10-01 15:03:35 +00:00
|
|
|
|
|
|
|
|
|
install(
|
|
|
|
|
TARGETS ${PROJECT_NAME}
|
|
|
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|