Prefix remaining CMake options except for CMake BUILD* variables (#4990)

This commit is contained in:
Allen Byrne 2024-10-22 17:40:54 -05:00 committed by GitHub
parent 720b0057ba
commit baa1e8e292
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
21 changed files with 108 additions and 99 deletions

View File

@ -195,7 +195,7 @@ jobs:
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_CPP_LIB:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SANITIZERS:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DUSE_SANITIZER:STRING=Leak")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_USE_SANITIZER:STRING=Leak")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF")
@ -295,7 +295,7 @@ jobs:
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_CPP_LIB:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SANITIZERS:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DUSE_SANITIZER:STRING=Address")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_USE_SANITIZER:STRING=Address")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF")
@ -395,7 +395,7 @@ jobs:
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_CPP_LIB:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SANITIZERS:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DUSE_SANITIZER:STRING=Undefined")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_USE_SANITIZER:STRING=Undefined")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF")

View File

@ -61,7 +61,7 @@ jobs:
-DHDF5_ENABLE_DIRECT_VFD:BOOL=ON \
-DHDF5_ENABLE_ROS3_VFD:BOOL=ON \
-DH5_NO_DEPRECATED_SYMBOLS:BOOL=OFF \
-DDEFAULT_API_VERSION:STRING=v16 \
-DHDF5_DEFAULT_API_VERSION:STRING=v16 \
$GITHUB_WORKSPACE
shell: bash
@ -121,7 +121,7 @@ jobs:
-DHDF5_ENABLE_DIRECT_VFD:BOOL=ON \
-DHDF5_ENABLE_ROS3_VFD:BOOL=ON \
-DH5_NO_DEPRECATED_SYMBOLS:BOOL=OFF \
-DDEFAULT_API_VERSION:STRING=v18 \
-DHDF5_DEFAULT_API_VERSION:STRING=v18 \
$GITHUB_WORKSPACE
shell: bash
@ -181,7 +181,7 @@ jobs:
-DHDF5_ENABLE_DIRECT_VFD:BOOL=ON \
-DHDF5_ENABLE_ROS3_VFD:BOOL=ON \
-DH5_NO_DEPRECATED_SYMBOLS:BOOL=OFF \
-DDEFAULT_API_VERSION:STRING=v110 \
-DHDF5_DEFAULT_API_VERSION:STRING=v110 \
$GITHUB_WORKSPACE
shell: bash
@ -241,7 +241,7 @@ jobs:
-DHDF5_ENABLE_DIRECT_VFD:BOOL=ON \
-DHDF5_ENABLE_ROS3_VFD:BOOL=ON \
-DH5_NO_DEPRECATED_SYMBOLS:BOOL=OFF \
-DDEFAULT_API_VERSION:STRING=v112 \
-DHDF5_DEFAULT_API_VERSION:STRING=v112 \
$GITHUB_WORKSPACE
shell: bash
@ -301,7 +301,7 @@ jobs:
-DHDF5_ENABLE_DIRECT_VFD:BOOL=ON \
-DHDF5_ENABLE_ROS3_VFD:BOOL=ON \
-DH5_NO_DEPRECATED_SYMBOLS:BOOL=OFF \
-DDEFAULT_API_VERSION:STRING=v114 \
-DHDF5_DEFAULT_API_VERSION:STRING=v114 \
$GITHUB_WORKSPACE
shell: bash
@ -361,7 +361,7 @@ jobs:
-DHDF5_ENABLE_DIRECT_VFD:BOOL=ON \
-DHDF5_ENABLE_ROS3_VFD:BOOL=ON \
-DH5_NO_DEPRECATED_SYMBOLS:BOOL=OFF \
-DDEFAULT_API_VERSION:STRING=v116 \
-DHDF5_DEFAULT_API_VERSION:STRING=v116 \
$GITHUB_WORKSPACE
shell: bash

View File

@ -42,7 +42,7 @@ jobs:
-DHDF5_TEST_API_ENABLE_ASYNC:BOOL=ON \
-DHDF5_ENABLE_PARALLEL:BOOL=ON \
-DHDF5_ENABLE_THREADSAFE:BOOL=ON \
-DALLOW_UNSUPPORTED:BOOL=ON \
-DHDF5_ALLOW_UNSUPPORTED:BOOL=ON \
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \
${{ github.workspace }}/hdf5
cat src/libhdf5.settings

View File

@ -54,7 +54,7 @@ jobs:
-DHDF5_TEST_API_ENABLE_ASYNC:BOOL=ON \
-DHDF5_ENABLE_PARALLEL:BOOL=ON \
-DHDF5_ENABLE_THREADSAFE:BOOL=ON \
-DALLOW_UNSUPPORTED:BOOL=ON \
-DHDF5_ALLOW_UNSUPPORTED:BOOL=ON \
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \
-DHDF5_VOL_ALLOW_EXTERNAL:STRING="GIT" \
-DHDF5_VOL_URL01:STRING="https://github.com/HDFGroup/vol-async.git" \

View File

