cmaking-moves/CMakeLists.txt
2025-12-23 11:06:42 -10:00

41 lines
778 B
CMake

cmake_minimum_required(VERSION 3.28)
# Define the project
project("CMake test")
# Create a compile_commands.json in the build directory
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# Setup some CPP stuff
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
set(CMAKE_CXX_EXTENSIONS TRUE)
# Compile flags
set(CMAKE_CXX_FLAGS "\
-Wall \
-Werror")
set(CMAKE_CXX_FLAGS_DEBUG "\
-g3 \
-O")
set(CMAKE_CXX_FLAGS_RELEASE "\
-g0 \
-O3")
# Call the CMakeLists.txt in src
add_subdirectory(src)
if (BUILD_TESTING)
include (FetchContent)
FetchContent_Declare(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG v1.17.0)
FetchContent_MakeAvailable(googletest)
enable_testing()
add_subdirectory(test)
endif()