summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt114
1 files changed, 12 insertions, 102 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f5f5d19..d96cc56 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -222,6 +222,7 @@ set (HDF5_HL_CPP_SRC_DIR ${HDF5_SOURCE_DIR}/hl/c++)
set (HDF5_HL_TOOLS_DIR ${HDF5_SOURCE_DIR}/hl/tools)
set (HDF5_TOOLS_DIR ${HDF5_SOURCE_DIR}/tools)
set (HDF5_TOOLS_SRC_DIR ${HDF5_SOURCE_DIR}/tools/src)
+set (HDF5_TOOLS_TST_DIR ${HDF5_SOURCE_DIR}/tools/test)
set (HDF5_PERFORM_SRC_DIR ${HDF5_SOURCE_DIR}/tools/src/perform)
set (HDF5_UTILS_DIR ${HDF5_SOURCE_DIR}/utils)
set (HDF5_F90_SRC_DIR ${HDF5_SOURCE_DIR}/fortran)
@@ -450,6 +451,12 @@ include (${HDF_RESOURCES_DIR}/ConfigureChecks.cmake)
set (CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON)
#-----------------------------------------------------------------------------
+# Include directories in the source or build tree should come before other
+# directories to prioritize headers in the sources over installed ones.
+#-----------------------------------------------------------------------------
+set(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON)
+
+#-----------------------------------------------------------------------------
# Mac OS X Options
#-----------------------------------------------------------------------------
if (HDF5_BUILD_FRAMEWORKS AND NOT BUILD_SHARED_LIBS)
@@ -722,6 +729,9 @@ set (HDF5_SRC_INCLUDE_DIRS
)
option (HDF5_ENABLE_SUBFILING_VFD "Build Parallel HDF5 Subfiling VFD" 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 ()
@@ -730,7 +740,7 @@ if (HDF5_ENABLE_SUBFILING_VFD)
if (NOT H5_HAVE_MPI_Comm_split_type)
message (FATAL_ERROR "Subfiling VFD requires MPI-3 support for MPI_Comm_split_type")
endif ()
- endif()
+ endif ()
if (NOT DEFINED Threads_FOUND)
set (THREADS_PREFER_PTHREAD_FLAG ON)
@@ -846,13 +856,6 @@ option (HDF5_PACKAGE_EXTLIBS "CPACK - include external libraries" OFF)
if (NOT HDF5_EXTERNALLY_CONFIGURED)
if (HDF5_PACKAGE_EXTLIBS)
set (HDF5_NO_PACKAGES OFF CACHE BOOL "CPACK - Disable packaging" FORCE)
- if (HDF5_ENABLE_Z_LIB_SUPPORT AND ZLIB_FOUND AND NOT BUILD_ZLIB_WITH_FETCHCONTENT)
- PACKAGE_ZLIB_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT})
- endif ()
-
- if (HDF5_ENABLE_SZIP_SUPPORT AND SZIP_FOUND AND NOT BUILD_SZIP_WITH_FETCHCONTENT)
- PACKAGE_SZIP_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT})
- endif ()
endif ()
endif ()
@@ -947,100 +950,7 @@ endif ()
#-----------------------------------------------------------------------------
option (BUILD_TESTING "Build HDF5 Unit Testing" ON)
if (BUILD_TESTING)
- set (DART_TESTING_TIMEOUT 1200
- CACHE STRING
- "Timeout in seconds for each test (default 1200=20minutes)"
- )
-
- # Generate a list of timeouts based on DART_TESTING_TIMEOUT
- math (EXPR CTEST_SHORT_TIMEOUT "${DART_TESTING_TIMEOUT} / 2")
- math (EXPR CTEST_LONG_TIMEOUT "${DART_TESTING_TIMEOUT} * 2")
- math (EXPR CTEST_VERY_LONG_TIMEOUT "${DART_TESTING_TIMEOUT} * 3")
-
- option (HDF5_TEST_API "Execute HDF5 API tests" OFF)
- mark_as_advanced (HDF5_TEST_API)
- if (HDF5_TEST_API)
- option (HDF5_TEST_API_INSTALL "Install HDF5 API tests" 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)
- 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)
- 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")
- mark_as_advanced (HDF5_TEST_API_SERVER)
- endif ()
- endif ()
-
- option (HDF5_TEST_VFD "Execute tests with different VFDs" OFF)
- mark_as_advanced (HDF5_TEST_VFD)
- if (HDF5_TEST_VFD)
- option (HDF5_TEST_FHEAP_VFD "Execute tests with different VFDs" ON)
- 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)
- 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)
- mark_as_advanced (HDF5_TEST_FHEAP_PASSTHROUGH VOL)
- endif ()
-
- set (H5_TEST_EXPRESS_LEVEL_DEFAULT "3")
- set (HDF_TEST_EXPRESS "${H5_TEST_EXPRESS_LEVEL_DEFAULT}"
- CACHE STRING "Control testing framework (0-3) (0 = exhaustive testing; 3 = quicker testing)")
- mark_as_advanced (HDF_TEST_EXPRESS)
- if (NOT "${HDF_TEST_EXPRESS}" STREQUAL "")
- set (H5_TEST_EXPRESS_LEVEL_DEFAULT "${HDF_TEST_EXPRESS}")
- endif ()
-
- enable_testing ()
- include (CTest)
-
- include (${HDF5_SOURCE_DIR}/CTestConfig.cmake)
- configure_file (${HDF_RESOURCES_DIR}/CTestCustom.cmake ${HDF5_BINARY_DIR}/CTestCustom.ctest @ONLY)
-
- option (HDF5_TEST_SERIAL "Execute non-parallel tests" ON)
- mark_as_advanced (HDF5_TEST_SERIAL)
-
- option (HDF5_TEST_TOOLS "Execute tools tests" ON)
- mark_as_advanced (HDF5_TEST_TOOLS)
-
- option (HDF5_TEST_EXAMPLES "Execute tests on examples" ON)
- mark_as_advanced (HDF5_TEST_EXAMPLES)
-
- option (HDF5_TEST_SWMR "Execute SWMR tests" ON)
- mark_as_advanced (HDF5_TEST_SWMR)
-
- option (HDF5_TEST_PARALLEL "Execute parallel tests" ON)
- mark_as_advanced (HDF5_TEST_PARALLEL)
-
- option (HDF5_TEST_FORTRAN "Execute fortran tests" ON)
- mark_as_advanced (HDF5_TEST_FORTRAN)
-
- option (HDF5_TEST_CPP "Execute cpp tests" ON)
- mark_as_advanced (HDF5_TEST_CPP)
-
- option (HDF5_TEST_JAVA "Execute java tests" ON)
- mark_as_advanced (HDF5_TEST_JAVA)
-
- if (NOT HDF5_EXTERNALLY_CONFIGURED)
- if (EXISTS "${HDF5_TEST_SRC_DIR}" AND IS_DIRECTORY "${HDF5_TEST_SRC_DIR}")
- add_subdirectory (test)
- endif ()
- if (H5_HAVE_PARALLEL)
- if (EXISTS "${HDF5_TEST_PAR_DIR}" AND IS_DIRECTORY "${HDF5_TEST_PAR_DIR}")
- add_subdirectory (testpar)
- endif ()
- endif ()
- endif ()
+ include (CMakeTests.cmake)
endif ()
#-----------------------------------------------------------------------------