6 nnas_find_package(HDF5Source QUIET)
8 if(NOT HDF5Source_FOUND)
10 endif(NOT HDF5Source_FOUND)
12 nnas_include(ExternalBuildTools)
13 ExternalBuild_CMake(CMAKE_DIR ${HDF5Source_DIR}
14 BUILD_DIR ${CMAKE_BINARY_DIR}/externals/HDF5/build
15 INSTALL_DIR ${EXT_OVERLAY_DIR}
18 EXTRA_OPTS "-DBUILD_SHARED_LIBS:BOOL=ON"
19 "-DHDF5_BUILD_TOOLS:BOOL=ON"
20 "-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF"
21 "-DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF")
23 endfunction(_HDF5_build)
27 find_path(HDF5_CONFIG_DIR "hdf5-config.cmake"
28 PATHS ${EXT_OVERLAY_DIR}
36 include(${HDF5_CONFIG_DIR}/hdf5-config.cmake)
38 unset(HDF5_INCLUDE_DIRS)
39 unset(HDF5_C_INCLUDE_DIRS)
40 unset(HDF5_CXX_INCLUDE_DIRS)
41 unset(HDF5_HL_INCLUDE_DIRS)
44 unset(HDF5_HL_LIBRARIES)
45 unset(HDF5_C_LIBRARIES)
46 unset(HDF5_CXX_LIBRARIES)
47 unset(HDF5_C_HL_LIBRARIES)
48 unset(HDF5_CXX_HL_LIBRARIES)
50 # If user doesn't specify static or shared, set it to shared by default
51 list(FIND HDF5_FIND_COMPONENTS "STATIC" _index)
52 if(${_index} GREATER -1)
54 set(_SUFFIX "-static")
57 set(_SUFFIX "-shared")
60 list(REMOVE_ITEM HDF5_FIND_COMPONENTS "static;shared")
61 set(HDF5_INCLUDE_DIRS ${HDF5_INCLUDE_DIR})
62 foreach(COMP HDF5_FIND_COMPONENTS)
63 set(HDF5_${COMP}_INCLUDE_DIRS ${HDF5_INCLUDE_DIR})
66 set(HDF5_LIBRARIES "hdf5${_SUFFIX}")
67 set(HDF5_C_LIBRARIES "hdf5${_SUFFIX}")
68 set(HDF5_CXX_LIBRARIES "hdf5_cpp${_SUFFIX}")
69 set(HDF5_HL_LIBRARIES "hdf5_hl${_SUFFIX}")
70 set(HDF5_C_HL_LIBRARIES "hdf5_hl${_SUFFIX}")
71 set(HDF5_CXX_HL_LIBRARIES "hdf5_hl_cpp${_SUFFIX}")