app/CMakeLists.txt

47 lines
1.6 KiB
CMake
Raw Normal View History

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
###
find_package(MyxCMake 1.99.9 PATHS ${PROJECT_SOURCE_DIR}/cmake/myx NO_DEFAULT_PATH CONFIG QUIET REQUIRED)
# Если проект верхнего уровня, подключаем зависимости
# с помощью модуля FetchContent
if(PROJECT_IS_TOP_LEVEL)
include(FetchContent)
FetchContent_Declare(pow
GIT_REPOSITORY https://git.246060.ru/cmake/pow
)
if(NOT pow_POPULATED)
FetchContent_Populate(pow)
add_subdirectory(${pow_SOURCE_DIR} ${pow_BINARY_DIR})
endif()
FetchContent_Declare(msg
GIT_REPOSITORY https://git.246060.ru/cmake/msg
)
if(NOT msg_POPULATED)
FetchContent_Populate(msg)
add_subdirectory(${msg_SOURCE_DIR} ${msg_BINARY_DIR})
endif()
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
)