mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-04-24 17:51:25 +08:00
HDFFV-10901 add missing config options
This commit is contained in:
parent
cafab483ff
commit
b477f9bcc7
config/cmake
java/test
src
tools/src
@ -33,7 +33,7 @@ MARK_AS_ADVANCED (HDF5_STRICT_FORMAT_CHECKS)
|
||||
# conversions. If not, some hard conversions will still be prefered even
|
||||
# though the data may be wrong (for example, some compilers don't
|
||||
# support denormalized floating values) to maximize speed.
|
||||
#
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_WANT_DATA_ACCURACY "IF data accuracy is guaranteed during data conversions" ON)
|
||||
if (HDF5_WANT_DATA_ACCURACY)
|
||||
set (${HDF_PREFIX}_WANT_DATA_ACCURACY 1)
|
||||
@ -45,7 +45,7 @@ MARK_AS_ADVANCED (HDF5_WANT_DATA_ACCURACY)
|
||||
# checked and data conversion exceptions are returned. This is mainly
|
||||
# for the speed optimization of hard conversions. Soft conversions can
|
||||
# actually benefit little.
|
||||
#
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_WANT_DCONV_EXCEPTION "exception handling functions is checked during data conversions" ON)
|
||||
if (HDF5_WANT_DCONV_EXCEPTION)
|
||||
set (${HDF_PREFIX}_WANT_DCONV_EXCEPTION 1)
|
||||
@ -54,7 +54,7 @@ MARK_AS_ADVANCED (HDF5_WANT_DCONV_EXCEPTION)
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Check if they would like the function stack support compiled in
|
||||
#
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_CODESTACK "Enable the function stack tracing (for developer debugging)." OFF)
|
||||
if (HDF5_ENABLE_CODESTACK)
|
||||
set (${HDF_PREFIX}_HAVE_CODESTACK 1)
|
||||
@ -75,7 +75,7 @@ set (${HDF_PREFIX}_HAVE_TMPFILE 1)
|
||||
# TODO --------------------------------------------------------------------------
|
||||
# Should the Default Virtual File Driver be compiled?
|
||||
# This is hard-coded now but option should added to match configure
|
||||
#
|
||||
#-----------------------------------------------------------------------------
|
||||
set (${HDF_PREFIX}_DEFAULT_VFD H5FD_SEC2)
|
||||
|
||||
if (NOT DEFINED "${HDF_PREFIX}_DEFAULT_PLUGINDIR")
|
||||
@ -92,6 +92,7 @@ if (WINDOWS)
|
||||
# Set the flag to indicate that the machine has window style pathname,
|
||||
# that is, "drive-letter:\" (e.g. "C:") or "drive-letter:/" (e.g. "C:/").
|
||||
# (This flag should be _unset_ for all machines, except for Windows)
|
||||
#-----------------------------------------------------------------------
|
||||
set (${HDF_PREFIX}_HAVE_WINDOW_PATH 1)
|
||||
endif ()
|
||||
|
||||
@ -237,7 +238,7 @@ endmacro ()
|
||||
# is 0x004733ce17af227f, not the same as the library's conversion to 0x004733ce17af2282.
|
||||
# The machine's conversion gets the correct value. We define the macro and disable
|
||||
# this kind of test until we figure out what algorithm they use.
|
||||
#
|
||||
#-----------------------------------------------------------------------------
|
||||
H5ConversionTests (${HDF_PREFIX}_LDOUBLE_TO_LONG_SPECIAL "Checking IF your system converts long double to (unsigned) long values with special algorithm")
|
||||
# ----------------------------------------------------------------------
|
||||
# Set the flag to indicate that the machine is using a special algorithm
|
||||
@ -246,7 +247,7 @@ H5ConversionTests (${HDF_PREFIX}_LDOUBLE_TO_LONG_SPECIAL "Checking IF your syst
|
||||
# when the bit sequences are 003fff..., 007fff..., 00ffff..., 01ffff...,
|
||||
# ..., 7fffff..., the compiler uses a unknown algorithm. We define a
|
||||
# macro and skip the test for now until we know about the algorithm.
|
||||
#
|
||||
#-----------------------------------------------------------------------------
|
||||
H5ConversionTests (${HDF_PREFIX}_LONG_TO_LDOUBLE_SPECIAL "Checking IF your system can convert (unsigned) long to long double values with special algorithm")
|
||||
# ----------------------------------------------------------------------
|
||||
# Set the flag to indicate that the machine can accurately convert
|
||||
@ -256,7 +257,7 @@ H5ConversionTests (${HDF_PREFIX}_LONG_TO_LDOUBLE_SPECIAL "Checking IF your syste
|
||||
# start to go wrong on these two machines. Adjusting it higher to
|
||||
# 0x4351ccf385ebc8a0dfcc... or 0x4351ccf385ebc8a0ffcc... will make the converted
|
||||
# values wildly wrong. This test detects this wrong behavior and disable the test.
|
||||
#
|
||||
#-----------------------------------------------------------------------------
|
||||
H5ConversionTests (${HDF_PREFIX}_LDOUBLE_TO_LLONG_ACCURATE "Checking IF correctly converting long double to (unsigned) long long values")
|
||||
# ----------------------------------------------------------------------
|
||||
# Set the flag to indicate that the machine can accurately convert
|
||||
@ -264,14 +265,14 @@ H5ConversionTests (${HDF_PREFIX}_LDOUBLE_TO_LLONG_ACCURATE "Checking IF correctl
|
||||
# all machines, except for Mac OS 10.4, when the bit sequences are 003fff...,
|
||||
# 007fff..., 00ffff..., 01ffff..., ..., 7fffff..., the converted values are twice
|
||||
# as big as they should be.
|
||||
#
|
||||
#-----------------------------------------------------------------------------
|
||||
H5ConversionTests (${HDF_PREFIX}_LLONG_TO_LDOUBLE_CORRECT "Checking IF correctly converting (unsigned) long long to long double values")
|
||||
# ----------------------------------------------------------------------
|
||||
# Set the flag to indicate that the machine can accurately convert
|
||||
# some long double values
|
||||
#
|
||||
#-----------------------------------------------------------------------------
|
||||
H5ConversionTests (${HDF_PREFIX}_DISABLE_SOME_LDOUBLE_CONV "Checking IF the cpu is power9 and cannot correctly converting long double values")
|
||||
# ----------------------------------------------------------------------
|
||||
# Check if pointer alignments are enforced
|
||||
#
|
||||
#-----------------------------------------------------------------------------
|
||||
H5ConversionTests (${HDF_PREFIX}_NO_ALIGNMENT_RESTRICTIONS "Checking IF alignment restrictions are strictly enforced")
|
||||
|
@ -212,7 +212,8 @@ if (NOT MSVC AND CMAKE_COMPILER_IS_GNUCC)
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 9.0)
|
||||
set (H5_CFLAGS4 "${H5_CFLAGS4} -Wattribute-alias=2 -Wmissing-profile")
|
||||
endif ()
|
||||
|
||||
elseif (CMAKE_C_COMPILER_ID STREQUAL "PGI")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Minform=inform")
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
@ -339,3 +340,76 @@ endif ()
|
||||
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0")
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option for --enable-asserts
|
||||
# By default, CMake adds NDEBUG to CMAKE_${lang}_FLAGS for Release build types
|
||||
# This option will force/override the default setting for all configurations
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_ASSERTS "Determines whether NDEBUG is defined to control assertions." OFF)
|
||||
if (HDF5_ENABLE_ASSERTS)
|
||||
add_compile_options ("-UNDEBUG")
|
||||
else ()
|
||||
add_compile_options ("-DNDEBUG")
|
||||
endif ()
|
||||
MARK_AS_ADVANCED (HDF5_ENABLE_ASSERTS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option for --enable-symbols
|
||||
# This option will force/override the default setting for all configurations
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_SYMBOLS "Add debug symbols to the library independent of the build mode and optimization level." OFF)
|
||||
if (HDF5_ENABLE_SYMBOLS)
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "Intel")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g")
|
||||
elseif (CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -fno-omit-frame-pointer")
|
||||
endif ()
|
||||
if(CMAKE_CXX_COMPILER_LOADED)
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
|
||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
|
||||
endif ()
|
||||
endif ()
|
||||
else ()
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "Intel")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,-s")
|
||||
elseif (CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s")
|
||||
endif ()
|
||||
if(CMAKE_CXX_COMPILER_LOADED)
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -Wl,-s")
|
||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s")
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
MARK_AS_ADVANCED (HDF5_ENABLE_SYMBOLS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option for --enable-profiling
|
||||
# This option will force/override the default setting for all configurations
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_PROFILING "Enable profiling flags independently from the build mode." OFF)
|
||||
if (HDF5_ENABLE_PROFILING)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${PROFILE_CFLAGS}")
|
||||
if(CMAKE_CXX_COMPILER_LOADED)
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PROFILE_CXXFLAGS}")
|
||||
endif ()
|
||||
endif ()
|
||||
MARK_AS_ADVANCED (HDF5_ENABLE_PROFILING)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option for --enable-optimization
|
||||
# This option will force/override the default setting for all configurations
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_OPTIMIZATION "Enable optimization flags/settings independently from the build mode" OFF)
|
||||
if (HDF5_ENABLE_OPTIMIZATION)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OPTIMIZE_CFLAGS}")
|
||||
if(CMAKE_CXX_COMPILER_LOADED)
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OPTIMIZE_CXXFLAGS}")
|
||||
endif ()
|
||||
endif ()
|
||||
MARK_AS_ADVANCED (HDF5_ENABLE_OPTIMIZATION)
|
||||
|
@ -14,10 +14,10 @@ General Information:
|
||||
Compiling Options:
|
||||
------------------
|
||||
Build Mode: @CMAKE_BUILD_TYPE@
|
||||
Debugging Symbols: @SYMBOLS@
|
||||
Asserts: @ASSERTS@
|
||||
Profiling: @PROFILING@
|
||||
Optimization Level: @OPTIMIZATION@
|
||||
Debugging Symbols: @HDF5_ENABLE_SYMBOLS@
|
||||
Asserts: @HDF5_ENABLE_ASSERTS@
|
||||
Profiling: @HDF5_ENABLE_PROFILING@
|
||||
Optimization Level: @HDF5_ENABLE_OPTIMIZATION@
|
||||
|
||||
Linking Options:
|
||||
----------------
|
||||
|
@ -15,7 +15,6 @@ package test;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
|
@ -1135,7 +1135,6 @@ if (NOT ONLY_SHARED_LIBS)
|
||||
PUBLIC
|
||||
${HDF_EXTRA_C_FLAGS}
|
||||
${HDF_EXTRA_FLAGS}
|
||||
$<IF:$<CONFIG:Debug>,DEBUG,NDEBUG>
|
||||
PRIVATE
|
||||
$<$<BOOL:${HDF5_ENABLE_TRACE}>:H5_DEBUG_API> # Enable tracing of the API
|
||||
$<$<BOOL:${HDF5_ENABLE_DEBUG_APIS}>:H5Z_DEBUG;H5T_DEBUG;H5ST_DEBUG;H5S_DEBUG;H5O_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5F_DEBUG;H5D_DEBUG;H5B2_DEBUG;H5AC_DEBUG>
|
||||
@ -1173,7 +1172,6 @@ if (BUILD_SHARED_LIBS)
|
||||
"H5_BUILT_AS_DYNAMIC_LIB"
|
||||
${HDF_EXTRA_C_FLAGS}
|
||||
${HDF_EXTRA_FLAGS}
|
||||
$<IF:$<CONFIG:Debug>,DEBUG,NDEBUG>
|
||||
PRIVATE
|
||||
$<$<BOOL:${HDF5_ENABLE_THREADSAFE}>:H5_HAVE_THREADSAFE>
|
||||
$<$<BOOL:${HDF5_ENABLE_TRACE}>:H5_DEBUG_API> # Enable tracing of the API
|
||||
|
@ -35,12 +35,15 @@ static const char *FileHeader = "\n\
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include "H5private.h"
|
||||
/* Do NOT use HDfprintf in this file as it is not linked with the library,
|
||||
* which contains the H5system.c file in which the function is defined.
|
||||
*/
|
||||
|
||||
#define LIBSETTINGSFNAME "libhdf5.settings"
|
||||
|
||||
FILE *rawoutstream = NULL;
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: insert_libhdf5_settings
|
||||
*
|
||||
@ -105,7 +108,7 @@ insert_libhdf5_settings(FILE *flibinfo)
|
||||
#endif
|
||||
} /* insert_libhdf5_settings() */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: make_libinfo
|
||||
*
|
||||
@ -123,7 +126,7 @@ make_libinfo(void)
|
||||
insert_libhdf5_settings(rawoutstream);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: print_header
|
||||
*
|
||||
@ -229,7 +232,7 @@ information about the library build configuration\n";
|
||||
fprintf(rawoutstream, "\n */\n\n");
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: print_footer
|
||||
*
|
||||
@ -244,7 +247,7 @@ print_footer(void)
|
||||
/* nothing */
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: main
|
||||
*
|
||||
|
@ -1639,14 +1639,10 @@ main(int argc, const char *argv[])
|
||||
|
||||
if (fapl_id != H5P_DEFAULT) {
|
||||
fid = H5Fopen(fname, H5F_ACC_RDONLY, fapl_id);
|
||||
} else {
|
||||
fid = h5tools_fopen(
|
||||
fname,
|
||||
H5F_ACC_RDONLY,
|
||||
H5P_DEFAULT,
|
||||
driver,
|
||||
NULL,
|
||||
0);
|
||||
}
|
||||
else {
|
||||
fid = h5tools_fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT,
|
||||
driver, NULL, 0);
|
||||
}
|
||||
|
||||
if (fid < 0) {
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user