blob: 035be35fb198e8725859cc70cecae1fd174f6707 [file] [edit]
cmake_policy(SET CMP0218 NEW)
function(expect NAME ACTUAL EXPECTED)
if(NOT "${ACTUAL}" STREQUAL "${EXPECTED}")
message(SEND_ERROR "${NAME} is '${ACTUAL}'; should be '${EXPECTED}'")
endif()
endfunction()
if(DEFINED CMAKE_WARN_DEPRECATED)
message(SEND_ERROR "CMAKE_WARN_DEPRECATED should not be defined")
endif()
if(DEFINED CMAKE_ERROR_DEPRECATED)
message(SEND_ERROR "CMAKE_ERROR_DEPRECATED should not be defined")
endif()
cmake_diagnostic(GET CMD_DEPRECATED action)
if(NOT "${action}" STREQUAL "WARN")
message(SEND_ERROR "CMD_DEPRECATED is ${action}; should be WARN")
endif()
# -----------------------------------------------------------------------------
# Setting CMAKE_WARN_DEPRECATED should have no effect on CMD_DEPRECATED
block()
set(CMAKE_WARN_DEPRECATED OFF)
cmake_diagnostic(GET CMD_DEPRECATED action)
if(NOT "${action}" STREQUAL "WARN")
message(SEND_ERROR "CMD_DEPRECATED is ${action}; should be WARN")
endif()
endblock()
# -----------------------------------------------------------------------------
# Setting CMAKE_ERROR_DEPRECATED should have no effect on CMD_DEPRECATED
block()
set(CMAKE_ERROR_DEPRECATED ON)
cmake_diagnostic(GET CMD_DEPRECATED action)
if(NOT "${action}" STREQUAL "WARN")
message(SEND_ERROR "CMD_DEPRECATED is ${action}; should be WARN")
endif()
endblock()
# -----------------------------------------------------------------------------
# Changing CMD_DEPRECATED should have no effect on variables
block()
cmake_diagnostic(SET CMD_DEPRECATED IGNORE)
if(DEFINED CMAKE_WARN_DEPRECATED)
message(SEND_ERROR "CMAKE_WARN_DEPRECATED should not be defined")
endif()
if(DEFINED CMAKE_ERROR_DEPRECATED)
message(SEND_ERROR "CMAKE_ERROR_DEPRECATED should not be defined")
endif()
expect(CMAKE_WARN_DEPRECATED "${CMAKE_WARN_DEPRECATED}" "")
expect(CMAKE_ERROR_DEPRECATED "${CMAKE_ERROR_DEPRECATED}" "")
cmake_diagnostic(SET CMD_DEPRECATED SEND_ERROR)
if(DEFINED CMAKE_WARN_DEPRECATED)
message(SEND_ERROR "CMAKE_WARN_DEPRECATED should not be defined")
endif()
if(DEFINED CMAKE_ERROR_DEPRECATED)
message(SEND_ERROR "CMAKE_ERROR_DEPRECATED should not be defined")
endif()
expect(CMAKE_WARN_DEPRECATED "${CMAKE_WARN_DEPRECATED}" "")
expect(CMAKE_ERROR_DEPRECATED "${CMAKE_ERROR_DEPRECATED}" "")
endblock()