@ -82,7 +82,7 @@ jobs:
-DHDF5_TEST_API_ENABLE_ASYNC:BOOL=ON \
-DHDF5_ENABLE_PARALLEL:BOOL=ON \
-DHDF5_ENABLE_THREADSAFE:BOOL=ON \
-DALLOW_UNSUPPORTED:BOOL=ON \
-DHDF5_ALLOW_UNSUPPORTED:BOOL=ON \
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \
-DHDF5_VOL_ALLOW_EXTERNAL:STRING="GIT" \
-DHDF5_VOL_URL01:STRING="https://github.com/HDFGroup/vol-async.git" \

View File

@ -40,7 +40,7 @@ jobs:
-DHDF5_TEST_API_ENABLE_ASYNC:BOOL=ON \
-DHDF5_ENABLE_PARALLEL:BOOL=ON \
-DHDF5_ENABLE_THREADSAFE:BOOL=ON \
-DALLOW_UNSUPPORTED:BOOL=ON \
-DHDF5_ALLOW_UNSUPPORTED:BOOL=ON \
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \
${{ github.workspace }}/hdf5
cat src/libhdf5.settings

View File

@ -56,7 +56,7 @@ jobs:
-DBUILD_STATIC_LIBS=OFF \
-DHDF5_BUILD_HL_LIB:BOOL=ON \
-DHDF5_TEST_API:BOOL=ON \
-DALLOW_UNSUPPORTED:BOOL=ON \
-DHDF5_ALLOW_UNSUPPORTED:BOOL=ON \
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \
-DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF \
-DHDF5_VOL_ALLOW_EXTERNAL:STRING="GIT" \

View File

