|
|
@ -1,17 +1,20 @@ |
|
|
|
MACRO(KWSYS_PLATFORM_CXX_TEST var description invert) |
|
|
|
SET(KWSYS_PLATFORM_TEST_FILE_C kwsysPlatformTestsC.cxx) |
|
|
|
SET(KWSYS_PLATFORM_TEST_FILE_CXX kwsysPlatformTestsCXX.cxx) |
|
|
|
|
|
|
|
MACRO(KWSYS_PLATFORM_TEST lang var description invert) |
|
|
|
IF("${var}_COMPILED" MATCHES "^${var}_COMPILED$") |
|
|
|
MESSAGE(STATUS "${description}") |
|
|
|
TRY_COMPILE(${var}_COMPILED |
|
|
|
${CMAKE_CURRENT_BINARY_DIR} |
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/kwsysPlatformCxxTests.cxx |
|
|
|
COMPILE_DEFINITIONS -DTEST_${var} ${KWSYS_PLATFORM_CXX_TEST_DEFINES} ${KWSYS_PLATFORM_CXX_TEST_EXTRA_FLAGS} |
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/${KWSYS_PLATFORM_TEST_FILE_${lang}} |
|
|
|
COMPILE_DEFINITIONS -DTEST_${var} ${KWSYS_PLATFORM_TEST_DEFINES} ${KWSYS_PLATFORM_TEST_EXTRA_FLAGS} |
|
|
|
OUTPUT_VARIABLE OUTPUT) |
|
|
|
IF(${var}_COMPILED) |
|
|
|
FILE(APPEND |
|
|
|
FILE(APPEND |
|
|
|
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log |
|
|
|
"${description} compiled with the following output:\n${OUTPUT}\n\n") |
|
|
|
ELSE(${var}_COMPILED) |
|
|
|
FILE(APPEND |
|
|
|
FILE(APPEND |
|
|
|
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log |
|
|
|
"${description} failed to compile with the following output:\n${OUTPUT}\n\n") |
|
|
|
ENDIF(${var}_COMPILED) |
|
|
@ -42,15 +45,15 @@ MACRO(KWSYS_PLATFORM_CXX_TEST var description invert) |
|
|
|
SET(${var} 0) |
|
|
|
ENDIF(${var}_COMPILED) |
|
|
|
ENDIF(${invert} MATCHES INVERT) |
|
|
|
ENDMACRO(KWSYS_PLATFORM_CXX_TEST) |
|
|
|
ENDMACRO(KWSYS_PLATFORM_TEST) |
|
|
|
|
|
|
|
MACRO(KWSYS_PLATFORM_CXX_TEST_RUN var description invert) |
|
|
|
MACRO(KWSYS_PLATFORM_TEST_RUN lang var description invert) |
|
|
|
IF("${var}" MATCHES "^${var}$") |
|
|
|
MESSAGE(STATUS "${description}") |
|
|
|
TRY_RUN(${var} ${var}_COMPILED |
|
|
|
${CMAKE_CURRENT_BINARY_DIR} |
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/kwsysPlatformCxxTests.cxx |
|
|
|
COMPILE_DEFINITIONS -DTEST_${var} ${KWSYS_PLATFORM_CXX_TEST_DEFINES} ${KWSYS_PLATFORM_CXX_TEST_EXTRA_FLAGS} |
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/${KWSYS_PLATFORM_TEST_FILE_${lang}} |
|
|
|
COMPILE_DEFINITIONS -DTEST_${var} ${KWSYS_PLATFORM_TEST_DEFINES} ${KWSYS_PLATFORM_TEST_EXTRA_FLAGS} |
|
|
|
OUTPUT_VARIABLE OUTPUT) |
|
|
|
|
|
|
|
# Note that ${var} will be a 0 return value on success. |
|
|
@ -115,4 +118,36 @@ MACRO(KWSYS_PLATFORM_CXX_TEST_RUN var description invert) |
|
|
|
SET(${var} 0) |
|
|
|
ENDIF(${var}_COMPILED) |
|
|
|
ENDIF(${invert} MATCHES INVERT) |
|
|
|
ENDMACRO(KWSYS_PLATFORM_TEST_RUN) |
|
|
|
|
|
|
|
MACRO(KWSYS_PLATFORM_C_TEST var description invert) |
|
|
|
SET(KWSYS_PLATFORM_TEST_DEFINES ${KWSYS_PLATFORM_C_TEST_DEFINES}) |
|
|
|
SET(KWSYS_PLATFORM_TEST_EXTRA_FLAGS ${KWSYS_PLATFORM_C_TEST_EXTRA_FLAGS}) |
|
|
|
KWSYS_PLATFORM_TEST(C "${var}" "${description}" "${invert}") |
|
|
|
SET(KWSYS_PLATFORM_TEST_DEFINES) |
|
|
|
SET(KWSYS_PLATFORM_TEST_EXTRA_FLAGS) |
|
|
|
ENDMACRO(KWSYS_PLATFORM_C_TEST) |
|
|
|
|
|
|
|
MACRO(KWSYS_PLATFORM_C_TEST_RUN var description invert) |
|
|
|
SET(KWSYS_PLATFORM_TEST_DEFINES ${KWSYS_PLATFORM_C_TEST_DEFINES}) |
|
|
|
SET(KWSYS_PLATFORM_TEST_EXTRA_FLAGS ${KWSYS_PLATFORM_C_TEST_EXTRA_FLAGS}) |
|
|
|
KWSYS_PLATFORM_TEST_RUN(C "${var}" "${description}" "${invert}") |
|
|
|
SET(KWSYS_PLATFORM_TEST_DEFINES) |
|
|
|
SET(KWSYS_PLATFORM_TEST_EXTRA_FLAGS) |
|
|
|
ENDMACRO(KWSYS_PLATFORM_C_TEST_RUN) |
|
|
|
|
|
|
|
MACRO(KWSYS_PLATFORM_CXX_TEST var description invert) |
|
|
|
SET(KWSYS_PLATFORM_TEST_DEFINES ${KWSYS_PLATFORM_CXX_TEST_DEFINES}) |
|
|
|
SET(KWSYS_PLATFORM_TEST_EXTRA_FLAGS ${KWSYS_PLATFORM_CXX_TEST_EXTRA_FLAGS}) |
|
|
|
KWSYS_PLATFORM_TEST(CXX "${var}" "${description}" "${invert}") |
|
|
|
SET(KWSYS_PLATFORM_TEST_DEFINES) |
|
|
|
SET(KWSYS_PLATFORM_TEST_EXTRA_FLAGS) |
|
|
|
ENDMACRO(KWSYS_PLATFORM_CXX_TEST) |
|
|
|
|
|
|
|
MACRO(KWSYS_PLATFORM_CXX_TEST_RUN var description invert) |
|
|
|
SET(KWSYS_PLATFORM_TEST_DEFINES ${KWSYS_PLATFORM_CXX_TEST_DEFINES}) |
|
|
|
SET(KWSYS_PLATFORM_TEST_EXTRA_FLAGS ${KWSYS_PLATFORM_CXX_TEST_EXTRA_FLAGS}) |
|
|
|
KWSYS_PLATFORM_TEST_RUN(CXX "${var}" "${description}" "${invert}") |
|
|
|
SET(KWSYS_PLATFORM_TEST_DEFINES) |
|
|
|
SET(KWSYS_PLATFORM_TEST_EXTRA_FLAGS) |
|
|
|
ENDMACRO(KWSYS_PLATFORM_CXX_TEST_RUN) |