cmake_minimum_required(VERSION 3.2.0) set(CMAKE_EXPORT_COMPILE_COMMANDS 1) set(CMAKE_CXX_STANDARD 20) project(mazerator CXX) file(GLOB SOURCES src/mazerator.cpp src/conversion.cpp src/random_generator.cpp src/app/app.cpp src/app/options.cpp src/engine/vector2.cpp src/engine/bounds.cpp) add_executable(${PROJECT_NAME} ${SOURCES}) target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20) target_compile_options( ${PROJECT_NAME} PRIVATE -Wall -Wextra -Wpedantic -Wshadow -Wold-style-cast -Wcast-align -Wunused -Wconversion -pedantic -fsanitize=address ) target_include_directories(${PROJECT_NAME} PRIVATE src) target_link_options(${PROJECT_NAME} PRIVATE -fsanitize=address)