diff options
author | Brad King <brad.king@kitware.com> | 2002-12-30 11:02:31 -0500 |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2002-12-30 11:02:31 -0500 |
commit | ea1467d056f4b0e646376f4dc5091dec397a46a8 (patch) | |
tree | 1f16c81824978fb66273aa1cc844f3ec68b0c45e /Modules/CheckTypeSize.cmake | |
parent | 6e4712d6ed606205f9ca4bb5aa2de8ad19c480a7 (diff) | |
download | cmake-ea1467d056f4b0e646376f4dc5091dec397a46a8.tar.gz |
ENH: Renamed Modules/CheckSizeOf to Modules/CheckTypeSize for consistency with the macro name that is defined by the module.
Diffstat (limited to 'Modules/CheckTypeSize.cmake')
-rw-r--r-- | Modules/CheckTypeSize.cmake | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Modules/CheckTypeSize.cmake b/Modules/CheckTypeSize.cmake new file mode 100644 index 0000000000..35dcaaa81f --- /dev/null +++ b/Modules/CheckTypeSize.cmake @@ -0,0 +1,34 @@ +# +# Check if the type exists and determine size of type. if the type +# exists, the size will be stored to the variable. +# +# CHECK_TYPE_SIZE - macro which checks the size of type +# VARIABLE - variable to store size if the type exists. +# + +MACRO(CHECK_TYPE_SIZE TYPE VARIABLE) + IF("${VARIABLE}" MATCHES "^${VARIABLE}$") + SET(MACRO_CHECK_TYPE_SIZE_FLAGS -DCHECK_TYPE_SIZE_TYPE="${TYPE}") + IF(HAVE_SYS_TYPES_H) + SET(MACRO_CHECK_TYPE_SIZE_FLAGS + "${MACRO_CHECK_TYPE_SIZE_FLAGS} -DHAVE_SYS_TYPES_H") + ENDIF(HAVE_SYS_TYPES_H) + IF(HAVE_STDINT_H) + SET(MACRO_CHECK_TYPE_SIZE_FLAGS "${MACRO_CHECK_TYPE_SIZE_FLAGS} -DHAVE_STDINT_H") + ENDIF(HAVE_STDINT_H) + MESSAGE(STATUS "Check size of ${TYPE}") + TRY_RUN(${VARIABLE} HAVE_${VARIABLE} + ${CMAKE_BINARY_DIR} + ${CMAKE_ROOT}/Modules/CheckTypeSize.c + CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_TYPE_SIZE_FLAGS} + OUTPUT_VARIABLE OUTPUT) + IF(HAVE_${VARIABLE}) + MESSAGE(STATUS "Check size of ${TYPE} - done") + ELSE(HAVE_${VARIABLE}) + MESSAGE(STATUS "Check size of ${TYPE} - failed") + WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log + "Determining size of ${TYPE} failed with the following output:\n${OUTPUT}\n" + APPEND) + ENDIF(HAVE_${VARIABLE}) + ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$") +ENDMACRO(CHECK_TYPE_SIZE) |