diff options
author | Allen Byrne <byrn@hdfgroup.org> | 2014-05-14 19:50:28 (GMT) |
---|---|---|
committer | Allen Byrne <byrn@hdfgroup.org> | 2014-05-14 19:50:28 (GMT) |
commit | 21474f8eeef355d6f21403c14b7de5b54b4da064 (patch) | |
tree | b6638b281f2052f43f59fd7f1701a570d672cd71 /config/cmake/ConfigureChecks.cmake | |
parent | 8f57e86ab9f53cb1770054e69784087695ac14af (diff) | |
download | hdf5-21474f8eeef355d6f21403c14b7de5b54b4da064.zip hdf5-21474f8eeef355d6f21403c14b7de5b54b4da064.tar.gz hdf5-21474f8eeef355d6f21403c14b7de5b54b4da064.tar.bz2 |
[svn-r25188] Implement change to cmake_ext_mod config folder
Tested: local linux
Diffstat (limited to 'config/cmake/ConfigureChecks.cmake')
-rw-r--r-- | config/cmake/ConfigureChecks.cmake | 768 |
1 files changed, 15 insertions, 753 deletions
diff --git a/config/cmake/ConfigureChecks.cmake b/config/cmake/ConfigureChecks.cmake index 9816755..360d5b0 100644 --- a/config/cmake/ConfigureChecks.cmake +++ b/config/cmake/ConfigureChecks.cmake @@ -1,44 +1,11 @@ #----------------------------------------------------------------------------- # Include all the necessary files for macros #----------------------------------------------------------------------------- -include (${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake) -include (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake) -include (${CMAKE_ROOT}/Modules/CheckIncludeFileCXX.cmake) -include (${CMAKE_ROOT}/Modules/CheckIncludeFiles.cmake) -include (${CMAKE_ROOT}/Modules/CheckLibraryExists.cmake) -include (${CMAKE_ROOT}/Modules/CheckSymbolExists.cmake) -include (${CMAKE_ROOT}/Modules/CheckTypeSize.cmake) -include (${CMAKE_ROOT}/Modules/CheckVariableExists.cmake) -include (${CMAKE_ROOT}/Modules/CheckFortranFunctionExists.cmake) -include (${CMAKE_ROOT}/Modules/TestBigEndian.cmake) +set (HDF_PREFIX "H5") +include (${HDF_RESOURCES_EXT_DIR}/ConfigureChecks.cmake) include (${CMAKE_ROOT}/Modules/TestForSTDNamespace.cmake) #----------------------------------------------------------------------------- -# APPLE/Darwin setup -#----------------------------------------------------------------------------- -if (APPLE) - list (LENGTH CMAKE_OSX_ARCHITECTURES ARCH_LENGTH) - if (ARCH_LENGTH GREATER 1) - set (CMAKE_OSX_ARCHITECTURES "" CACHE STRING "" FORCE) - message(FATAL_ERROR "Building Universal Binaries on OS X is NOT supported by the HDF5 project. This is" - "due to technical reasons. The best approach would be build each architecture in separate directories" - "and use the 'lipo' tool to combine them into a single executable or library. The 'CMAKE_OSX_ARCHITECTURES'" - "variable has been set to a blank value which will build the default architecture for this system.") - endif () - set (H5_AC_APPLE_UNIVERSAL_BUILD 0) -endif (APPLE) - -# Check for Darwin (not just Apple - we also want to catch OpenDarwin) -if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - set (H5_HAVE_DARWIN 1) -endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - -# Check for Solaris -if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS") - set (H5_HAVE_SOLARIS 1) -endif (${CMAKE_SYSTEM_NAME} MATCHES "SunOS") - -#----------------------------------------------------------------------------- # Option to Clear File Buffers before write --enable-clear-file-buffers #----------------------------------------------------------------------------- option (HDF5_Enable_Clear_File_Buffers "Securely clear file buffers before writing to file" ON) @@ -98,7 +65,13 @@ if (HDF5_ENABLE_CODESTACK) endif (HDF5_ENABLE_CODESTACK) MARK_AS_ADVANCED (HDF5_ENABLE_CODESTACK) +#----------------------------------------------------------------------------- +# Are we going to use HSIZE_T +#----------------------------------------------------------------------------- option (HDF5_ENABLE_HSIZET "Enable datasets larger than memory" ON) +if (HDF5_ENABLE_HSIZET) + set (${HDF_PREFIX}_HAVE_LARGE_HSIZET 1) +endif (HDF5_ENABLE_HSIZET) # ---------------------------------------------------------------------- # Set the flag to indicate that the machine can handle converting @@ -110,40 +83,6 @@ option (HDF5_ENABLE_HSIZET "Enable datasets larger than memory" ON) # so far we have no check for this set (H5_HAVE_TMPFILE 1) -#----------------------------------------------------------------------------- -# This MACRO checks IF the symbol exists in the library and IF it -# does, it appends library to the list. -#----------------------------------------------------------------------------- -set (LINK_LIBS "") -MACRO (CHECK_LIBRARY_EXISTS_CONCAT LIBRARY SYMBOL VARIABLE) - CHECK_LIBRARY_EXISTS ("${LIBRARY};${LINK_LIBS}" ${SYMBOL} "" ${VARIABLE}) - if (${VARIABLE}) - set (LINK_LIBS ${LINK_LIBS} ${LIBRARY}) - endif (${VARIABLE}) -ENDMACRO (CHECK_LIBRARY_EXISTS_CONCAT) - -# ---------------------------------------------------------------------- -# WINDOWS Hard code Values -# ---------------------------------------------------------------------- - -set (WINDOWS) -if (WIN32) - if (MINGW) - set (H5_HAVE_MINGW 1) - set (WINDOWS 1) # MinGW tries to imitate Windows - set (CMAKE_REQUIRED_FLAGS "-DWIN32_LEAN_AND_MEAN=1 -DNOGDI=1") - endif (MINGW) - set (H5_HAVE_WIN32_API 1) - set (CMAKE_REQUIRED_LIBRARIES "ws2_32.lib;wsock32.lib") - if (NOT UNIX AND NOT CYGWIN AND NOT MINGW) - set (WINDOWS 1) - set (CMAKE_REQUIRED_FLAGS "/DWIN32_LEAN_AND_MEAN=1 /DNOGDI=1") - if (MSVC) - set (H5_HAVE_VISUAL_STUDIO 1) - endif (MSVC) - endif (NOT UNIX AND NOT CYGWIN AND NOT MINGW) -endif (WIN32) - # TODO -------------------------------------------------------------------------- # Should the Default Virtual File Driver be compiled? # This is hard-coded now but option should added to match configure @@ -168,30 +107,6 @@ if (WINDOWS) endif (WINDOWS) if (WINDOWS) - set (H5_HAVE_STDDEF_H 1) - set (H5_HAVE_SYS_STAT_H 1) - set (H5_HAVE_SYS_TYPES_H 1) - set (H5_HAVE_LIBM 1) - set (H5_HAVE_STRDUP 1) - set (H5_HAVE_SYSTEM 1) - set (H5_HAVE_LONGJMP 1) - if (NOT MINGW) - set (H5_HAVE_GETHOSTNAME 1) - endif (NOT MINGW) - if (NOT UNIX AND NOT CYGWIN AND NOT MINGW) - set (H5_HAVE_GETCONSOLESCREENBUFFERINFO 1) - endif (NOT UNIX AND NOT CYGWIN AND NOT MINGW) - set (H5_HAVE_FUNCTION 1) - set (H5_GETTIMEOFDAY_GIVES_TZ 1) - set (H5_HAVE_TIMEZONE 1) - set (H5_HAVE_GETTIMEOFDAY 1) - set (H5_LONE_COLON 0) - if (MINGW) - set (H5_HAVE_WINSOCK2_H 1) - endif (MINGW) - set (H5_HAVE_LIBWS2_32 1) - set (H5_HAVE_LIBWSOCK32 1) - #----------------------------------------------------------------------------- # These tests need to be manually SET for windows since there is currently # something not quite correct with the actual test implementation. This affects @@ -204,97 +119,6 @@ endif (WINDOWS) # END of WINDOWS Hard code Values # ---------------------------------------------------------------------- -if (CYGWIN) - set (H5_HAVE_LSEEK64 0) -endif (CYGWIN) - -#----------------------------------------------------------------------------- -# Check for the math library "m" -#----------------------------------------------------------------------------- -if (NOT WINDOWS) - CHECK_LIBRARY_EXISTS_CONCAT ("m" ceil H5_HAVE_LIBM) - CHECK_LIBRARY_EXISTS_CONCAT ("dl" dlopen H5_HAVE_LIBDL) - CHECK_LIBRARY_EXISTS_CONCAT ("ws2_32" WSAStartup H5_HAVE_LIBWS2_32) - CHECK_LIBRARY_EXISTS_CONCAT ("wsock32" gethostbyname H5_HAVE_LIBWSOCK32) -endif (NOT WINDOWS) - -CHECK_LIBRARY_EXISTS_CONCAT ("ucb" gethostname H5_HAVE_LIBUCB) -CHECK_LIBRARY_EXISTS_CONCAT ("socket" connect H5_HAVE_LIBSOCKET) -CHECK_LIBRARY_EXISTS ("c" gethostbyname "" NOT_NEED_LIBNSL) - -if (NOT NOT_NEED_LIBNSL) - CHECK_LIBRARY_EXISTS_CONCAT ("nsl" gethostbyname H5_HAVE_LIBNSL) -endif (NOT NOT_NEED_LIBNSL) - -# For other tests to use the same libraries -set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${LINK_LIBS}) - -set (USE_INCLUDES "") -if (WINDOWS) - set (USE_INCLUDES ${USE_INCLUDES} "windows.h") -endif (WINDOWS) - -if (NOT WINDOWS) - TEST_BIG_ENDIAN (H5_WORDS_BIGENDIAN) -endif (NOT WINDOWS) - -# For other specific tests, use this MACRO. -MACRO (HDF5_FUNCTION_TEST OTHER_TEST) - if ("H5_${OTHER_TEST}" MATCHES "^H5_${OTHER_TEST}$") - set (MACRO_CHECK_FUNCTION_DEFINITIONS "-D${OTHER_TEST} ${CMAKE_REQUIRED_FLAGS}") - set (OTHER_TEST_ADD_LIBRARIES) - if (CMAKE_REQUIRED_LIBRARIES) - set (OTHER_TEST_ADD_LIBRARIES "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}") - endif (CMAKE_REQUIRED_LIBRARIES) - - foreach (def ${HDF5_EXTRA_TEST_DEFINITIONS}) - set (MACRO_CHECK_FUNCTION_DEFINITIONS "${MACRO_CHECK_FUNCTION_DEFINITIONS} -D${def}=${${def}}") - endforeach (def) - - foreach (def - HAVE_SYS_TIME_H - HAVE_UNISTD_H - HAVE_SYS_TYPES_H - HAVE_SYS_SOCKET_H - ) - if ("${H5_${def}}") - set (MACRO_CHECK_FUNCTION_DEFINITIONS "${MACRO_CHECK_FUNCTION_DEFINITIONS} -D${def}") - endif ("${H5_${def}}") - endforeach (def) - - if (LARGEFILE) - set (MACRO_CHECK_FUNCTION_DEFINITIONS - "${MACRO_CHECK_FUNCTION_DEFINITIONS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE" - ) - endif (LARGEFILE) - - #message (STATUS "Performing ${OTHER_TEST}") - TRY_COMPILE (${OTHER_TEST} - ${CMAKE_BINARY_DIR} - ${HDF5_RESOURCES_DIR}/HDF5Tests.c - CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS} - "${OTHER_TEST_ADD_LIBRARIES}" - OUTPUT_VARIABLE OUTPUT - ) - if (${OTHER_TEST}) - set (H5_${OTHER_TEST} 1 CACHE INTERNAL "Other test ${FUNCTION}") - message (STATUS "Performing Other Test ${OTHER_TEST} - Success") - else (${OTHER_TEST}) - message (STATUS "Performing Other Test ${OTHER_TEST} - Failed") - set (H5_${OTHER_TEST} "" CACHE INTERNAL "Other test ${FUNCTION}") - file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log - "Performing Other Test ${OTHER_TEST} failed with the following output:\n" - "${OUTPUT}\n" - ) - endif (${OTHER_TEST}) - endif ("H5_${OTHER_TEST}" MATCHES "^H5_${OTHER_TEST}$") -ENDMACRO (HDF5_FUNCTION_TEST) - -#----------------------------------------------------------------------------- -# Check for these functions before the time headers are checked -#----------------------------------------------------------------------------- -HDF5_FUNCTION_TEST (STDC_HEADERS) - CHECK_FUNCTION_EXISTS (difftime H5_HAVE_DIFFTIME) #CHECK_FUNCTION_EXISTS (gettimeofday H5_HAVE_GETTIMEOFDAY) # Since gettimeofday is not defined any where standard, lets look in all the @@ -303,7 +127,7 @@ if (NOT MSVC) if ("H5_HAVE_TIME_GETTIMEOFDAY" MATCHES "^H5_HAVE_TIME_GETTIMEOFDAY$") TRY_COMPILE (HAVE_TIME_GETTIMEOFDAY ${CMAKE_BINARY_DIR} - ${HDF5_RESOURCES_DIR}/GetTimeOfDayTest.cpp + ${HDF_RESOURCES_EXT_DIR}/GetTimeOfDayTest.cpp COMPILE_DEFINITIONS -DTRY_TIME_H OUTPUT_VARIABLE OUTPUT ) @@ -316,7 +140,7 @@ if (NOT MSVC) if ("H5_HAVE_SYS_TIME_GETTIMEOFDAY" MATCHES "^H5_HAVE_SYS_TIME_GETTIMEOFDAY$") TRY_COMPILE (HAVE_SYS_TIME_GETTIMEOFDAY ${CMAKE_BINARY_DIR} - ${HDF5_RESOURCES_DIR}/GetTimeOfDayTest.cpp + ${HDF_RESOURCES_EXT_DIR}/GetTimeOfDayTest.cpp COMPILE_DEFINITIONS -DTRY_SYS_TIME_H OUTPUT_VARIABLE OUTPUT ) @@ -354,426 +178,6 @@ endif (NOT WINDOWS) #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- -# Check IF header file exists and add it to the list. -#----------------------------------------------------------------------------- -MACRO (CHECK_INCLUDE_FILE_CONCAT FILE VARIABLE) - CHECK_INCLUDE_FILES ("${USE_INCLUDES};${FILE}" ${VARIABLE}) - if (${VARIABLE}) - set (USE_INCLUDES ${USE_INCLUDES} ${FILE}) - endif (${VARIABLE}) -ENDMACRO (CHECK_INCLUDE_FILE_CONCAT) - -#----------------------------------------------------------------------------- -# Check for the existence of certain header files -#----------------------------------------------------------------------------- -CHECK_INCLUDE_FILE_CONCAT ("sys/resource.h" H5_HAVE_SYS_RESOURCE_H) -CHECK_INCLUDE_FILE_CONCAT ("sys/time.h" H5_HAVE_SYS_TIME_H) -CHECK_INCLUDE_FILE_CONCAT ("unistd.h" H5_HAVE_UNISTD_H) -CHECK_INCLUDE_FILE_CONCAT ("sys/ioctl.h" H5_HAVE_SYS_IOCTL_H) -CHECK_INCLUDE_FILE_CONCAT ("sys/stat.h" H5_HAVE_SYS_STAT_H) -CHECK_INCLUDE_FILE_CONCAT ("sys/socket.h" H5_HAVE_SYS_SOCKET_H) -CHECK_INCLUDE_FILE_CONCAT ("sys/types.h" H5_HAVE_SYS_TYPES_H) -CHECK_INCLUDE_FILE_CONCAT ("stddef.h" H5_HAVE_STDDEF_H) -CHECK_INCLUDE_FILE_CONCAT ("setjmp.h" H5_HAVE_SETJMP_H) -CHECK_INCLUDE_FILE_CONCAT ("features.h" H5_HAVE_FEATURES_H) -CHECK_INCLUDE_FILE_CONCAT ("dirent.h" H5_HAVE_DIRENT_H) -CHECK_INCLUDE_FILE_CONCAT ("stdint.h" H5_HAVE_STDINT_H) - -# IF the c compiler found stdint, check the C++ as well. On some systems this -# file will be found by C but not C++, only do this test IF the C++ compiler -# has been initialized (e.g. the project also includes some c++) -if (H5_HAVE_STDINT_H AND CMAKE_CXX_COMPILER_LOADED) - CHECK_INCLUDE_FILE_CXX ("stdint.h" H5_HAVE_STDINT_H_CXX) - if (NOT H5_HAVE_STDINT_H_CXX) - set (H5_HAVE_STDINT_H "" CACHE INTERNAL "Have includes HAVE_STDINT_H") - set (USE_INCLUDES ${USE_INCLUDES} "stdint.h") - endif (NOT H5_HAVE_STDINT_H_CXX) -endif (H5_HAVE_STDINT_H AND CMAKE_CXX_COMPILER_LOADED) - -# Darwin -CHECK_INCLUDE_FILE_CONCAT ("mach/mach_time.h" H5_HAVE_MACH_MACH_TIME_H) - -# Windows -CHECK_INCLUDE_FILE_CONCAT ("io.h" H5_HAVE_IO_H) -if (NOT CYGWIN) - CHECK_INCLUDE_FILE_CONCAT ("winsock2.h" H5_HAVE_WINSOCK2_H) -endif (NOT CYGWIN) -CHECK_INCLUDE_FILE_CONCAT ("sys/timeb.h" H5_HAVE_SYS_TIMEB_H) - -if (CMAKE_SYSTEM_NAME MATCHES "OSF") - CHECK_INCLUDE_FILE_CONCAT ("sys/sysinfo.h" H5_HAVE_SYS_SYSINFO_H) - CHECK_INCLUDE_FILE_CONCAT ("sys/proc.h" H5_HAVE_SYS_PROC_H) -else (CMAKE_SYSTEM_NAME MATCHES "OSF") - set (H5_HAVE_SYS_SYSINFO_H "" CACHE INTERNAL "" FORCE) - set (H5_HAVE_SYS_PROC_H "" CACHE INTERNAL "" FORCE) -endif (CMAKE_SYSTEM_NAME MATCHES "OSF") - -CHECK_INCLUDE_FILE_CONCAT ("globus/common.h" H5_HAVE_GLOBUS_COMMON_H) -CHECK_INCLUDE_FILE_CONCAT ("pdb.h" H5_HAVE_PDB_H) -CHECK_INCLUDE_FILE_CONCAT ("pthread.h" H5_HAVE_PTHREAD_H) -CHECK_INCLUDE_FILE_CONCAT ("srbclient.h" H5_HAVE_SRBCLIENT_H) -CHECK_INCLUDE_FILE_CONCAT ("string.h" H5_HAVE_STRING_H) -CHECK_INCLUDE_FILE_CONCAT ("strings.h" H5_HAVE_STRINGS_H) -CHECK_INCLUDE_FILE_CONCAT ("time.h" H5_HAVE_TIME_H) -CHECK_INCLUDE_FILE_CONCAT ("stdlib.h" H5_HAVE_STDLIB_H) -CHECK_INCLUDE_FILE_CONCAT ("memory.h" H5_HAVE_MEMORY_H) -CHECK_INCLUDE_FILE_CONCAT ("dlfcn.h" H5_HAVE_DLFCN_H) -CHECK_INCLUDE_FILE_CONCAT ("inttypes.h" H5_HAVE_INTTYPES_H) -CHECK_INCLUDE_FILE_CONCAT ("netinet/in.h" H5_HAVE_NETINET_IN_H) - -#----------------------------------------------------------------------------- -# Check for large file support -#----------------------------------------------------------------------------- - -# The linux-lfs option is deprecated. -set (LINUX_LFS 0) - -set (HDF5_EXTRA_C_FLAGS) -set (HDF5_EXTRA_FLAGS) -if (NOT WINDOWS) - if (NOT H5_HAVE_SOLARIS) - # Linux Specific flags - # This was originally defined as _POSIX_SOURCE which was updated to - # _POSIX_C_SOURCE=199506L to expose a greater amount of POSIX - # functionality so clock_gettime and CLOCK_MONOTONIC are defined - # correctly. - # POSIX feature information can be found in the gcc manual at: - # http://www.gnu.org/s/libc/manual/html_node/Feature-Test-Macros.html - set (HDF5_EXTRA_C_FLAGS -D_POSIX_C_SOURCE=199506L) - set (HDF5_EXTRA_FLAGS -D_BSD_SOURCE) - - option (HDF5_ENABLE_LARGE_FILE "Enable support for large (64-bit) files on Linux." ON) - if (HDF5_ENABLE_LARGE_FILE) - set (msg "Performing TEST_LFS_WORKS") - TRY_RUN (TEST_LFS_WORKS_RUN TEST_LFS_WORKS_COMPILE - ${HDF5_BINARY_DIR}/CMake - ${HDF5_RESOURCES_DIR}/HDF5Tests.c - CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=-DTEST_LFS_WORKS - OUTPUT_VARIABLE OUTPUT - ) - if (TEST_LFS_WORKS_COMPILE) - if (TEST_LFS_WORKS_RUN MATCHES 0) - set (TEST_LFS_WORKS 1 CACHE INTERNAL ${msg}) - set (LARGEFILE 1) - set (HDF5_EXTRA_FLAGS ${HDF5_EXTRA_FLAGS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE) - message (STATUS "${msg}... yes") - else (TEST_LFS_WORKS_RUN MATCHES 0) - set (TEST_LFS_WORKS "" CACHE INTERNAL ${msg}) - message (STATUS "${msg}... no") - file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log - "Test TEST_LFS_WORKS Run failed with the following output and exit code:\n ${OUTPUT}\n" - ) - endif (TEST_LFS_WORKS_RUN MATCHES 0) - else (TEST_LFS_WORKS_COMPILE ) - set (TEST_LFS_WORKS "" CACHE INTERNAL ${msg}) - message (STATUS "${msg}... no") - file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log - "Test TEST_LFS_WORKS Compile failed with the following output:\n ${OUTPUT}\n" - ) - endif (TEST_LFS_WORKS_COMPILE) - endif (HDF5_ENABLE_LARGE_FILE) - set (CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} ${HDF5_EXTRA_FLAGS}) - endif (NOT H5_HAVE_SOLARIS) -endif (NOT WINDOWS) - -add_definitions (${HDF5_EXTRA_FLAGS}) - -#----------------------------------------------------------------------------- -# Check for HAVE_OFF64_T functionality -#----------------------------------------------------------------------------- -if (NOT WINDOWS OR MINGW) - HDF5_FUNCTION_TEST (HAVE_OFF64_T) - if (H5_HAVE_OFF64_T) - CHECK_FUNCTION_EXISTS (lseek64 H5_HAVE_LSEEK64) - CHECK_FUNCTION_EXISTS (fseeko64 H5_HAVE_FSEEKO64) - CHECK_FUNCTION_EXISTS (ftello64 H5_HAVE_FTELLO64) - CHECK_FUNCTION_EXISTS (ftruncate64 H5_HAVE_FTRUNCATE64) - endif (H5_HAVE_OFF64_T) - - CHECK_FUNCTION_EXISTS (fseeko H5_HAVE_FSEEKO) - CHECK_FUNCTION_EXISTS (ftello H5_HAVE_FTELLO) - - HDF5_FUNCTION_TEST (HAVE_STAT64_STRUCT) - if (HAVE_STAT64_STRUCT) - CHECK_FUNCTION_EXISTS (fstat64 H5_HAVE_FSTAT64) - CHECK_FUNCTION_EXISTS (stat64 H5_HAVE_STAT64) - endif (HAVE_STAT64_STRUCT) -endif (NOT WINDOWS OR MINGW) - -#----------------------------------------------------------------------------- -# Check the size in bytes of all the int and float types -#----------------------------------------------------------------------------- -MACRO (H5_CHECK_TYPE_SIZE type var) - set (aType ${type}) - set (aVar ${var}) -# message (STATUS "Checking size of ${aType} and storing into ${aVar}") - CHECK_TYPE_SIZE (${aType} ${aVar}) - if (NOT ${aVar}) - set (${aVar} 0 CACHE INTERNAL "SizeOf for ${aType}") -# message (STATUS "Size of ${aType} was NOT Found") - endif (NOT ${aVar}) -ENDMACRO (H5_CHECK_TYPE_SIZE) - -H5_CHECK_TYPE_SIZE (char H5_SIZEOF_CHAR) -H5_CHECK_TYPE_SIZE (short H5_SIZEOF_SHORT) -H5_CHECK_TYPE_SIZE (int H5_SIZEOF_INT) -H5_CHECK_TYPE_SIZE (unsigned H5_SIZEOF_UNSIGNED) -if (NOT APPLE) - H5_CHECK_TYPE_SIZE (long H5_SIZEOF_LONG) -endif (NOT APPLE) -H5_CHECK_TYPE_SIZE ("long long" H5_SIZEOF_LONG_LONG) -H5_CHECK_TYPE_SIZE (__int64 H5_SIZEOF___INT64) -if (NOT H5_SIZEOF___INT64) - set (H5_SIZEOF___INT64 0) -endif (NOT H5_SIZEOF___INT64) - -H5_CHECK_TYPE_SIZE (float H5_SIZEOF_FLOAT) -H5_CHECK_TYPE_SIZE (double H5_SIZEOF_DOUBLE) -H5_CHECK_TYPE_SIZE ("long double" H5_SIZEOF_LONG_DOUBLE) - -H5_CHECK_TYPE_SIZE (int8_t H5_SIZEOF_INT8_T) -H5_CHECK_TYPE_SIZE (uint8_t H5_SIZEOF_UINT8_T) -H5_CHECK_TYPE_SIZE (int_least8_t H5_SIZEOF_INT_LEAST8_T) -H5_CHECK_TYPE_SIZE (uint_least8_t H5_SIZEOF_UINT_LEAST8_T) -H5_CHECK_TYPE_SIZE (int_fast8_t H5_SIZEOF_INT_FAST8_T) -H5_CHECK_TYPE_SIZE (uint_fast8_t H5_SIZEOF_UINT_FAST8_T) - -H5_CHECK_TYPE_SIZE (int16_t H5_SIZEOF_INT16_T) -H5_CHECK_TYPE_SIZE (uint16_t H5_SIZEOF_UINT16_T) -H5_CHECK_TYPE_SIZE (int_least16_t H5_SIZEOF_INT_LEAST16_T) -H5_CHECK_TYPE_SIZE (uint_least16_t H5_SIZEOF_UINT_LEAST16_T) -H5_CHECK_TYPE_SIZE (int_fast16_t H5_SIZEOF_INT_FAST16_T) -H5_CHECK_TYPE_SIZE (uint_fast16_t H5_SIZEOF_UINT_FAST16_T) - -H5_CHECK_TYPE_SIZE (int32_t H5_SIZEOF_INT32_T) -H5_CHECK_TYPE_SIZE (uint32_t H5_SIZEOF_UINT32_T) -H5_CHECK_TYPE_SIZE (int_least32_t H5_SIZEOF_INT_LEAST32_T) -H5_CHECK_TYPE_SIZE (uint_least32_t H5_SIZEOF_UINT_LEAST32_T) -H5_CHECK_TYPE_SIZE (int_fast32_t H5_SIZEOF_INT_FAST32_T) -H5_CHECK_TYPE_SIZE (uint_fast32_t H5_SIZEOF_UINT_FAST32_T) - -H5_CHECK_TYPE_SIZE (int64_t H5_SIZEOF_INT64_T) -H5_CHECK_TYPE_SIZE (uint64_t H5_SIZEOF_UINT64_T) -H5_CHECK_TYPE_SIZE (int_least64_t H5_SIZEOF_INT_LEAST64_T) -H5_CHECK_TYPE_SIZE (uint_least64_t H5_SIZEOF_UINT_LEAST64_T) -H5_CHECK_TYPE_SIZE (int_fast64_t H5_SIZEOF_INT_FAST64_T) -H5_CHECK_TYPE_SIZE (uint_fast64_t H5_SIZEOF_UINT_FAST64_T) - -if (NOT APPLE) - H5_CHECK_TYPE_SIZE (size_t H5_SIZEOF_SIZE_T) - H5_CHECK_TYPE_SIZE (ssize_t H5_SIZEOF_SSIZE_T) - if (NOT H5_SIZEOF_SSIZE_T) - set (H5_SIZEOF_SSIZE_T 0) - endif (NOT H5_SIZEOF_SSIZE_T) - if (NOT WINDOWS) - H5_CHECK_TYPE_SIZE (ptrdiff_t H5_SIZEOF_PTRDIFF_T) - endif (NOT WINDOWS) -endif (NOT APPLE) - -H5_CHECK_TYPE_SIZE (off_t H5_SIZEOF_OFF_T) -H5_CHECK_TYPE_SIZE (off64_t H5_SIZEOF_OFF64_T) -if (NOT H5_SIZEOF_OFF64_T) - set (H5_SIZEOF_OFF64_T 0) -endif (NOT H5_SIZEOF_OFF64_T) - -if (NOT WINDOWS) - #----------------------------------------------------------------------------- - # Check if the dev_t type is a scalar type - #----------------------------------------------------------------------------- - HDF5_FUNCTION_TEST (DEV_T_IS_SCALAR) - - # ---------------------------------------------------------------------- - # Check for MONOTONIC_TIMER support (used in clock_gettime). This has - # to be done after any POSIX/BSD defines to ensure that the test gets - # the correct POSIX level on linux. - CHECK_VARIABLE_EXISTS (CLOCK_MONOTONIC HAVE_CLOCK_MONOTONIC) - - #----------------------------------------------------------------------------- - # Check a bunch of time functions - #----------------------------------------------------------------------------- - foreach (test - HAVE_TM_GMTOFF - HAVE___TM_GMTOFF -# HAVE_TIMEZONE - HAVE_STRUCT_TIMEZONE - GETTIMEOFDAY_GIVES_TZ - TIME_WITH_SYS_TIME - HAVE_TM_ZONE - HAVE_STRUCT_TM_TM_ZONE - ) - HDF5_FUNCTION_TEST (${test}) - endforeach (test) - if (NOT CYGWIN AND NOT MINGW) - HDF5_FUNCTION_TEST (HAVE_TIMEZONE) -# HDF5_FUNCTION_TEST (HAVE_STAT_ST_BLOCKS) - endif (NOT CYGWIN AND NOT MINGW) - - # ---------------------------------------------------------------------- - # Does the struct stat have the st_blocks field? This field is not Posix. - # - HDF5_FUNCTION_TEST (HAVE_STAT_ST_BLOCKS) - - # ---------------------------------------------------------------------- - # How do we figure out the width of a tty in characters? - # - CHECK_FUNCTION_EXISTS (ioctl H5_HAVE_IOCTL) - HDF5_FUNCTION_TEST (HAVE_STRUCT_VIDEOCONFIG) - HDF5_FUNCTION_TEST (HAVE_STRUCT_TEXT_INFO) - CHECK_FUNCTION_EXISTS (_getvideoconfig H5_HAVE__GETVIDEOCONFIG) - CHECK_FUNCTION_EXISTS (gettextinfo H5_HAVE_GETTEXTINFO) - CHECK_FUNCTION_EXISTS (_scrsize H5_HAVE__SCRSIZE) - if (NOT CYGWIN AND NOT MINGW) - CHECK_FUNCTION_EXISTS (GetConsoleScreenBufferInfo H5_HAVE_GETCONSOLESCREENBUFFERINFO) - endif (NOT CYGWIN AND NOT MINGW) - CHECK_SYMBOL_EXISTS (TIOCGWINSZ "sys/ioctl.h" H5_HAVE_TIOCGWINSZ) - CHECK_SYMBOL_EXISTS (TIOCGETD "sys/ioctl.h" H5_HAVE_TIOCGETD) -endif (NOT WINDOWS) - -#----------------------------------------------------------------------------- -# Check for some functions that are used -# -CHECK_FUNCTION_EXISTS (alarm H5_HAVE_ALARM) -#CHECK_FUNCTION_EXISTS (BSDgettimeofday H5_HAVE_BSDGETTIMEOFDAY) -CHECK_FUNCTION_EXISTS (fork H5_HAVE_FORK) -CHECK_FUNCTION_EXISTS (frexpf H5_HAVE_FREXPF) -CHECK_FUNCTION_EXISTS (frexpl H5_HAVE_FREXPL) - -CHECK_FUNCTION_EXISTS (gethostname H5_HAVE_GETHOSTNAME) -CHECK_FUNCTION_EXISTS (getpwuid H5_HAVE_GETPWUID) -CHECK_FUNCTION_EXISTS (getrusage H5_HAVE_GETRUSAGE) -CHECK_FUNCTION_EXISTS (lstat H5_HAVE_LSTAT) - -CHECK_FUNCTION_EXISTS (rand_r H5_HAVE_RAND_R) -CHECK_FUNCTION_EXISTS (random H5_HAVE_RANDOM) -CHECK_FUNCTION_EXISTS (setsysinfo H5_HAVE_SETSYSINFO) - -CHECK_FUNCTION_EXISTS (signal H5_HAVE_SIGNAL) -CHECK_FUNCTION_EXISTS (longjmp H5_HAVE_LONGJMP) -CHECK_FUNCTION_EXISTS (setjmp H5_HAVE_SETJMP) -CHECK_FUNCTION_EXISTS (siglongjmp H5_HAVE_SIGLONGJMP) -CHECK_FUNCTION_EXISTS (sigsetjmp H5_HAVE_SIGSETJMP) -CHECK_FUNCTION_EXISTS (sigaction H5_HAVE_SIGACTION) -CHECK_FUNCTION_EXISTS (sigprocmask H5_HAVE_SIGPROCMASK) - -CHECK_FUNCTION_EXISTS (snprintf H5_HAVE_SNPRINTF) -CHECK_FUNCTION_EXISTS (srandom H5_HAVE_SRANDOM) -CHECK_FUNCTION_EXISTS (strdup H5_HAVE_STRDUP) -CHECK_FUNCTION_EXISTS (symlink H5_HAVE_SYMLINK) -CHECK_FUNCTION_EXISTS (system H5_HAVE_SYSTEM) - -CHECK_FUNCTION_EXISTS (tmpfile H5_HAVE_TMPFILE) -CHECK_FUNCTION_EXISTS (vasprintf H5_HAVE_VASPRINTF) -CHECK_FUNCTION_EXISTS (waitpid H5_HAVE_WAITPID) - -CHECK_FUNCTION_EXISTS (vsnprintf H5_HAVE_VSNPRINTF) -if (NOT WINDOWS) - if (H5_HAVE_VSNPRINTF) - HDF5_FUNCTION_TEST (VSNPRINTF_WORKS) - endif (H5_HAVE_VSNPRINTF) -endif (NOT WINDOWS) - -#----------------------------------------------------------------------------- -# sigsetjmp is special; may actually be a macro -#----------------------------------------------------------------------------- -if (NOT H5_HAVE_SIGSETJMP) - if (H5_HAVE_SETJMP_H) - CHECK_SYMBOL_EXISTS (sigsetjmp "setjmp.h" H5_HAVE_MACRO_SIGSETJMP) - if (H5_HAVE_MACRO_SIGSETJMP) - set (H5_HAVE_SIGSETJMP 1) - endif (H5_HAVE_MACRO_SIGSETJMP) - endif (H5_HAVE_SETJMP_H) -endif (NOT H5_HAVE_SIGSETJMP) - -#----------------------------------------------------------------------------- -# Check for Symbols -CHECK_SYMBOL_EXISTS (tzname "time.h" H5_HAVE_DECL_TZNAME) - -#----------------------------------------------------------------------------- -# Check a bunch of other functions -#----------------------------------------------------------------------------- -if (NOT WINDOWS) - foreach (test - LONE_COLON - HAVE_ATTRIBUTE - HAVE_C99_FUNC - HAVE_FUNCTION - HAVE_C99_DESIGNATED_INITIALIZER - SYSTEM_SCOPE_THREADS - HAVE_SOCKLEN_T - CXX_HAVE_OFFSETOF - ) - HDF5_FUNCTION_TEST (${test}) - endforeach (test) -endif (NOT WINDOWS) - -# For other CXX specific tests, use this MACRO. -MACRO (HDF5_CXX_FUNCTION_TEST OTHER_TEST) - if ("${OTHER_TEST}" MATCHES "^${OTHER_TEST}$") - set (MACRO_CHECK_FUNCTION_DEFINITIONS "-D${OTHER_TEST} ${CMAKE_REQUIRED_FLAGS}") - set (OTHER_TEST_ADD_LIBRARIES) - if (CMAKE_REQUIRED_LIBRARIES) - set (OTHER_TEST_ADD_LIBRARIES "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}") - endif (CMAKE_REQUIRED_LIBRARIES) - - foreach (def ${HDF5_EXTRA_TEST_DEFINITIONS}) - set (MACRO_CHECK_FUNCTION_DEFINITIONS "${MACRO_CHECK_FUNCTION_DEFINITIONS} -D${def}=${${def}}") - endforeach (def) - - foreach (def - HAVE_SYS_TIME_H - HAVE_UNISTD_H - HAVE_SYS_TYPES_H - HAVE_SYS_SOCKET_H - ) - if ("${H5_${def}}") - set (MACRO_CHECK_FUNCTION_DEFINITIONS "${MACRO_CHECK_FUNCTION_DEFINITIONS} -D${def}") - endif ("${H5_${def}}") - endforeach (def) - - if (LARGEFILE) - set (MACRO_CHECK_FUNCTION_DEFINITIONS - "${MACRO_CHECK_FUNCTION_DEFINITIONS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE" - ) - endif (LARGEFILE) - - #message (STATUS "Performing ${OTHER_TEST}") - TRY_COMPILE (${OTHER_TEST} - ${CMAKE_BINARY_DIR} - ${HDF5_RESOURCES_DIR}/HDF5CXXTests.cpp - CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS} - "${OTHER_TEST_ADD_LIBRARIES}" - OUTPUT_VARIABLE OUTPUT - ) - if ("${OTHER_TEST}" EQUAL 0) - set (${OTHER_TEST} 1 CACHE INTERNAL "CXX test ${FUNCTION}") - message (STATUS "Performing CXX Test ${OTHER_TEST} - Success") - else ("${OTHER_TEST}" EQUAL 0) - message (STATUS "Performing CXX Test ${OTHER_TEST} - Failed") - set (${OTHER_TEST} "" CACHE INTERNAL "CXX test ${FUNCTION}") - file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log - "Performing CXX Test ${OTHER_TEST} failed with the following output:\n" - "${OUTPUT}\n" - ) - endif ("${OTHER_TEST}" EQUAL 0) - endif ("${OTHER_TEST}" MATCHES "^${OTHER_TEST}$") -ENDMACRO (HDF5_CXX_FUNCTION_TEST) - -#----------------------------------------------------------------------------- -# Check a bunch of cxx functions -#----------------------------------------------------------------------------- -if (CMAKE_CXX_COMPILER_LOADED) - foreach (test - OLD_HEADER_FILENAME - H5_NO_NAMESPACE - H5_NO_STD - BOOL_NOTDEFINED - NO_STATIC_CAST - ) - HDF5_CXX_FUNCTION_TEST (${test}) - endforeach (test) -endif (CMAKE_CXX_COMPILER_LOADED) - -#----------------------------------------------------------------------------- # Check if Direct I/O driver works #----------------------------------------------------------------------------- if (NOT WINDOWS) @@ -782,14 +186,14 @@ if (NOT WINDOWS) set (msg "Performing TEST_DIRECT_VFD_WORKS") set (MACRO_CHECK_FUNCTION_DEFINITIONS "-DTEST_DIRECT_VFD_WORKS -D_GNU_SOURCE ${CMAKE_REQUIRED_FLAGS}") TRY_RUN (TEST_DIRECT_VFD_WORKS_RUN TEST_DIRECT_VFD_WORKS_COMPILE - ${HDF5_BINARY_DIR}/CMake - ${HDF5_RESOURCES_DIR}/HDF5Tests.c + ${CMAKE_BINARY_DIR} + ${HDF_RESOURCES_EXT_DIR}/HDFTests.c CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS} OUTPUT_VARIABLE OUTPUT ) if (TEST_DIRECT_VFD_WORKS_COMPILE) if (TEST_DIRECT_VFD_WORKS_RUN MATCHES 0) - HDF5_FUNCTION_TEST (HAVE_DIRECT) + HDF_FUNCTION_TEST (HAVE_DIRECT) set (CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D_GNU_SOURCE") add_definitions ("-D_GNU_SOURCE") else (TEST_DIRECT_VFD_WORKS_RUN MATCHES 0) @@ -809,148 +213,6 @@ if (NOT WINDOWS) endif (HDF5_ENABLE_DIRECT_VFD) endif (NOT WINDOWS) -#----------------------------------------------------------------------------- -# Check if InitOnceExecuteOnce is available -#----------------------------------------------------------------------------- -if (WINDOWS) - if (NOT HDF5_NO_IOEO_TEST) - message (STATUS "Checking for InitOnceExecuteOnce:") - if ("${H5_HAVE_IOEO}" MATCHES "^${H5_HAVE_IOEO}$") - if (LARGEFILE) - set (CMAKE_REQUIRED_DEFINITIONS - "${CURRENT_TEST_DEFINITIONS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE" - ) - endif (LARGEFILE) - set (MACRO_CHECK_FUNCTION_DEFINITIONS - "-DHAVE_IOEO ${CMAKE_REQUIRED_FLAGS}") - if (CMAKE_REQUIRED_LIBRARIES) - set (CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES - "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}") - else (CMAKE_REQUIRED_LIBRARIES) - set (CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES) - endif (CMAKE_REQUIRED_LIBRARIES) - if (CMAKE_REQUIRED_INCLUDES) - set (CHECK_C_SOURCE_COMPILES_ADD_INCLUDES - "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}") - else (CMAKE_REQUIRED_INCLUDES) - set (CHECK_C_SOURCE_COMPILES_ADD_INCLUDES) - endif (CMAKE_REQUIRED_INCLUDES) - - TRY_RUN(HAVE_IOEO_EXITCODE HAVE_IOEO_COMPILED - ${CMAKE_BINARY_DIR} - ${HDF5_RESOURCES_DIR}/HDF5Tests.c - COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} - CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS} - -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH} - "${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}" - "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}" - COMPILE_OUTPUT_VARIABLE OUTPUT) - # if it did not compile make the return value fail code of 1 - if (NOT HAVE_IOEO_COMPILED) - set (HAVE_IOEO_EXITCODE 1) - endif (NOT HAVE_IOEO_COMPILED) - # if the return value was 0 then it worked - if ("${HAVE_IOEO_EXITCODE}" EQUAL 0) - set (H5_HAVE_IOEO 1 CACHE INTERNAL "Test InitOnceExecuteOnce") - message (STATUS "Performing Test InitOnceExecuteOnce - Success") - file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log - "Performing C SOURCE FILE Test InitOnceExecuteOnce succeded with the following output:\n" - "${OUTPUT}\n" - "Return value: ${HAVE_IOEO}\n") - else ("${HAVE_IOEO_EXITCODE}" EQUAL 0) - if (CMAKE_CROSSCOMPILING AND "${HAVE_IOEO_EXITCODE}" MATCHES "FAILED_TO_RUN") - set (H5_HAVE_IOEO "${HAVE_IOEO_EXITCODE}") - else (CMAKE_CROSSCOMPILING AND "${HAVE_IOEO_EXITCODE}" MATCHES "FAILED_TO_RUN") - set (H5_HAVE_IOEO "" CACHE INTERNAL "Test InitOnceExecuteOnce") - endif (CMAKE_CROSSCOMPILING AND "${HAVE_IOEO_EXITCODE}" MATCHES "FAILED_TO_RUN") - - message (STATUS "Performing Test InitOnceExecuteOnce - Failed") - file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log - "Performing InitOnceExecuteOnce Test failed with the following output:\n" - "${OUTPUT}\n" - "Return value: ${HAVE_IOEO_EXITCODE}\n") - endif ("${HAVE_IOEO_EXITCODE}" EQUAL 0) - endif ("${H5_HAVE_IOEO}" MATCHES "^${H5_HAVE_IOEO}$") - endif (NOT HDF5_NO_IOEO_TEST) -endif (WINDOWS) - -#----------------------------------------------------------------------------- -# Determine how 'inline' is used -#----------------------------------------------------------------------------- -set (HDF5_EXTRA_TEST_DEFINITIONS INLINE_TEST_INLINE) -foreach (inline_test inline __inline__ __inline) - set (INLINE_TEST_INLINE ${inline_test}) - HDF5_FUNCTION_TEST (INLINE_TEST_${inline_test}) -endforeach (inline_test) - -set (HDF5_EXTRA_TEST_DEFINITIONS) -if (INLINE_TEST___inline__) - set (H5_inline __inline__) -else (INLINE_TEST___inline__) - if (INLINE_TEST___inline) - set (H5_inline __inline) - else (INLINE_TEST___inline) - if (INLINE_TEST_inline) - set (H5_inline inline) - endif (INLINE_TEST_inline) - endif (INLINE_TEST___inline) -endif (INLINE_TEST___inline__) - -#----------------------------------------------------------------------------- -# Check how to print a Long Long integer -#----------------------------------------------------------------------------- -if (NOT H5_PRINTF_LL_WIDTH OR H5_PRINTF_LL_WIDTH MATCHES "unknown") - set (PRINT_LL_FOUND 0) - message (STATUS "Checking for appropriate format for 64 bit long:") - foreach (HDF5_PRINTF_LL l64 l L q I64 ll) - set (CURRENT_TEST_DEFINITIONS "-DPRINTF_LL_WIDTH=${HDF5_PRINTF_LL}") - if (H5_SIZEOF_LONG_LONG) - set (CURRENT_TEST_DEFINITIONS "${CURRENT_TEST_DEFINITIONS} -DHAVE_LONG_LONG") - endif (H5_SIZEOF_LONG_LONG) - TRY_RUN (HDF5_PRINTF_LL_TEST_RUN HDF5_PRINTF_LL_TEST_COMPILE - ${HDF5_BINARY_DIR}/CMake - ${HDF5_RESOURCES_DIR}/HDF5Tests.c - CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${CURRENT_TEST_DEFINITIONS} - OUTPUT_VARIABLE OUTPUT - ) - if (HDF5_PRINTF_LL_TEST_COMPILE) - if (HDF5_PRINTF_LL_TEST_RUN MATCHES 0) - set (H5_PRINTF_LL_WIDTH "\"${HDF5_PRINTF_LL}\"" CACHE INTERNAL "Width for printf for type `long long' or `__int64', us. `ll") - set (PRINT_LL_FOUND 1) - else (HDF5_PRINTF_LL_TEST_RUN MATCHES 0) - message ("Width with ${HDF5_PRINTF_LL} failed with result: ${HDF5_PRINTF_LL_TEST_RUN}") - endif (HDF5_PRINTF_LL_TEST_RUN MATCHES 0) - else (HDF5_PRINTF_LL_TEST_COMPILE) - file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log - "Test H5_PRINTF_LL_WIDTH for ${HDF5_PRINTF_LL} failed with the following output:\n ${OUTPUT}\n" - ) - endif (HDF5_PRINTF_LL_TEST_COMPILE) - endforeach (HDF5_PRINTF_LL) - - if (PRINT_LL_FOUND) - message (STATUS "Checking for apropriate format for 64 bit long: found ${H5_PRINTF_LL_WIDTH}") - else (PRINT_LL_FOUND) - message (STATUS "Checking for apropriate format for 64 bit long: not found") - set (H5_PRINTF_LL_WIDTH "\"unknown\"" CACHE INTERNAL - "Width for printf for type `long long' or `__int64', us. `ll" - ) - endif (PRINT_LL_FOUND) -endif (NOT H5_PRINTF_LL_WIDTH OR H5_PRINTF_LL_WIDTH MATCHES "unknown") - -# ---------------------------------------------------------------------- -# Set the flag to indicate that the machine can handle converting -# denormalized floating-point values. -# (This flag should be set for all machines, except for the Crays, where -# the cache value is set in it's config file) -# -set (H5_CONVERT_DENORMAL_FLOAT 1) - -#----------------------------------------------------------------------------- -# Are we going to use HSIZE_T -#----------------------------------------------------------------------------- -if (HDF5_ENABLE_HSIZET) - set (H5_HAVE_LARGE_HSIZET 1) -endif (HDF5_ENABLE_HSIZET) #----------------------------------------------------------------------------- # Macro to determine the various conversion capabilities @@ -959,8 +221,8 @@ MACRO (H5ConversionTests TEST msg) if ("${TEST}" MATCHES "^${TEST}$") # message (STATUS "===> ${TEST}") TRY_RUN (${TEST}_RUN ${TEST}_COMPILE - ${HDF5_BINARY_DIR}/CMake - ${HDF5_RESOURCES_DIR}/ConversionTests.c + ${CMAKE_BINARY_DIR} + ${HDF_RESOURCES_DIR}/ConversionTests.c CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=-D${TEST}_TEST OUTPUT_VARIABLE OUTPUT ) |