mirror of
https://github.com/PCRE2Project/pcre2.git
synced 2025-10-17 07:04:13 +08:00
36 lines
1.2 KiB
CMake
36 lines
1.2 KiB
CMake
# This file can be removed once the minimum CMake version is increased to 3.24
|
|
# or higher. Calls to pcre2_warning_as_error can be changed to the built in
|
|
# CMAKE_C_COMPILE_OPTIONS_WARNING_AS_ERROR.
|
|
|
|
function(pcre2_warning_as_error out_var)
|
|
set(${out_var} "" PARENT_SCOPE)
|
|
|
|
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.24)
|
|
# Since CMake 3.24, we should use the CMAKE_C_COMPILE_OPTIONS_WARNING_AS_ERROR
|
|
# variable for greatest compiler compatibility.
|
|
if(DEFINED CMAKE_C_COMPILE_OPTIONS_WARNING_AS_ERROR)
|
|
set(${out_var} "${CMAKE_C_COMPILE_OPTIONS_WARNING_AS_ERROR}" PARENT_SCOPE)
|
|
endif()
|
|
else()
|
|
# The fallback probes for support, trying a few common flags.
|
|
|
|
if(NOT MSVC)
|
|
include(CheckCCompilerFlag)
|
|
include(CMakePushCheckState)
|
|
|
|
cmake_push_check_state(RESET)
|
|
check_c_compiler_flag("-Werror" HAVE_WERROR)
|
|
if(HAVE_WERROR)
|
|
set(${out_var} "-Werror" PARENT_SCOPE)
|
|
else()
|
|
check_c_compiler_flag("-errwarn=%all" HAVE_ERRWARN_ALL)
|
|
if(HAVE_ERRWARN_ALL)
|
|
set(${out_var} "-errwarn=%all" PARENT_SCOPE)
|
|
endif()
|
|
endif()
|
|
|
|
cmake_pop_check_state()
|
|
endif()
|
|
endif()
|
|
endfunction()
|