@ -147,8 +147,8 @@ if (HDF5_USE_FOLDERS)
endif ()
option (HDF5_NO_PACKAGES "CPACK - Disable packaging" OFF)
mark_as_advanced (HDF5_NO_PACKAGES)
option (ALLOW_UNSUPPORTED "Allow unsupported combinations of configure options" OFF)
mark_as_advanced (ALLOW_UNSUPPORTED)
option (HDF5_ALLOW_UNSUPPORTED "Allow unsupported combinations of configure options" OFF)
mark_as_advanced (HDF5_ALLOW_UNSUPPORTED)
#-----------------------------------------------------------------------------
# Set the core names of all the libraries CORENAME is the base library name
@ -519,8 +519,8 @@ endif ()
#-----------------------------------------------------------------------------
# Option to Build Shared and Static libs, default is both
#-----------------------------------------------------------------------------
option (ONLY_SHARED_LIBS "Only Build Shared Libraries" OFF)
mark_as_advanced (ONLY_SHARED_LIBS)
option (HDF5_ONLY_SHARED_LIBS "Only Build Shared Libraries" OFF)
mark_as_advanced (HDF5_ONLY_SHARED_LIBS)
option (BUILD_STATIC_LIBS "Build Static Libraries" ON)
set (H5_ENABLE_STATIC_LIB NO)
option (BUILD_SHARED_LIBS "Build Shared Libraries" ON)
@ -530,11 +530,11 @@ option (HDF5_BUILD_STATIC_TOOLS "Build Static Tools NOT Shared Tools" OFF)
# only shared libraries/tools is true if user forces static OFF
if (NOT BUILD_STATIC_LIBS)
set (ONLY_SHARED_LIBS ON CACHE BOOL "Only Build Shared Libraries" FORCE)
set (HDF5_ONLY_SHARED_LIBS ON CACHE BOOL "Only Build Shared Libraries" FORCE)
endif ()
# only shared libraries is set ON by user then force settings
if (ONLY_SHARED_LIBS)
if (HDF5_ONLY_SHARED_LIBS)
set (H5_ENABLE_STATIC_LIB NO)
set (BUILD_SHARED_LIBS ON CACHE BOOL "Build Shared Libraries" FORCE)
set (BUILD_STATIC_LIBS OFF CACHE BOOL "Build Static Libraries" FORCE)
@ -858,13 +858,13 @@ if (HDF5_ENABLE_SUBFILING_VFD)
endif()
set (DEFAULT_API_VERSION "v118" CACHE STRING "Enable v1.16 API (v16, v18, v110, v112, v114, v116, v118)")
set_property (CACHE DEFAULT_API_VERSION PROPERTY STRINGS v16 v18 v110 v112 v114 v116 v118)
set (HDF5_DEFAULT_API_VERSION "v118" CACHE STRING "Enable v1.16 API (v16, v18, v110, v112, v114, v116, v118)")
set_property (CACHE HDF5_DEFAULT_API_VERSION PROPERTY STRINGS v16 v18 v110 v112 v114 v116 v118)
#-----------------------------------------------------------------------------
# Option to use 1.6.x API
#-----------------------------------------------------------------------------
set (H5_USE_16_API_DEFAULT 0)
if (DEFAULT_API_VERSION MATCHES "v16")
if (HDF5_DEFAULT_API_VERSION MATCHES "v16")
set (H5_USE_16_API_DEFAULT 1)
endif ()
@ -872,7 +872,7 @@ endif ()
# Option to use 1.8.x API
#-----------------------------------------------------------------------------
set (H5_USE_18_API_DEFAULT 0)
if (DEFAULT_API_VERSION MATCHES "v18")
if (HDF5_DEFAULT_API_VERSION MATCHES "v18")
set (H5_USE_18_API_DEFAULT 1)
endif ()
@ -880,7 +880,7 @@ endif ()
# Option to use 1.10.x API
#-----------------------------------------------------------------------------
set (H5_USE_110_API_DEFAULT 0)
if (DEFAULT_API_VERSION MATCHES "v110")
if (HDF5_DEFAULT_API_VERSION MATCHES "v110")
set (H5_USE_110_API_DEFAULT 1)
endif ()
@ -888,7 +888,7 @@ endif ()
# Option to use 1.12.x API
#-----------------------------------------------------------------------------
set (H5_USE_112_API_DEFAULT 0)
if (DEFAULT_API_VERSION MATCHES "v112")
if (HDF5_DEFAULT_API_VERSION MATCHES "v112")
set (H5_USE_112_API_DEFAULT 1)
endif ()
@ -896,7 +896,7 @@ endif ()
# Option to use 1.14.x API
#-----------------------------------------------------------------------------
set (H5_USE_114_API_DEFAULT 0)
if (DEFAULT_API_VERSION MATCHES "v114")
if (HDF5_DEFAULT_API_VERSION MATCHES "v114")
set (H5_USE_114_API_DEFAULT 1)
endif ()
@ -904,18 +904,18 @@ endif ()
# Option to use 1.16.x API
#-----------------------------------------------------------------------------
set (H5_USE_116_API_DEFAULT 0)
if (DEFAULT_API_VERSION MATCHES "v116")
if (HDF5_DEFAULT_API_VERSION MATCHES "v116")
set (H5_USE_116_API_DEFAULT 1)
endif ()
#-----------------------------------------------------------------------------
# Option to use 1.18.x API
#-----------------------------------------------------------------------------
if (NOT DEFAULT_API_VERSION)
set (DEFAULT_API_VERSION "v118")
if (NOT HDF5_DEFAULT_API_VERSION)
set (HDF5_DEFAULT_API_VERSION "v118")
endif ()
set (H5_USE_118_API_DEFAULT 0)
if (DEFAULT_API_VERSION MATCHES "v118")
if (HDF5_DEFAULT_API_VERSION MATCHES "v118")
set (H5_USE_118_API_DEFAULT 1)
endif ()
@ -956,29 +956,29 @@ if (HDF5_ENABLE_THREADSAFE)
endif ()
endif ()
if (HDF_ENABLE_PARALLEL)
if (NOT ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** Parallel and thread-safety options are not supported, override with ALLOW_UNSUPPORTED option **** ")
if (NOT HDF5_ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** Parallel and thread-safety options are not supported, override with HDF5_ALLOW_UNSUPPORTED option **** ")
else ()
message (VERBOSE " **** Allowing unsupported parallel and thread-safety options **** ")
endif ()
endif ()
if (HDF5_BUILD_FORTRAN)
if (NOT ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** Fortran and thread-safety options are not supported, override with ALLOW_UNSUPPORTED option **** ")
if (NOT HDF5_ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** Fortran and thread-safety options are not supported, override with HDF5_ALLOW_UNSUPPORTED option **** ")
else ()
message (VERBOSE " **** Allowing unsupported Fortran and thread-safety options **** ")
endif ()
endif ()
if (HDF5_BUILD_CPP_LIB)
if (NOT ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** C++ and thread-safety options are not supported, override with ALLOW_UNSUPPORTED option **** ")
if (NOT HDF5_ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** C++ and thread-safety options are not supported, override with HDF5_ALLOW_UNSUPPORTED option **** ")
else ()
message (VERBOSE " **** Allowing unsupported C++ and thread-safety options **** ")
endif ()
endif ()
if (HDF5_BUILD_HL_LIB)
if (NOT ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** HL and thread-safety options are not supported, override with ALLOW_UNSUPPORTED option **** ")
if (NOT HDF5_ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** HL and thread-safety options are not supported, override with HDF5_ALLOW_UNSUPPORTED option **** ")
else ()
message (VERBOSE " **** Allowing unsupported HL and thread-safety options **** ")
endif ()
@ -1093,7 +1093,7 @@ endif ()
#-----------------------------------------------------------------------------
# Include filter plugins
#-----------------------------------------------------------------------------
if (${H5_LIBVER_DIR} EQUAL 16 OR DEFAULT_API_VERSION MATCHES "v16")
if (${H5_LIBVER_DIR} EQUAL 16 OR HDF5_DEFAULT_API_VERSION MATCHES "v16")
set (HDF5_ENABLE_PLUGIN_SUPPORT OFF CACHE BOOL "" FORCE)
message (VERBOSE "Filter PLUGINs cannot be used with 1.6 API")
else ()
@ -1186,8 +1186,8 @@ if (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
if (HDF5_BUILD_CPP_LIB)
# check for unsupported options
if (HDF5_ENABLE_PARALLEL)
if (NOT ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** Parallel and C++ options are mutually exclusive, override with ALLOW_UNSUPPORTED option **** ")
if (NOT HDF5_ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** Parallel and C++ options are mutually exclusive, override with HDF5_ALLOW_UNSUPPORTED option **** ")
else ()
message (VERBOSE " **** Allowing unsupported Parallel and C++ options **** ")
endif ()
@ -1229,7 +1229,7 @@ configure_file (${HDF_RESOURCES_DIR}/H5pubconf.h.in ${HDF5_SRC_BINARY_DIR}/H5pub
#-----------------------------------------------------------------------------
if (EXISTS "${HDF5_SOURCE_DIR}/HDF5Examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/HDF5Examples")
option (HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" ON)
if (HDF5_BUILD_EXAMPLES AND NOT USE_SANITIZER)
if (HDF5_BUILD_EXAMPLES AND NOT HDF5_USE_SANITIZER)
include (${HDF_RESOURCES_DIR}/HDF5ExampleCache.cmake)
set (HDF5_VERSION ${HDF5_PACKAGE_VERSION})
add_subdirectory (HDF5Examples)

View File

@ -269,7 +269,7 @@
"hidden": true,
"inherits": "ci-x64-Debug-MSVC",
"cacheVariables": {
"USE_SANITIZER": "Address",
"HDF5_USE_SANITIZER": "Address",
"HDF5_ENABLE_SANITIZERS": "ON"
}
},
@ -278,7 +278,7 @@
"hidden": true,
"inherits": "ci-x64-Debug-GNUC",
"cacheVariables": {
"USE_SANITIZER": "Address",
"HDF5_USE_SANITIZER": "Address",
"HDF5_ENABLE_SANITIZERS": "ON"
}
},
@ -287,7 +287,7 @@
"hidden": true,
"inherits": "ci-x64-Debug-GNUC",
"cacheVariables": {
"USE_SANITIZER": "Thread",
"HDF5_USE_SANITIZER": "Thread",
"HDF5_ENABLE_SANITIZERS": "ON"
}
},
@ -296,7 +296,7 @@
"hidden": true,
"inherits": "ci-x64-Debug-GNUC",
"cacheVariables": {
"USE_SANITIZER": "Leak",
"HDF5_USE_SANITIZER": "Leak",
"HDF5_ENABLE_SANITIZERS": "ON"
}
},
@ -305,7 +305,7 @@
"hidden": true,
"inherits": "ci-x64-Debug-GNUC",
"cacheVariables": {
"USE_SANITIZER": "Undefined",
"HDF5_USE_SANITIZER": "Undefined",
"HDF5_ENABLE_SANITIZERS": "ON"
}
}

View File

@ -26,22 +26,22 @@ set (EXAMPLES_EXTERNALLY_CONFIGURED ON CACHE BOOL "Examples build is used in ano
set (EXAMPLE_VARNAME "H5")
set (H5EX_RESOURCES_DIR ${HDF_RESOURCES_DIR})
message (STATUS "HDF5 Example H5EX_RESOURCES_DIR: ${H5EX_RESOURCES_DIR}")
if (DEFAULT_API_VERSION MATCHES "v16")
if (HDF5_DEFAULT_API_VERSION MATCHES "v16")
set (H5_USE_16_API ON)
elseif (DEFAULT_API_VERSION MATCHES "v18")
elseif (HDF5_DEFAULT_API_VERSION MATCHES "v18")
set (H5_USE_18_API ON)
elseif (DEFAULT_API_VERSION MATCHES "v110")
elseif (HDF5_DEFAULT_API_VERSION MATCHES "v110")
set (H5_USE_110_API ON)
elseif (DEFAULT_API_VERSION MATCHES "v112")
elseif (HDF5_DEFAULT_API_VERSION MATCHES "v112")
set (H5_USE_112_API ON)
elseif (DEFAULT_API_VERSION MATCHES "v114")
elseif (HDF5_DEFAULT_API_VERSION MATCHES "v114")
set (H5_USE_114_API ON)
elseif (DEFAULT_API_VERSION MATCHES "v116")
elseif (HDF5_DEFAULT_API_VERSION MATCHES "v116")
set (H5_USE_116_API ON)
elseif (DEFAULT_API_VERSION MATCHES "v118")
elseif (HDF5_DEFAULT_API_VERSION MATCHES "v118")
set (H5_USE_118_API ON)
endif ()
message (STATUS "HDF5 H5_LIBVER_DIR: ${H5_LIBVER_DIR} HDF5_API_VERSION: ${DEFAULT_API_VERSION}")
message (STATUS "HDF5 H5_LIBVER_DIR: ${H5_LIBVER_DIR} HDF5_API_VERSION: ${HDF5_DEFAULT_API_VERSION}")
if (NOT BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS)
set (USE_SHARED_LIBS OFF CACHE BOOL "Use Shared Libraries for Examples" FORCE)

View File

@ -122,9 +122,9 @@ endmacro ()
#-------------------------------------------------------------------------------
macro (INSTALL_TARGET_PDB libtarget targetdestination targetcomponent)
option (DISABLE_PDB_FILES "Do not install PDB files" OFF)
mark_as_advanced (DISABLE_PDB_FILES)
if (WIN32 AND MSVC AND NOT DISABLE_PDB_FILES)
option (HDF5_DISABLE_PDB_FILES "Do not install PDB files" OFF)
mark_as_advanced (HDF5_DISABLE_PDB_FILES)
if (WIN32 AND MSVC AND NOT HDF5_DISABLE_PDB_FILES)
get_target_property (target_type ${libtarget} TYPE)
if (${target_type} MATCHES "SHARED")
set (targetfilename $<TARGET_PDB_FILE:${libtarget}>)
@ -354,7 +354,7 @@ macro (HDF_README_PROPERTIES target_fortran)
set (BINARY_PLATFORM "${BINARY_PLATFORM} / ${CMAKE_Fortran_COMPILER_ID} Fortran")
endif ()
if (ONLY_SHARED_LIBS)
if (HDF5_ONLY_SHARED_LIBS)
set (LIB_TYPE "Shared")
elseif (BUILD_SHARED_LIBS)
set (LIB_TYPE "Static and Shared")

View File

@ -49,7 +49,7 @@ set (${HDF5_PACKAGE_NAME}_BUILD_STATIC_LIBS @H5_ENABLE_STATIC_LIB@)
set (${HDF5_PACKAGE_NAME}_ENABLE_THREADS @HDF5_ENABLE_THREADS@)
set (${HDF5_PACKAGE_NAME}_ENABLE_THREADSAFE @HDF5_ENABLE_THREADSAFE@)
set (${HDF5_PACKAGE_NAME}_ENABLE_PARALLEL @HDF5_ENABLE_PARALLEL@)
set (${HDF5_PACKAGE_NAME}_DEFAULT_API_VERSION "@DEFAULT_API_VERSION@")
set (${HDF5_PACKAGE_NAME}_DEFAULT_API_VERSION "@HDF5_DEFAULT_API_VERSION@")
set (${HDF5_PACKAGE_NAME}_ENABLE_DEPRECATED_SYMBOLS @HDF5_ENABLE_DEPRECATED_SYMBOLS@)
set (${HDF5_PACKAGE_NAME}_BUILD_DIMENSION_SCALES_WITH_NEW_REF @DIMENSION_SCALES_WITH_NEW_REF@)
#-----------------------------------------------------------------------------

View File

@ -32,7 +32,7 @@
#### Only build static libraries ####
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF")
#### Only build shared libraries ####
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DONLY_SHARED_LIBS:BOOL=OFF")
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ONLY_SHARED_LIBS:BOOL=OFF")
#### Add PIC option on linux/mac ####
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_ANSI_CFLAGS:STRING=-fPIC")

View File

@ -54,7 +54,7 @@ A quick rundown of the tools available, and what they do:
- [MemorySanitizer](https://clang.llvm.org/docs/MemorySanitizer.html) detects uninitialized reads.
- [Control Flow Integrity](https://clang.llvm.org/docs/ControlFlowIntegrity.html) is designed to detect certain forms of undefined behaviour that can potentially allow attackers to subvert the program's control flow.
These are used by declaring the `USE_SANITIZER` CMake variable as string containing any of:
These are used by declaring the `HDF5_USE_SANITIZER` CMake variable as string containing any of:
- Address
- Memory
- MemoryWithOrigins
@ -63,7 +63,7 @@ These are used by declaring the `USE_SANITIZER` CMake variable as string contain
- Leak
- CFI
Multiple values are allowed, e.g. `-DUSE_SANITIZER=Address,Leak` but some sanitizers cannot be combined together, e.g.`-DUSE_SANITIZER=Address,Memory` will result in configuration error. The delimiter character is not required and `-DUSE_SANITIZER=AddressLeak` would work as well.
Multiple values are allowed, e.g. `-DHDF5_USE_SANITIZER=Address,Leak` but some sanitizers cannot be combined together, e.g.`-DHDF5_USE_SANITIZER=Address,Memory` will result in configuration error. The delimiter character is not required and `-DHDF5_USE_SANITIZER=AddressLeak` would work as well.
## Code Coverage [`code-coverage.cmake`](code-coverage.cmake)

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations under
# the License.
set(USE_SANITIZER
set(HDF5_USE_SANITIZER
""
CACHE
STRING
@ -50,8 +50,8 @@ function(test_san_flags return_var flags)
set(CMAKE_REQUIRED_QUIET "${QUIET_BACKUP}")
endfunction()
message(STATUS "USE_SANITIZER=${USE_SANITIZER}, CMAKE_C_COMPILER_ID=${CMAKE_C_COMPILER_ID}")
if(USE_SANITIZER)
message(STATUS "HDF5_USE_SANITIZER=${HDF5_USE_SANITIZER}, CMAKE_C_COMPILER_ID=${CMAKE_C_COMPILER_ID}")
if(HDF5_USE_SANITIZER)
if(CMAKE_C_COMPILER_ID MATCHES "IntelLLVM" OR CMAKE_C_COMPILER_ID MATCHES "[Cc]lang")
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
@ -65,7 +65,7 @@ if(USE_SANITIZER)
append("-O1" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
endif()
if(USE_SANITIZER MATCHES "([Aa]ddress)")
if(HDF5_USE_SANITIZER MATCHES "([Aa]ddress)")
# Optional: -fno-optimize-sibling-calls -fsanitize-address-use-after-scope
message(STATUS "Testing with Address sanitizer")
set(SANITIZER_ADDR_FLAG "-fsanitize=address")
@ -85,9 +85,9 @@ if(USE_SANITIZER)
endif()
endif()
if(USE_SANITIZER MATCHES "([Mm]emory([Ww]ith[Oo]rigins)?)")
if(HDF5_USE_SANITIZER MATCHES "([Mm]emory([Ww]ith[Oo]rigins)?)")
set(SANITIZER_MEM_FLAG "-fsanitize=memory")
if(USE_SANITIZER MATCHES "([Mm]emory[Ww]ith[Oo]rigins)")
if(HDF5_USE_SANITIZER MATCHES "([Mm]emory[Ww]ith[Oo]rigins)")
message(STATUS "Testing with MemoryWithOrigins sanitizer")
append("-fno-optimize-sibling-calls -fsanitize-memory-track-origins=2" SANITIZER_MEM_FLAG)
else()
@ -95,7 +95,7 @@ if(USE_SANITIZER)
endif()
test_san_flags(SANITIZER_MEM_AVAILABLE ${SANITIZER_MEM_FLAG})
if(SANITIZER_MEM_AVAILABLE)
if(USE_SANITIZER MATCHES "([Mm]emory[Ww]ith[Oo]rigins)")
if(HDF5_USE_SANITIZER MATCHES "([Mm]emory[Ww]ith[Oo]rigins)")
message(STATUS " Building with MemoryWithOrigins sanitizer")
else()
message(STATUS " Building with Memory sanitizer")
@ -113,7 +113,7 @@ if(USE_SANITIZER)
endif()
endif()
if(USE_SANITIZER MATCHES "([Uu]ndefined)")
if(HDF5_USE_SANITIZER MATCHES "([Uu]ndefined)")
message(STATUS "Testing with Undefined Behaviour sanitizer")
set(SANITIZER_UB_FLAG "-fsanitize=undefined")
if(EXISTS "${BLACKLIST_FILE}")
@ -132,7 +132,7 @@ if(USE_SANITIZER)
endif()
endif()
if(USE_SANITIZER MATCHES "([Tt]hread)")
if(HDF5_USE_SANITIZER MATCHES "([Tt]hread)")
message(STATUS "Testing with Thread sanitizer")
set(SANITIZER_THREAD_FLAG "-fsanitize=thread")
test_san_flags(SANITIZER_THREAD_AVAILABLE ${SANITIZER_THREAD_FLAG})
@ -148,7 +148,7 @@ if(USE_SANITIZER)
endif()
endif()
if(USE_SANITIZER MATCHES "([Ll]eak)")
if(HDF5_USE_SANITIZER MATCHES "([Ll]eak)")
message(STATUS "Testing with Leak sanitizer")
set(SANITIZER_LEAK_FLAG "-fsanitize=leak")
test_san_flags(SANITIZER_LEAK_AVAILABLE ${SANITIZER_LEAK_FLAG})
@ -164,7 +164,7 @@ if(USE_SANITIZER)
endif()
endif()
if(USE_SANITIZER MATCHES "([Cc][Ff][Ii])")
if(HDF5_USE_SANITIZER MATCHES "([Cc][Ff][Ii])")
message(STATUS "Testing with Control Flow Integrity(CFI) sanitizer")
set(SANITIZER_CFI_FLAG "-fsanitize=cfi")
test_san_flags(SANITIZER_CFI_AVAILABLE ${SANITIZER_CFI_FLAG})
@ -186,10 +186,10 @@ if(USE_SANITIZER)
message(STATUS " Building with ${SANITIZER_SELECTED_FLAGS}")
append("${SANITIZER_SELECTED_FLAGS}" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
else()
message(FATAL_ERROR "Unsupported value of USE_SANITIZER: ${USE_SANITIZER}")
message(FATAL_ERROR "Unsupported value of HDF5_USE_SANITIZER: ${HDF5_USE_SANITIZER}")
endif()
elseif(MSVC)
if(USE_SANITIZER MATCHES "([Aa]ddress)")
if(HDF5_USE_SANITIZER MATCHES "([Aa]ddress)")
message(STATUS "Building with Address sanitizer")
append("-fsanitize=address" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
@ -197,19 +197,19 @@ if(USE_SANITIZER)
append_quoteless(AFL_USE_ASAN=1 CMAKE_C_COMPILER_LAUNCHER CMAKE_CXX_COMPILER_LAUNCHER)
endif()
else()
message(FATAL_ERROR "This sanitizer not yet supported in the MSVC environment: ${USE_SANITIZER}")
message(FATAL_ERROR "This sanitizer not yet supported in the MSVC environment: ${HDF5_USE_SANITIZER}")
endif()
else()
message(FATAL_ERROR "USE_SANITIZER is not supported on this platform.")
message(FATAL_ERROR "HDF5_USE_SANITIZER is not supported on this platform.")
endif()
elseif(MSVC)
if(USE_SANITIZER MATCHES "([Aa]ddress)")
if(HDF5_USE_SANITIZER MATCHES "([Aa]ddress)")
message(STATUS "Building with Address sanitizer")
append("/fsanitize=address" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
else()
message(FATAL_ERROR "This sanitizer not yet supported in the MSVC environment: ${USE_SANITIZER}")
message(FATAL_ERROR "This sanitizer not yet supported in the MSVC environment: ${HDF5_USE_SANITIZER}")
endif()
else()
message(FATAL_ERROR "USE_SANITIZER is not supported on this platform.")
message(FATAL_ERROR "HDF5_USE_SANITIZER is not supported on this platform.")
endif()
endif()

View File

@ -145,7 +145,7 @@ would typically be passed when building HDF5, such as `CMAKE_INSTALL_PREFIX`,
cmake [hdf5 options]
-DHDF5_ENABLE_THREADSAFE=ON
-DHDF5_ENABLE_PARALLEL=ON
-DALLOW_UNSUPPORTED=ON
-DHDF5_ALLOW_UNSUPPORTED=ON
-DHDF5_TEST_API=ON
-DHDF5_VOL_ALLOW_EXTERNAL="GIT"
-DHDF5_VOL_URL01=https://github.com/hpc-io/vol-async.git

View File

@ -817,7 +817,7 @@ BUILD_STATIC_LIBS "Build Static Libraries" ON
BUILD_STATIC_EXECS "Build Static Executables" OFF
BUILD_TESTING "Build HDF5 Unit Testing" ON
if (WINDOWS)
DISABLE_PDB_FILES "Do not install PDB files" OFF
HDF5_DISABLE_PDB_FILES "Do not install PDB files" OFF
---------------- HDF5 Build Options ----------------------------------------
HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" OFF
@ -855,8 +855,8 @@ HDF5_INSTALL_DATA_DIR "share"
HDF5_INSTALL_DOC_DIR "HDF5_INSTALL_DATA_DIR/doc/hdf5"
---------------- HDF5 Advanced Options ---------------------
ONLY_SHARED_LIBS "Only Build Shared Libraries" OFF
ALLOW_UNSUPPORTED "Allow unsupported combinations of configure options" OFF
HDF5_ONLY_SHARED_LIBS "Only Build Shared Libraries" OFF
HDF5_ALLOW_UNSUPPORTED "Allow unsupported combinations of configure options" OFF
HDF5_ENABLE_PARALLEL "Enable parallel build (requires MPI)" OFF
HDF5_ENABLE_THREADSAFE "Enable Threadsafety" OFF
HDF5_DIMENSION_SCALES_NEW_REF "Use new-style references with dimension scale APIs" OFF
@ -888,7 +888,7 @@ HDF5_STRICT_FORMAT_CHECKS "Whether to perform strict file format checks"
HDF5_WANT_DATA_ACCURACY "IF data accuracy is guaranteed during data conversions" ON
HDF5_WANT_DCONV_EXCEPTION "exception handling functions is checked during data conversions" ON
DEFAULT_API_VERSION "Enable default API (v16, v18, v110, v112, v114, v116, v118)" "v118"
HDF5_DEFAULT_API_VERSION "Enable default API (v16, v18, v110, v112, v114, v116, v118)" "v118"
HDF5_USE_FOLDERS "Enable folder grouping of projects in IDEs." ON
HDF5_MSVC_NAMING_CONVENTION "Use MSVC Naming conventions for Shared Libraries" OFF
HDF5_MINGW_STATIC_GCC_LIBS "Statically link libgcc/libstdc++" OFF
@ -898,10 +898,10 @@ if (CMAKE_BUILD_TYPE MATCHES Debug)
HDF5_ENABLE_INSTRUMENT "Instrument The library" OFF
if (HDF5_BUILD_FORTRAN)
HDF5_INSTALL_MOD_FORTRAN "Copy FORTRAN mod files to include directory (NO SHARED STATIC)" SHARED
if (BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED
if (BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED
if (NOT BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is STATIC
if (NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED
if (BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED
if (BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED
if (NOT BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is STATIC
if (NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED
HDF5_ENABLE_ANALYZER_TOOLS "enable the use of Clang tools" OFF
HDF5_ENABLE_SANITIZERS "execute the Clang sanitizer" OFF
@ -933,7 +933,7 @@ if (BUILD_TESTING)
HDF5_TEST_VFD "Execute tests with different VFDs" OFF
if (HDF5_TEST_VFD)
HDF5_TEST_FHEAP_VFD "Execute fheap test with different VFDs" ON
TEST_SHELL_SCRIPTS "Enable shell script tests" ON
HDF5_TEST_SHELL_SCRIPTS "Enable shell script tests" ON
HDF5_DISABLE_TESTS_REGEX "Regex pattern to set execution of specific tests to DISABLED" ""
HDF5_USING_ANALYSIS_TOOL "Indicate that an analysis checker is used" ON
---------------- External Library Options ---------------------
@ -981,14 +981,14 @@ NOTE:
---------------- Unsupported Library Options ---------------------
The threadsafe, C++ and Java interfaces are not compatible
with the HDF5_ENABLE_PARALLEL option.
Unless ALLOW_UNSUPPORTED has been specified,
Unless HDF5_ALLOW_UNSUPPORTED has been specified,
the following options must be disabled:
HDF5_ENABLE_THREADSAFE, HDF5_BUILD_CPP_LIB, HDF5_BUILD_JAVA
The high-level, C++, Fortran and Java interfaces are not compatible
with the HDF5_ENABLE_THREADSAFE option because the lock is not hoisted
into the higher-level API calls.
Unless ALLOW_UNSUPPORTED has been specified,
Unless HDF5_ALLOW_UNSUPPORTED has been specified,
the following options must be disabled:
HDF5_BUILD_HL_LIB, HDF5_BUILD_CPP_LIB, HDF5_BUILD_FORTRAN, HDF5_BUILD_JAVA

View File

@ -47,6 +47,15 @@ New Features
Configuration:
-------------
- Renamed remaining HDF5 library CMake options except for CMake BUILD* variables
DEFAULT_API_VERSION to HDF5_DEFAULT_API_VERSION
DISABLE_PDB_FILES to HDF5_DISABLE_PDB_FILES
ONLY_SHARED_LIBS to HDF5_ONLY_SHARED_LIBS
ALLOW_UNSUPPORTED to HDF5_ALLOW_UNSUPPORTED
TEST_SHELL_SCRIPTS to HDF5_TEST_SHELL_SCRIPTS
All other HDF5 library CMake options are prefixed with HDF5_
- bin/cmakehdf5 has been removed
This was an unsupported build script that made building HDF5 via CMake

View File

@ -95,7 +95,7 @@ const char H5build_settings[]=
" Build HDF5 Tools: @HDF5_BUILD_TOOLS@\n"
" Build GIF Tools: @HDF5_BUILD_HL_GIF_TOOLS@\n"
" Threadsafety: @HDF5_ENABLE_THREADSAFE@\n"
" Default API mapping: @DEFAULT_API_VERSION@\n"
" Default API mapping: @HDF5_DEFAULT_API_VERSION@\n"
" With deprecated public symbols: @HDF5_ENABLE_DEPRECATED_SYMBOLS@\n"
" I/O filters (external): @EXTERNAL_FILTERS@\n"
" _Float16 support: @HDF5_ENABLE_NONSTANDARD_FEATURE_FLOAT16@\n"

View File

@ -76,7 +76,7 @@ Dimension scales w/ new references: @DIMENSION_SCALES_WITH_NEW_REF@
Build GIF Tools: @HDF5_BUILD_HL_GIF_TOOLS@
Threads: @HDF5_ENABLE_THREADS@
Threadsafety: @HDF5_ENABLE_THREADSAFE@
Default API mapping: @DEFAULT_API_VERSION@
Default API mapping: @HDF5_DEFAULT_API_VERSION@
With deprecated public symbols: @HDF5_ENABLE_DEPRECATED_SYMBOLS@
I/O filters (external): @EXTERNAL_FILTERS@
_Float16 support: @HDF5_ENABLE_NONSTANDARD_FEATURE_FLOAT16@

View File

@ -784,7 +784,7 @@ if ("H5TEST-err_compat" MATCHES "${HDF5_DISABLE_TESTS_REGEX}")
endif ()
#-- Adding test for error_test
if (DEFAULT_API_VERSION MATCHES "v16" OR MINGW)
if (HDF5_DEFAULT_API_VERSION MATCHES "v16" OR MINGW)
add_test (NAME H5TEST-error_test COMMAND "${CMAKE_COMMAND}"
-D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
-D "TEST_PROGRAM=$<TARGET_FILE:error_test>"
@ -914,8 +914,8 @@ if (BUILD_SHARED_LIBS)
endif ()
endif ()
option (TEST_SHELL_SCRIPTS "Enable shell script tests" ON)
if (TEST_SHELL_SCRIPTS)
option (HDF5_TEST_SHELL_SCRIPTS "Enable shell script tests" ON)
if (HDF5_TEST_SHELL_SCRIPTS)
include (ShellTests.cmake)
endif()