save-to-result.cmake 597 B

12345678910111213141516171819202122
  1. project(${RunCMake_TEST} LANGUAGES C)
  2. check_ipo_supported(RESULT result OUTPUT output)
  3. string(COMPARE EQUAL "${result}" "" is_empty)
  4. if(is_empty)
  5. message(FATAL_ERROR "Result variable is empty")
  6. endif()
  7. string(COMPARE EQUAL "${result}" "YES" is_yes)
  8. string(COMPARE EQUAL "${result}" "NO" is_no)
  9. if(is_yes)
  10. # Compiler supports IPO
  11. elseif(is_no)
  12. # Compiler doesn't support IPO, output should not be empty.
  13. string(COMPARE EQUAL "${output}" "" is_empty)
  14. if(is_empty)
  15. message(FATAL_ERROR "Output is empty")
  16. endif()
  17. else()
  18. message(FATAL_ERROR "Unexpected result: ${result}")
  19. endif()