Imported Upstream version 1.8.0
[platform/core/ml/nnfw.git] / infra / cmake / packages / HDF5Config.cmake
1 function(_HDF5_build)
2   if(NOT BUILD_HDF5)
3     return()
4   endif(NOT BUILD_HDF5)
5
6   nnas_find_package(HDF5Source QUIET)
7
8   if(NOT HDF5Source_FOUND)
9     return()
10   endif(NOT HDF5Source_FOUND)
11
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}
16                       IDENTIFIER  "1.8.16"
17                       PKG_NAME    "HDF5"
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")
22
23 endfunction(_HDF5_build)
24
25 _HDF5_build()
26
27 find_path(HDF5_CONFIG_DIR "hdf5-config.cmake"
28           PATHS ${EXT_OVERLAY_DIR}
29           PATH_SUFFIXES
30             cmake
31             share/cmake
32             share/cmake/hdf5
33             cmake/hdf5
34             lib/cmake/hdf5)
35
36 include(${HDF5_CONFIG_DIR}/hdf5-config.cmake)
37
38 unset(HDF5_INCLUDE_DIRS)
39 unset(HDF5_C_INCLUDE_DIRS)
40 unset(HDF5_CXX_INCLUDE_DIRS)
41 unset(HDF5_HL_INCLUDE_DIRS)
42
43 unset(HDF5_LIBRARIES)
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)
49
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)
53   # static
54   set(_SUFFIX "-static")
55 else()
56   # shared
57   set(_SUFFIX "-shared")
58 endif()
59
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})
64 endforeach()
65
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}")