cmake: don't check c++ compiler flags for asan when CXX is not enabled

Backport of fd2b9c0602 to SDL2
This commit is contained in:
Cameron Gutman committed 2024-09-21 12:14:53 -05:00
1 parent c43b976e5b
commit a4a8a29075
1 file changed
+12 -8
+12 -8
View File
@@ -3210,9 +3210,11 @@ macro(check_add_debug_flag FLAG SUFFIX)
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${FLAG}") set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${FLAG}")
endif() endif()
check_cxx_compiler_flag(${FLAG} HAS_CXX_${SUFFIX}) if(CMAKE_CXX_COMPILER)
if (HAS_CXX_${SUFFIX}) check_cxx_compiler_flag(${FLAG} HAS_CXX_${SUFFIX})
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${FLAG}") if (HAS_CXX_${SUFFIX})
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${FLAG}")
endif()
endif() endif()
endmacro() endmacro()
@@ -3231,18 +3233,20 @@ macro(asan_check_add_debug_flag2 ASAN_FLAG)
set (STORED_REQLIBS ${CMAKE_REQUIRED_LIBRARIES}) set (STORED_REQLIBS ${CMAKE_REQUIRED_LIBRARIES})
set (CMAKE_REQUIRED_LIBRARIES "${FLAG};asan") set (CMAKE_REQUIRED_LIBRARIES "${FLAG};asan")
check_c_compiler_flag (${FLAG} HAS_C_FLAG_${ASAN_FLAG})
check_cxx_compiler_flag (${FLAG} HAS_CXX_FLAG_${ASAN_FLAG})
set (CMAKE_REQUIRED_LIBRARIES ${STORED_REQLIBS})
check_c_compiler_flag (${FLAG} HAS_C_FLAG_${ASAN_FLAG})
if (HAS_C_FLAG_${ASAN_FLAG}) if (HAS_C_FLAG_${ASAN_FLAG})
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${FLAG}") set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${FLAG}")
endif() endif()
if (HAS_CXX_${ASAN_FLAG}) if(CMAKE_CXX_COMPILER)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${FLAG}") check_cxx_compiler_flag (${FLAG} HAS_CXX_FLAG_${ASAN_FLAG})
if (HAS_CXX_${ASAN_FLAG})
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${FLAG}")
endif()
endif() endif()
set (CMAKE_REQUIRED_LIBRARIES ${STORED_REQLIBS})
if(HAS_C_${ASAN_FLAG} OR HAS_CXX_${ASAN_FLAG}) if(HAS_C_${ASAN_FLAG} OR HAS_CXX_${ASAN_FLAG})
set(HAVE_ASAN ON) set(HAVE_ASAN ON)
endif() endif()