kwsysPlatformCxxTests.cmake 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. MACRO(KWSYS_PLATFORM_CXX_TEST var description invert)
  2. IF("${var}_COMPILED" MATCHES "^${var}_COMPILED$")
  3. MESSAGE(STATUS "${description}")
  4. TRY_COMPILE(${var}_COMPILED
  5. ${CMAKE_CURRENT_BINARY_DIR}
  6. ${CMAKE_CURRENT_SOURCE_DIR}/kwsysPlatformCxxTests.cxx
  7. COMPILE_DEFINITIONS -DTEST_${var} ${KWSYS_PLATFORM_CXX_TEST_DEFINES}
  8. OUTPUT_VARIABLE OUTPUT)
  9. IF(${var}_COMPILED)
  10. FILE(APPEND
  11. ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
  12. "${description} compiled with the following output:\n${OUTPUT}\n\n")
  13. ELSE(${var}_COMPILED)
  14. FILE(APPEND
  15. ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
  16. "${description} failed to compile with the following output:\n${OUTPUT}\n\n")
  17. ENDIF(${var}_COMPILED)
  18. IF(${invert} MATCHES INVERT)
  19. IF(${var}_COMPILED)
  20. MESSAGE(STATUS "${description} - no")
  21. ELSE(${var}_COMPILED)
  22. MESSAGE(STATUS "${description} - yes")
  23. ENDIF(${var}_COMPILED)
  24. ELSE(${invert} MATCHES INVERT)
  25. IF(${var}_COMPILED)
  26. MESSAGE(STATUS "${description} - yes")
  27. ELSE(${var}_COMPILED)
  28. MESSAGE(STATUS "${description} - no")
  29. ENDIF(${var}_COMPILED)
  30. ENDIF(${invert} MATCHES INVERT)
  31. ENDIF("${var}_COMPILED" MATCHES "^${var}_COMPILED$")
  32. IF(${invert} MATCHES INVERT)
  33. IF(${var}_COMPILED)
  34. SET(${var} 0)
  35. ELSE(${var}_COMPILED)
  36. SET(${var} 1)
  37. ENDIF(${var}_COMPILED)
  38. ELSE(${invert} MATCHES INVERT)
  39. IF(${var}_COMPILED)
  40. SET(${var} 1)
  41. ELSE(${var}_COMPILED)
  42. SET(${var} 0)
  43. ENDIF(${var}_COMPILED)
  44. ENDIF(${invert} MATCHES INVERT)
  45. ENDMACRO(KWSYS_PLATFORM_CXX_TEST)