1enable_language(C)
2
3add_library(Unset STATIC empty.c)
4set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
5add_library(SetOn STATIC empty.c)
6set(CMAKE_EXPORT_COMPILE_COMMANDS OFF)
7add_library(SetOff STATIC empty.c)
8
9get_property(_set TARGET Unset PROPERTY EXPORT_COMPILE_COMMANDS)
10if(_set)
11  message(SEND_ERROR "EXPORT_COMPILE_COMMANDS property should be unset for Unset target (got \"${_set}\")")
12endif()
13
14get_property(_on TARGET SetOn PROPERTY EXPORT_COMPILE_COMMANDS)
15if(NOT _on STREQUAL "ON")
16  message(SEND_ERROR "EXPORT_COMPILE_COMMANDS property should be \"ON\" for SetOn target (got \"${_on}\")")
17endif()
18
19get_property(_off TARGET SetOff PROPERTY EXPORT_COMPILE_COMMANDS)
20if(NOT _off STREQUAL "OFF")
21  message(SEND_ERROR "EXPORT_COMPILE_COMMANDS property should be \"OFF\" for SetOff target (got \"${_off}\")")
22endif()
23