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()