2021-09-14 00:13:48 +02:00
|
|
|
|
|
|
|
enable_language (C)
|
2022-11-16 20:14:03 +01:00
|
|
|
include(CheckCCompilerFlag)
|
2021-09-14 00:13:48 +02:00
|
|
|
|
|
|
|
set(C 1) # test that this is tolerated
|
|
|
|
|
2022-11-16 20:14:03 +01:00
|
|
|
if(NOT CMAKE_C_COMPILER_ID STREQUAL "PathScale")
|
|
|
|
set(DD --)
|
2021-09-14 00:13:48 +02:00
|
|
|
endif()
|
|
|
|
|
2022-11-16 20:14:03 +01:00
|
|
|
check_c_compiler_flag("${DD}-_this_is_not_a_flag_" C_BOGUS_FLAG)
|
|
|
|
if(C_BOGUS_FLAG)
|
|
|
|
message(SEND_ERROR "CHECK_C_COMPILER_FLAG() succeeded, but should have failed")
|
2021-09-14 00:13:48 +02:00
|
|
|
endif()
|
2022-11-16 20:14:03 +01:00
|
|
|
unset(C_BOGUS_FLAG CACHE)
|
|
|
|
if(DEFINED C_BOGUS_FLAG)
|
|
|
|
# Verify that CHECK_C_COMPILER_FLAG didn't construct a normal variable
|
|
|
|
message(SEND_ERROR "CHECK_C_COMPILER_FLAG shouldn't construct C_BOGUS_FLAG as a normal variable")
|
2021-09-14 00:13:48 +02:00
|
|
|
endif()
|
2022-04-13 00:32:21 +02:00
|
|
|
|
2022-11-16 20:14:03 +01:00
|
|
|
if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID STREQUAL "LCC")
|
|
|
|
unset(C_STRICT_PROTOTYPES CACHE)
|
|
|
|
CHECK_C_COMPILER_FLAG("-Werror;-Wstrict-prototypes" C_STRICT_PROTOTYPES)
|
|
|
|
if(NOT C_STRICT_PROTOTYPES)
|
|
|
|
message(SEND_ERROR "CHECK_C_COMPILER_FLAG failed -Werror -Wstrict-prototypes")
|
|
|
|
endif()
|
2022-04-13 00:32:21 +02:00
|
|
|
endif()
|