diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake index 8af0df47f37..121c375de35 100644 --- a/CMakeFilters.cmake +++ b/CMakeFilters.cmake @@ -9,16 +9,16 @@ # If you do not have access to either file, you may request a copy from # help@hdfgroup.org. # -option (HDF5_USE_ZLIB_NG "Use zlib-ng library as zlib library" OFF) -option (HDF5_USE_ZLIB_STATIC "Find static zlib library" OFF) -option (HDF5_USE_LIBAEC_STATIC "Find static AEC library" OFF) -option (ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" OFF) +cmake_dependent_option (HDF5_USE_ZLIB_NG "Use zlib-ng library as zlib library" OFF HDF5_ENABLE_ZLIB_SUPPORT OFF) +cmake_dependent_option (HDF5_USE_ZLIB_STATIC "Find static zlib library" OFF HDF5_ENABLE_ZLIB_SUPPORT OFF) +cmake_dependent_option (HDF5_USE_LIBAEC_STATIC "Find static AEC library" OFF HDF5_ENABLE_SZIP_SUPPORT OFF) +cmake_dependent_option (ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" OFF HDF5_ENABLE_ZLIB_SUPPORT OFF) mark_as_advanced (ZLIB_USE_EXTERNAL) -option (SZIP_USE_EXTERNAL "Use External Library Building for SZIP" OFF) +cmake_dependent_option (SZIP_USE_EXTERNAL "Use External Library Building for SZIP" OFF HDF5_ENABLE_SZIP_SUPPORT OFF) mark_as_advanced (SZIP_USE_EXTERNAL) -option (ZLIB_USE_LOCALCONTENT "Use local file for ZLIB FetchContent" OFF) +cmake_dependent_option (ZLIB_USE_LOCALCONTENT "Use local file for ZLIB FetchContent" OFF HDF5_ENABLE_ZLIB_SUPPORT OFF) mark_as_advanced (ZLIB_USE_LOCALCONTENT) -option (LIBAEC_USE_LOCALCONTENT "Use local file for LIBAEC FetchContent" OFF) +cmake_dependent_option (LIBAEC_USE_LOCALCONTENT "Use local file for LIBAEC FetchContent" OFF HDF5_ENABLE_SZIP_SUPPORT OFF) mark_as_advanced (LIBAEC_USE_LOCALCONTENT) @@ -95,7 +95,7 @@ endif () if (HDF5_ENABLE_ZLIB_SUPPORT) if (NOT H5_ZLIB_HEADER) if (NOT ZLIB_USE_EXTERNAL) - option (HDF5_MODULE_MODE_ZLIB "Prefer module mode to find ZLIB" ON) + cmake_dependent_option (HDF5_MODULE_MODE_ZLIB "Prefer module mode to find ZLIB" ON "NOT ZLIB_USE_EXTERNAL" OFF) mark_as_advanced (HDF5_MODULE_MODE_ZLIB) if (HDF5_USE_ZLIB_NG) set (HDF5_MODULE_MODE_ZLIB OFF CACHE BOOL "" FORCE) @@ -176,7 +176,7 @@ if(NOT DEFINED LIBAEC_PACKAGE_NAME) set(LIBAEC_PACKAGE_NAME "libaec") endif () if (HDF5_ENABLE_SZIP_SUPPORT) - option (HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" ON) + cmake_dependent_option (HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" ON HDF5_ENABLE_SZIP_SUPPORT OFF) if (NOT SZIP_USE_EXTERNAL) if (HDF5_USE_LIBAEC_STATIC) set(LIBAEC_SEARCH_TYPE "static") diff --git a/CMakeLists.txt b/CMakeLists.txt index 761ef800c08..148de525957 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -60,6 +60,11 @@ else() set (HDF5_EXTERNALLY_CONFIGURED 1) endif() endif() + +#----------------------------------------------------------------------------- +# Enable the use of the cmake_dependent_option() function. +include (CMakeDependentOption) + #----------------------------------------------------------------------------- # Instructions for use : Sub-Project Build # @@ -532,13 +537,13 @@ set (H5_ENABLE_STATIC_LIB NO) option (BUILD_SHARED_LIBS "Build Shared Libraries" ON) set (H5_ENABLE_SHARED_LIB NO) -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 (HDF5_ONLY_SHARED_LIBS ON CACHE BOOL "Only Build Shared Libraries" FORCE) endif () +cmake_dependent_option (HDF5_BUILD_STATIC_TOOLS "Build Static Tools NOT Shared Tools" OFF BUILD_STATIC_LIBS OFF) + # only shared libraries is set ON by user then force settings if (HDF5_ONLY_SHARED_LIBS) set (H5_ENABLE_STATIC_LIB NO) @@ -576,6 +581,7 @@ endif () # Option to Build Static executables #----------------------------------------------------------------------------- option (BUILD_STATIC_EXECS "Build Static Executables" OFF) +mark_as_advanced (BUILD_STATIC_EXECS) if (BUILD_STATIC_EXECS) if (NOT WIN32) set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static") @@ -603,6 +609,7 @@ endif () # Option to use code coverage #----------------------------------------------------------------------------- option (HDF5_ENABLE_COVERAGE "Enable code coverage for Libraries and Programs" OFF) +mark_as_advanced (HDF5_ENABLE_COVERAGE) if (HDF5_ENABLE_COVERAGE) include (${HDF_CONFIG_DIR}/sanitizer/code-coverage.cmake) if(CODE_COVERAGE AND CODE_COVERAGE_ADDED) @@ -625,6 +632,7 @@ endif () # Option to indicate using a memory checker #----------------------------------------------------------------------------- option (HDF5_ENABLE_USING_MEMCHECKER "Indicate that a memory checker is used" OFF) +mark_as_advanced (HDF5_ENABLE_USING_MEMCHECKER) if (HDF5_ENABLE_USING_MEMCHECKER) set (H5_USING_MEMCHECKER 1) endif () @@ -662,6 +670,7 @@ if (WIN32) endif () option (HDF5_MINGW_STATIC_GCC_LIBS "Statically link libgcc/libstdc++" OFF) +mark_as_advanced(HDF5_MINGW_STATIC_GCC_LIBS) if (MSVC) set (CMAKE_MFC_FLAG 0) @@ -676,7 +685,7 @@ option (HDF5_ENABLE_TRACE "Enable API tracing capability" OFF) mark_as_advanced (HDF5_ENABLE_TRACE) if (${HDF_CFG_NAME} MATCHES "Debug" OR ${HDF_CFG_NAME} MATCHES "Developer") # Enable instrumenting of the library's internal operations - option (HDF5_ENABLE_INSTRUMENT "Instrument The library" OFF) + cmake_dependent_option (HDF5_ENABLE_INSTRUMENT "Instrument The library" OFF HDF5_ENABLE_TRACE OFF) # Instrumenting is enabled by default for parallel debug builds if (HDF5_ENABLE_PARALLEL) @@ -835,18 +844,12 @@ set (HDF5_SRC_INCLUDE_DIRS ${HDF5_SRC_INCLUDE_DIRS} ${H5FD_SUBFILING_DIR} ) -option (HDF5_ENABLE_SUBFILING_VFD "Build Parallel HDF5 Subfiling VFD" OFF) + +cmake_dependent_option(HDF5_ENABLE_SUBFILING_VFD "Build Parallel HDF5 Subfiling VFD" OFF "HDF5_ENABLE_PARALLEL;NOT WIN32" OFF) if (HDF5_ENABLE_SUBFILING_VFD) - if (WIN32) - message (FATAL_ERROR " **** Subfiling is not supported on Windows **** ") - endif () - if (NOT HDF5_ENABLE_PARALLEL) - message (FATAL_ERROR "Subfiling VFD requires a parallel HDF5 build") - else () - # Make sure we found MPI_Comm_split_type previously - if (NOT H5_HAVE_MPI_Comm_split_type) - message (FATAL_ERROR "Subfiling VFD requires MPI-3 support for MPI_Comm_split_type") - endif () + # Make sure we found MPI_Comm_split_type previously + if (NOT H5_HAVE_MPI_Comm_split_type) + message (FATAL_ERROR "Subfiling VFD requires MPI-3 support for MPI_Comm_split_type") endif () # Subfiling requires thread operations @@ -857,10 +860,6 @@ if (HDF5_ENABLE_SUBFILING_VFD) set (H5_HAVE_SUBFILING_VFD 1) # IOC VFD is currently only built when subfiling is enabled set (H5_HAVE_IOC_VFD 1) - - if(NOT H5_HAVE_SUBFILING_VFD EQUAL 1) - set (HDF5_ENABLE_SUBFILING_VFD OFF CACHE BOOL "Build Parallel HDF5 Subfiling VFD" FORCE) - endif() endif() message (VERBOSE "LINK_LIBS=${LINK_LIBS}") @@ -1119,7 +1118,7 @@ endif () # Option to build HDF5 Utilities #----------------------------------------------------------------------------- if (EXISTS "${HDF5_SOURCE_DIR}/utils" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/utils") - option (HDF5_BUILD_PARALLEL_TOOLS "Build Parallel HDF5 Tools" OFF) + option (HDF5_BUILD_PARALLEL_TOOLS "Build Parallel HDF5 Tools" OFF) if (HDF5_BUILD_PARALLEL_TOOLS AND HDF5_ENABLE_PARALLEL) set (CMAKE_PREFIX_PATH "$HDF_RESOURCES_DIR") find_package (MFU REQUIRED) @@ -1151,7 +1150,7 @@ endif () # Option to build HDF5 Tools #----------------------------------------------------------------------------- if (EXISTS "${HDF5_SOURCE_DIR}/tools" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/tools") - option (HDF5_BUILD_TOOLS "Build HDF5 Tools" ON) + option (HDF5_BUILD_TOOLS "Build HDF5 Tools" ON) if (HDF5_BUILD_TOOLS) add_subdirectory (tools) endif () @@ -1178,7 +1177,7 @@ endif () # Option to build High Level API's #----------------------------------------------------------------------------- if (EXISTS "${HDF5_SOURCE_DIR}/hl" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl") - option (HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" ON) + option (HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" ON) if (HDF5_BUILD_HL_LIB) set (H5_INCLUDE_HL 1) add_subdirectory (hl) @@ -1210,7 +1209,7 @@ endif () # Option to build HDF5 C++ Library #----------------------------------------------------------------------------- if (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++") - option (HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" OFF) + option (HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" OFF) if (HDF5_BUILD_CPP_LIB) # check for unsupported options if (HDF5_ENABLE_PARALLEL) @@ -1237,7 +1236,7 @@ endif () # Option to build HDF5 Java Library #----------------------------------------------------------------------------- if (EXISTS "${HDF5_SOURCE_DIR}/java" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/java") - option (HDF5_BUILD_JAVA "Build Java HDF5 Library" OFF) + option (HDF5_BUILD_JAVA "Build Java HDF5 Library" OFF) if (HDF5_BUILD_JAVA) if (NOT BUILD_SHARED_LIBS) message (FATAL_ERROR "\nJava requires shared libraries!\n") @@ -1256,7 +1255,7 @@ configure_file (${HDF_CONFIG_DIR}/H5pubconf.h.in ${HDF5_SRC_BINARY_DIR}/H5pubcon # Option to build examples #----------------------------------------------------------------------------- if (EXISTS "${HDF5_SOURCE_DIR}/HDF5Examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/HDF5Examples") - option (HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" ON) + option (HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" ON) if (HDF5_BUILD_EXAMPLES AND NOT HDF5_USE_SANITIZER) include (${HDF_RESOURCES_DIR}/HDF5ExampleCache.cmake) set (HDF5_VERSION ${HDF5_PACKAGE_VERSION}) diff --git a/CMakePlugins.cmake b/CMakePlugins.cmake index e8930d0d55f..7b326617eb7 100644 --- a/CMakePlugins.cmake +++ b/CMakePlugins.cmake @@ -10,7 +10,7 @@ # help@hdfgroup.org. # option (PLUGIN_USE_EXTERNAL "Use External Library Building for filter PLUGIN else search" OFF) -option (PLUGIN_USE_LOCALCONTENT "Use local file for PLUGIN FetchContent" OFF) +cmake_dependent_option (PLUGIN_USE_LOCALCONTENT "Use local file for PLUGIN FetchContent" OFF PLUGIN_USE_EXTERNAL OFF) include (ExternalProject) #option (HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building (NO GIT TGZ)" "NO") diff --git a/CMakeTests.cmake b/CMakeTests.cmake index 5c3908fafb1..516ada5d7b9 100644 --- a/CMakeTests.cmake +++ b/CMakeTests.cmake @@ -23,7 +23,7 @@ math (EXPR CTEST_LONG_TIMEOUT "${DART_TESTING_TIMEOUT} * 2") math (EXPR CTEST_VERY_LONG_TIMEOUT "${DART_TESTING_TIMEOUT} * 3") - option (HDF5_DISABLE_TESTS_REGEX "Regex pattern to set execution of specific tests to DISABLED" "") + cmake_dependent_option (HDF5_DISABLE_TESTS_REGEX "Regex pattern to set execution of specific tests to DISABLED" "" BUILD_TESTING "") mark_as_advanced (HDF5_DISABLE_TESTS_REGEX) if (HDF5_ENABLE_ROS3_VFD) @@ -33,18 +33,18 @@ endif () endif () - option (HDF5_TEST_API "Execute HDF5 API tests" ON) + cmake_dependent_option (HDF5_TEST_API "Execute HDF5 API tests" ON BUILD_TESTING OFF) mark_as_advanced (HDF5_TEST_API) if (HDF5_TEST_API) - option (HDF5_TEST_API_INSTALL "Install HDF5 API tests" OFF) + cmake_dependent_option (HDF5_TEST_API_INSTALL "Install HDF5 API tests" OFF HDF5_TEST_API OFF) mark_as_advanced (HDF5_TEST_API_INSTALL) # Enable HDF5 Async API tests - option (HDF5_TEST_API_ENABLE_ASYNC "Enable HDF5 Async API tests" OFF) + cmake_dependent_option (HDF5_TEST_API_ENABLE_ASYNC "Enable HDF5 Async API tests" OFF HDF5_TEST_API OFF) mark_as_advanced (HDF5_TEST_API_ENABLE_ASYNC) # Build and use HDF5 test driver program for API tests - option (HDF5_TEST_API_ENABLE_DRIVER "Enable HDF5 API test driver program" OFF) + cmake_dependent_option (HDF5_TEST_API_ENABLE_DRIVER "Enable HDF5 API test driver program" OFF HDF5_TEST_API OFF) mark_as_advanced (HDF5_TEST_API_ENABLE_DRIVER) if (HDF5_TEST_API_ENABLE_DRIVER) set (HDF5_TEST_API_SERVER "" CACHE STRING "Server executable for running API tests") @@ -52,20 +52,20 @@ endif () endif () - option (HDF5_TEST_VFD "Execute tests with different VFDs" OFF) + cmake_dependent_option (HDF5_TEST_VFD "Execute tests with different VFDs" OFF BUILD_TESTING OFF) mark_as_advanced (HDF5_TEST_VFD) if (HDF5_TEST_VFD) - option (HDF5_TEST_FHEAP_VFD "Execute tests with different VFDs" ON) + cmake_dependent_option (HDF5_TEST_FHEAP_VFD "Execute tests with different VFDs" ON HDF5_TEST_VFD OFF) mark_as_advanced (HDF5_TEST_FHEAP_VFD) # Initialize the list of VFDs to be used for testing and create a test folder for each VFD H5_SET_VFD_LIST() endif () - option (HDF5_TEST_PASSTHROUGH_VOL "Execute tests with different passthrough VOL connectors" OFF) + cmake_dependent_option (HDF5_TEST_PASSTHROUGH_VOL "Execute tests with different passthrough VOL connectors" OFF BUILD_TESTING OFF) mark_as_advanced (HDF5_TEST_PASSTHROUGH_VOL) if (HDF5_TEST_PASSTHROUGH_VOL) - option (HDF5_TEST_FHEAP_PASSTHROUGH_VOL "Execute fheap test with different passthrough VOL connectors" ON) + cmake_dependent_option (HDF5_TEST_FHEAP_PASSTHROUGH_VOL "Execute fheap test with different passthrough VOL connectors" ON HDF5_TEST_PASSTHROUGH_VOL OFF) mark_as_advanced (HDF5_TEST_FHEAP_PASSTHROUGH VOL) endif () @@ -83,28 +83,28 @@ include (${HDF5_SOURCE_DIR}/CTestConfig.cmake) configure_file (${HDF_CONFIG_DIR}/CTestCustom.cmake ${HDF5_BINARY_DIR}/CTestCustom.ctest @ONLY) - option (HDF5_TEST_SERIAL "Execute non-parallel tests" ON) + cmake_dependent_option (HDF5_TEST_SERIAL "Execute non-parallel tests" ON BUILD_TESTING OFF) mark_as_advanced (HDF5_TEST_SERIAL) - option (HDF5_TEST_TOOLS "Execute tools tests" ON) + cmake_dependent_option (HDF5_TEST_TOOLS "Execute tools tests" ON "BUILD_TESTING;HDF5_BUILD_TOOLS" OFF) mark_as_advanced (HDF5_TEST_TOOLS) - option (HDF5_TEST_EXAMPLES "Execute tests on examples" ON) + cmake_dependent_option (HDF5_TEST_EXAMPLES "Execute tests on examples" ON "BUILD_TESTING;HDF5_BUILD_EXAMPLES" OFF) mark_as_advanced (HDF5_TEST_EXAMPLES) - option (HDF5_TEST_SWMR "Execute SWMR tests" ON) + cmake_dependent_option (HDF5_TEST_SWMR "Execute SWMR tests" ON BUILD_TESTING OFF) mark_as_advanced (HDF5_TEST_SWMR) - option (HDF5_TEST_PARALLEL "Execute parallel tests" ON) + cmake_dependent_option (HDF5_TEST_PARALLEL "Execute parallel tests" ON "BUILD_TESTING;HDF5_ENABLE_PARALLEL" OFF) mark_as_advanced (HDF5_TEST_PARALLEL) - option (HDF5_TEST_FORTRAN "Execute fortran tests" ON) + cmake_dependent_option (HDF5_TEST_FORTRAN "Execute fortran tests" ON "BUILD_TESTING;HDF5_BUILD_FORTRAN" OFF) mark_as_advanced (HDF5_TEST_FORTRAN) - option (HDF5_TEST_CPP "Execute cpp tests" ON) + cmake_dependent_option (HDF5_TEST_CPP "Execute cpp tests" ON "BUILD_TESTING;HDF5_BUILD_CPP_LIB" OFF) mark_as_advanced (HDF5_TEST_CPP) - option (HDF5_TEST_JAVA "Execute java tests" ON) + cmake_dependent_option (HDF5_TEST_JAVA "Execute java tests" ON "BUILD_TESTING;HDF5_BUILD_JAVA" OFF) mark_as_advanced (HDF5_TEST_JAVA) if (NOT HDF5_EXTERNALLY_CONFIGURED) diff --git a/config/ConfigureChecks.cmake b/config/ConfigureChecks.cmake index d6e08f4be7d..65b8c8de5ba 100644 --- a/config/ConfigureChecks.cmake +++ b/config/ConfigureChecks.cmake @@ -467,7 +467,6 @@ mark_as_advanced (HDF5_STRICT_FORMAT_CHECKS) if (HDF5_STRICT_FORMAT_CHECKS) set (${HDF_PREFIX}_STRICT_FORMAT_CHECKS 1) endif () -MARK_AS_ADVANCED (HDF5_STRICT_FORMAT_CHECKS) # ---------------------------------------------------------------------- # Decide whether the data accuracy has higher priority during data @@ -480,7 +479,6 @@ mark_as_advanced (HDF5_WANT_DATA_ACCURACY) if (HDF5_WANT_DATA_ACCURACY) set (${HDF_PREFIX}_WANT_DATA_ACCURACY 1) endif () -MARK_AS_ADVANCED (HDF5_WANT_DATA_ACCURACY) # ---------------------------------------------------------------------- # Decide whether the presence of user's exception handling functions is @@ -493,7 +491,6 @@ mark_as_advanced (HDF5_WANT_DCONV_EXCEPTION) if (HDF5_WANT_DCONV_EXCEPTION) set (${HDF_PREFIX}_WANT_DCONV_EXCEPTION 1) endif () -MARK_AS_ADVANCED (HDF5_WANT_DCONV_EXCEPTION) # ---------------------------------------------------------------------- # Check if they would like to show all warnings (not suppressed internally) @@ -504,12 +501,12 @@ if (HDF5_SHOW_ALL_WARNINGS) message (STATUS "....All warnings will be displayed") set (${HDF_PREFIX}_SHOW_ALL_WARNINGS 1) endif () -MARK_AS_ADVANCED (HDF5_SHOW_ALL_WARNINGS) # ---------------------------------------------------------------------- # Check if they would like to use file locking by default #----------------------------------------------------------------------------- option (HDF5_USE_FILE_LOCKING "Use file locking by default (mainly for SWMR)" ON) +mark_as_advanced (HDF5_USE_FILE_LOCKING) if (HDF5_USE_FILE_LOCKING) set (${HDF_PREFIX}_USE_FILE_LOCKING 1) endif () @@ -518,6 +515,7 @@ endif () # Check if they would like to ignore file locks when disabled on a file system #----------------------------------------------------------------------------- option (HDF5_IGNORE_DISABLED_FILE_LOCKS "Ignore file locks when disabled on file system" ON) +mark_as_advanced (HDF5_IGNORE_DISABLED_FILE_LOCKS) if (HDF5_IGNORE_DISABLED_FILE_LOCKS) set (${HDF_PREFIX}_IGNORE_DISABLED_FILE_LOCKS 1) endif () @@ -618,7 +616,7 @@ if (HDF5_ENABLE_ROS3_VFD) set (${HDF_PREFIX}_HAVE_ROS3_VFD 1) - option (HDF5_ENABLE_ROS3_VFD_DOCKER_PROXY "Use docker for ROS3 VFD S3proxy testing" OFF) + cmake_dependent_option (HDF5_ENABLE_ROS3_VFD_DOCKER_PROXY "Use docker for ROS3 VFD S3proxy testing" OFF HDF5_ENABLE_ROS3_VFD OFF) if (HDF5_ENABLE_ROS3_VFD_DOCKER_PROXY) # check if docker is available find_program (DOCKER_EXECUTABLE docker) @@ -983,7 +981,7 @@ H5ConversionTests (${HDF_PREFIX}_DISABLE_SOME_LDOUBLE_CONV FALSE "Checking IF th # be enabled or disabled with their respective options below option (HDF5_ENABLE_NONSTANDARD_FEATURES "Enable support for non-standard programming language features" ON) # Options for enabling or disabling individual features -option (HDF5_ENABLE_NONSTANDARD_FEATURE_FLOAT16 "Enable support for _Float16 C datatype" ${HDF5_ENABLE_NONSTANDARD_FEATURES}) +cmake_dependent_option (HDF5_ENABLE_NONSTANDARD_FEATURE_FLOAT16 "Enable support for _Float16 C datatype" ON HDF5_ENABLE_NONSTANDARD_FEATURES OFF) #----------------------------------------------------------------------------- # Check if _Float16 type is available diff --git a/config/HDF5Macros.cmake b/config/HDF5Macros.cmake index e1bb13315f5..f0824ac85c6 100644 --- a/config/HDF5Macros.cmake +++ b/config/HDF5Macros.cmake @@ -38,7 +38,8 @@ macro (H5_SET_LIB_OPTIONS libtarget libname libtype libpackage) #-- Apple Specific install_name for libraries if (APPLE) - option (HDF5_BUILD_WITH_INSTALL_NAME "Build with library install_name set to the installation path" OFF) + cmake_dependent_option (HDF5_BUILD_WITH_INSTALL_NAME "Build with library install_name set to the installation path" OFF APPLE OFF) + mark_as_advanced(HDF5_BUILD_WITH_INSTALL_NAME) if (HDF5_BUILD_WITH_INSTALL_NAME) set_target_properties (${libtarget} PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib" diff --git a/config/HDFMacros.cmake b/config/HDFMacros.cmake index d1411cf1682..22beab5e210 100644 --- a/config/HDFMacros.cmake +++ b/config/HDFMacros.cmake @@ -122,7 +122,7 @@ endmacro () #------------------------------------------------------------------------------- macro (INSTALL_TARGET_PDB libtarget targetdestination targetcomponent) - option (HDF5_DISABLE_PDB_FILES "Do not install PDB files" OFF) + cmake_dependent_option (HDF5_DISABLE_PDB_FILES "Do not install PDB files" OFF "WIN32;MSVC" 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) @@ -192,7 +192,8 @@ macro (HDF_SET_LIB_OPTIONS libtarget libname libtype) endif () endif () - option (HDF5_MSVC_NAMING_CONVENTION "Use MSVC Naming conventions for Shared Libraries" OFF) + cmake_dependent_option (HDF5_MSVC_NAMING_CONVENTION "Use MSVC Naming conventions for Shared Libraries" OFF MSVC OFF) + mark_as_advanced(HDF5_MSVC_NAMING_CONVENTION) if (HDF5_MSVC_NAMING_CONVENTION AND MINGW AND ${libtype} MATCHES "SHARED") set_target_properties (${libtarget} PROPERTIES IMPORT_SUFFIX ".lib" diff --git a/doxygen/Doxyfile.in b/doxygen/Doxyfile.in index 31d1aa640d8..12327c978a3 100644 --- a/doxygen/Doxyfile.in +++ b/doxygen/Doxyfile.in @@ -496,7 +496,7 @@ SORT_MEMBER_DOCS = YES # this will also influence the order of the classes in the class list. # The default value is: NO. -SORT_BRIEF_DOCS = NO +SORT_BRIEF_DOCS = YES # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then Doxygen will sort the # (brief and detailed) documentation of class members so that constructors and diff --git a/hl/CMakeLists.txt b/hl/CMakeLists.txt index ec51d58c3ca..bff4bc0a07c 100644 --- a/hl/CMakeLists.txt +++ b/hl/CMakeLists.txt @@ -4,7 +4,7 @@ project (HDF5_HL C) #----------------------------------------------------------------------------- # Option to use new-style references with dimension scale APIs #----------------------------------------------------------------------------- -option (HDF5_DIMENSION_SCALES_NEW_REF "Use new-style references with dimension scale APIs" OFF) +cmake_dependent_option (HDF5_DIMENSION_SCALES_NEW_REF "Use new-style references with dimension scale APIs" OFF HDF5_BUILD_HL_LIB OFF) if (HDF5_DIMENSION_SCALES_NEW_REF) set (H5_DIMENSION_SCALES_WITH_NEW_REF 1) endif () diff --git a/java/CMakeLists.txt b/java/CMakeLists.txt index 0a4371917a8..4b59c73bfae 100644 --- a/java/CMakeLists.txt +++ b/java/CMakeLists.txt @@ -61,7 +61,7 @@ install ( #----------------------------------------------------------------------------- # Option to include jre #----------------------------------------------------------------------------- -option (HDF5_JAVA_PACK_JRE "Package a JRE installer directory" OFF) +cmake_dependent_option (HDF5_JAVA_PACK_JRE "Package a JRE installer directory" OFF HDF5_BUILD_JAVA OFF) if (HDF5_JAVA_PACK_JRE) install ( DIRECTORY ${HDF_JRE_DIRECTORY}