CheckCXXSourceCompiles.cmake 638 B

12345678910111213141516171819202122232425262728
  1. enable_language (CXX)
  2. include(CheckSourceCompiles)
  3. set(CXX 1) # test that this is tolerated
  4. check_source_compiles(CXX "I don't build" SHOULD_FAIL)
  5. if(SHOULD_FAIL)
  6. message(SEND_ERROR "invalid CXX source didn't fail.")
  7. endif()
  8. check_source_compiles(CXX [=[
  9. #include <vector>
  10. int main() {
  11. return 0;
  12. }
  13. ]=]
  14. SHOULD_BUILD)
  15. if(NOT SHOULD_BUILD)
  16. message(SEND_ERROR "Test fail for valid CXX source.")
  17. endif()
  18. check_source_compiles(CXX "void l(char const (&x)[2]){}; int main() { l(\"\\n\"); return 0;}"
  19. SHOULD_BUILD_COMPLEX)
  20. if(NOT SHOULD_BUILD_COMPLEX)
  21. message(SEND_ERROR "Test fail for valid CXX complex source.")
  22. endif()