Files
Template/CMakeLists.txt
Fasterino 7de47f45f6 Template
2025-10-22 17:18:48 +03:00

31 lines
1.0 KiB
CMake

cmake_minimum_required(VERSION 3.20)
# === Название проекта ===
project(Template VERSION 1.0 LANGUAGES CXX)
# === Настройки компиляции ===
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
# === Пути к исходникам и заголовкам ===
set(SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src")
set(INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include")
# === Рекурсивный поиск исходников ===
file(GLOB_RECURSE SOURCES "${SRC_DIR}/*.cpp")
# === Создание исполняемого файла ===
add_executable(${PROJECT_NAME} ${SOURCES})
# === Добавляем include-директорию ===
target_include_directories(${PROJECT_NAME} PRIVATE ${INCLUDE_DIR})
# === Рекомендованные предупреждения ===
if (MSVC)
target_compile_options(${PROJECT_NAME} PRIVATE /W4 /permissive-)
else()
target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra -Wpedantic)
endif()