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