From 75d1546476bfe03427513e561963e26e88a374fd Mon Sep 17 00:00:00 2001 From: PM Date: Fri, 5 Sep 2025 17:10:17 -0300 Subject: [PATCH] Check flags availability for sanitization --- examples/cpp-project-example/CMakeLists.txt | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/examples/cpp-project-example/CMakeLists.txt b/examples/cpp-project-example/CMakeLists.txt index 4ddcf39..1896196 100644 --- a/examples/cpp-project-example/CMakeLists.txt +++ b/examples/cpp-project-example/CMakeLists.txt @@ -2,9 +2,19 @@ cmake_minimum_required(VERSION 3.27) project(clay_examples_cpp_project_example CXX) set(CMAKE_CXX_STANDARD 20) -if(NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer -g") -endif() + +macro(add_checked_flag FLAG) + include(CheckCXXCompilerFlag) + check_cxx_compiler_flag("${FLAG}" SUPPORTED) + if(SUPPORTED) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAG}") + else() + message(WARNING "${FLAG} not supported") + endif() +endmacro() + +add_checked_flag("-fsanitize=address") +add_checked_flag("-fno-omit-frame-pointer") add_executable(clay_examples_cpp_project_example main.cpp)