set(message_command "message")
set(final_message "This should not be printed because variable evaluation is deferred too.")
cmake_language(DEFER CALL ${message_command} STATUS "First Deferred Message")
add_subdirectory(defer_call)
cmake_language(DEFER CALL cmake_language DEFER CALL "${final_message_command}" STATUS "${final_message}")
cmake_language(DEFER CALL cmake_language DEFER GET_CALL_IDS ids)
cmake_language(DEFER CALL cmake_language EVAL CODE [[message(STATUS "Deferred Message: ids='${ids}'")]])
cmake_language(DEFER GET_CALL_IDS ids)
message(STATUS "Immediate Message: ids='${ids}'")
set(final_message_command "message")
set(final_message "Final Deferred Message")
set(subdir_message "Deferred Message From Subdirectory")
