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