1
0

RunCMakeTest.cmake 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. include(RunCMake)
  2. run_cmake(NotAFeature)
  3. run_cmake(NotAFeatureGenex)
  4. run_cmake(NotAFeatureTransitive)
  5. run_cmake(NotAFeature_OriginDebug)
  6. run_cmake(NotAFeature_OriginDebugGenex)
  7. run_cmake(NotAFeature_OriginDebugTransitive)
  8. run_cmake(NotAFeature_OriginDebug_target_compile_features)
  9. run_cmake(generate_feature_list)
  10. file(READ
  11. "${RunCMake_BINARY_DIR}/generate_feature_list-build/c_features.txt"
  12. C_FEATURES
  13. )
  14. file(READ
  15. "${RunCMake_BINARY_DIR}/generate_feature_list-build/cxx_features.txt"
  16. CXX_FEATURES
  17. )
  18. if (NOT C_FEATURES)
  19. run_cmake(NoSupportedCFeatures)
  20. run_cmake(NoSupportedCFeaturesGenex)
  21. endif()
  22. if (NOT CXX_FEATURES)
  23. run_cmake(NoSupportedCxxFeatures)
  24. run_cmake(NoSupportedCxxFeaturesGenex)
  25. else()
  26. run_cmake(LinkImplementationFeatureCycle)
  27. run_cmake(LinkImplementationFeatureCycleSolved)
  28. if (";${CXX_FEATURES};" MATCHES ";cxx_final;")
  29. set(RunCMake_TEST_OPTIONS "-DHAVE_FINAL=1")
  30. endif()
  31. run_cmake(NonValidTarget1)
  32. run_cmake(NonValidTarget2)
  33. unset(RunCMake_TEST_OPTIONS)
  34. endif()
  35. foreach(standard 98 11)
  36. file(READ
  37. "${RunCMake_BINARY_DIR}/generate_feature_list-build/cxx${standard}_flag.txt"
  38. CXX${standard}_FLAG
  39. )
  40. if (CXX${standard}_FLAG STREQUAL NOTFOUND)
  41. run_cmake(RequireCXX${standard})
  42. run_cmake(RequireCXX${standard}Variable)
  43. endif()
  44. if (CXX${standard}EXT_FLAG STREQUAL NOTFOUND)
  45. run_cmake(RequireCXX${standard}Ext)
  46. run_cmake(RequireCXX${standard}ExtVariable)
  47. endif()
  48. endforeach()