diff options
author | Allen Byrne <byrn@hdfgroup.org> | 2015-08-20 17:03:29 (GMT) |
---|---|---|
committer | Allen Byrne <byrn@hdfgroup.org> | 2015-08-20 17:03:29 (GMT) |
commit | 1b2b0bd5a30cbc4227457abd08f563a8fd8c8b68 (patch) | |
tree | f3e820daa24477263f5fc3efd43bf459865f260b /config/cmake_ext_mod/CheckTypeSize.cmake | |
parent | 1436a07905193713568304dd00b26ca18e982e6f (diff) | |
download | hdf5-1b2b0bd5a30cbc4227457abd08f563a8fd8c8b68.zip hdf5-1b2b0bd5a30cbc4227457abd08f563a8fd8c8b68.tar.gz hdf5-1b2b0bd5a30cbc4227457abd08f563a8fd8c8b68.tar.bz2 |
[svn-r27540] Replace svn:externals with hard copy of files
Diffstat (limited to 'config/cmake_ext_mod/CheckTypeSize.cmake')
-rw-r--r-- | config/cmake_ext_mod/CheckTypeSize.cmake | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/config/cmake_ext_mod/CheckTypeSize.cmake b/config/cmake_ext_mod/CheckTypeSize.cmake new file mode 100644 index 0000000..5095a27 --- /dev/null +++ b/config/cmake_ext_mod/CheckTypeSize.cmake @@ -0,0 +1,50 @@ +# +# 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. +# HAVE_${VARIABLE} - does the variable exists or not +# + +MACRO (HDF_CHECK_TYPE_SIZE TYPE VARIABLE) + set (CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS 1) + if ("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$") + set (MACRO_CHECK_TYPE_SIZE_FLAGS + "-DCHECK_TYPE_SIZE_TYPE=\"${TYPE}\" ${CMAKE_REQUIRED_FLAGS}" + ) + foreach (def HAVE_SYS_TYPES_H HAVE_STDINT_H HAVE_STDDEF_H HAVE_INTTYPES_H) + if ("${def}") + set (MACRO_CHECK_TYPE_SIZE_FLAGS "${MACRO_CHECK_TYPE_SIZE_FLAGS} -D${def}") + endif ("${def}") + endforeach (def) + + message (STATUS "Check size of ${TYPE}") + if (CMAKE_REQUIRED_LIBRARIES) + set (CHECK_TYPE_SIZE_ADD_LIBRARIES + "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}" + ) + endif (CMAKE_REQUIRED_LIBRARIES) + try_run (${VARIABLE} HAVE_${VARIABLE} + ${CMAKE_BINARY_DIR} + ${HDF_RESOURCES_EXT_DIR}/CheckTypeSize.c + CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_TYPE_SIZE_FLAGS} + "${CHECK_TYPE_SIZE_ADD_LIBRARIES}" + OUTPUT_VARIABLE OUTPUT + ) + if (HAVE_${VARIABLE}) + message (STATUS "Check size of ${TYPE} - done") + file (APPEND + ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeOutput.log + "Determining size of ${TYPE} passed with the following output:\n${OUTPUT}\n\n" + ) + else (HAVE_${VARIABLE}) + message (STATUS "Check size of ${TYPE} - failed") + file (APPEND + ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log + "Determining size of ${TYPE} failed with the following output:\n${OUTPUT}\n\n" + ) + endif (HAVE_${VARIABLE}) + endif ("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$") + set (CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS) +ENDMACRO (HDF_CHECK_TYPE_SIZE) |