diff options
Diffstat (limited to 'config/cmake/hdf5-config.cmake.in')
-rw-r--r-- | config/cmake/hdf5-config.cmake.in | 155 |
1 files changed, 108 insertions, 47 deletions
diff --git a/config/cmake/hdf5-config.cmake.in b/config/cmake/hdf5-config.cmake.in index 8287c7b..667d3e6 100644 --- a/config/cmake/hdf5-config.cmake.in +++ b/config/cmake/hdf5-config.cmake.in @@ -3,63 +3,76 @@ #----------------------------------------------------------------------------- @PACKAGE_INIT@ +string(TOUPPER @HDF5_PACKAGE@ HDF5_PACKAGE_NAME) + +set (${HDF5_PACKAGE_NAME}_VALID_COMPONENTS + C + CXX + Fortran + HL + CXX_HL + Fortran_HL + Tools +) + #----------------------------------------------------------------------------- # User Options #----------------------------------------------------------------------------- -set (HDF5_ENABLE_PARALLEL @HDF5_ENABLE_PARALLEL@) -set (HDF5_BUILD_FORTRAN @HDF5_BUILD_FORTRAN@) -set (HDF5_ENABLE_F2003 @HDF5_ENABLE_F2003@) -set (HDF5_BUILD_CPP_LIB @HDF5_BUILD_CPP_LIB@) -set (HDF5_BUILD_TOOLS @HDF5_BUILD_TOOLS@) -set (HDF5_BUILD_HL_LIB @HDF5_BUILD_HL_LIB@) -set (HDF5_ENABLE_Z_LIB_SUPPORT @HDF5_ENABLE_Z_LIB_SUPPORT@) -set (HDF5_ENABLE_SZIP_SUPPORT @HDF5_ENABLE_SZIP_SUPPORT@) -set (HDF5_ENABLE_SZIP_ENCODING @HDF5_ENABLE_SZIP_ENCODING@) -set (HDF5_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@) -set (HDF5_PACKAGE_EXTLIBS @HDF5_PACKAGE_EXTLIBS@) +set (${HDF5_PACKAGE_NAME}_ENABLE_PARALLEL @HDF5_ENABLE_PARALLEL@) +set (${HDF5_PACKAGE_NAME}_BUILD_FORTRAN @HDF5_BUILD_FORTRAN@) +set (${HDF5_PACKAGE_NAME}_ENABLE_F2003 @HDF5_ENABLE_F2003@) +set (${HDF5_PACKAGE_NAME}_BUILD_CPP_LIB @HDF5_BUILD_CPP_LIB@) +set (${HDF5_PACKAGE_NAME}_BUILD_TOOLS @HDF5_BUILD_TOOLS@) +set (${HDF5_PACKAGE_NAME}_BUILD_HL_LIB @HDF5_BUILD_HL_LIB@) +set (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT @HDF5_ENABLE_Z_LIB_SUPPORT@) +set (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT @HDF5_ENABLE_SZIP_SUPPORT@) +set (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_ENCODING @HDF5_ENABLE_SZIP_ENCODING@) +set (${HDF5_PACKAGE_NAME}_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@) +set (${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS @HDF5_PACKAGE_EXTLIBS@) +set (${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES @HDF5_LIBRARIES_TO_EXPORT@) #----------------------------------------------------------------------------- # Dependencies #----------------------------------------------------------------------------- -IF(HDF5_ENABLE_PARALLEL) - SET(HDF5_MPI_C_INCLUDE_PATH "@MPI_C_INCLUDE_PATH@") - SET(HDF5_MPI_C_LIBRARIES "@MPI_C_LIBRARIES@") -ENDIF(HDF5_ENABLE_PARALLEL) +if (${HDF5_PACKAGE_NAME}_ENABLE_PARALLEL) + set (${HDF5_PACKAGE_NAME}_MPI_C_INCLUDE_PATH "@MPI_C_INCLUDE_PATH@") + set (${HDF5_PACKAGE_NAME}_MPI_C_LIBRARIES "@MPI_C_LIBRARIES@") +endif () #----------------------------------------------------------------------------- # Directories #----------------------------------------------------------------------------- -set (HDF5_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@" "${HDF5_MPI_C_INCLUDE_PATH}" ) +set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@" "${${HDF5_PACKAGE_NAME}_MPI_C_INCLUDE_PATH}") -set (HDF5_SHARE_DIR "@PACKAGE_SHARE_INSTALL_DIR@") -set_and_check (HDF5_BUILD_DIR "@PACKAGE_CURRENT_BUILD_DIR@") +set (${HDF5_PACKAGE_NAME}_SHARE_DIR "@PACKAGE_SHARE_INSTALL_DIR@") +set_and_check (${HDF5_PACKAGE_NAME}_BUILD_DIR "@PACKAGE_CURRENT_BUILD_DIR@") -if (HDF5_BUILD_FORTRAN) - set (HDF5_INCLUDE_DIR_FORTRAN "@PACKAGE_INCLUDE_INSTALL_DIR@" ) -endif (HDF5_BUILD_FORTRAN) +if (${HDF5_PACKAGE_NAME}_BUILD_FORTRAN) + set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_FORTRAN "@PACKAGE_INCLUDE_INSTALL_DIR@") +endif () -if (HDF5_BUILD_CPP_LIB) - set (HDF5_INCLUDE_DIR_CPP "@PACKAGE_INCLUDE_INSTALL_DIR@" ) -endif (HDF5_BUILD_CPP_LIB) +if (${HDF5_PACKAGE_NAME}_BUILD_CPP_LIB) + set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_CPP "@PACKAGE_INCLUDE_INSTALL_DIR@") +endif () -if (HDF5_BUILD_HL_LIB) - set (HDF5_INCLUDE_DIR_HL "@PACKAGE_INCLUDE_INSTALL_DIR@" ) -endif (HDF5_BUILD_HL_LIB) +if (${HDF5_PACKAGE_NAME}_BUILD_HL_LIB) + set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_HL "@PACKAGE_INCLUDE_INSTALL_DIR@") +endif () -if (HDF5_BUILD_HL_LIB AND HDF5_BUILD_CPP_LIB) - set (HDF5_INCLUDE_DIR_HL_CPP "@PACKAGE_INCLUDE_INSTALL_DIR@" ) -endif (HDF5_BUILD_HL_LIB AND HDF5_BUILD_CPP_LIB) +if (${HDF5_PACKAGE_NAME}_BUILD_HL_LIB AND ${HDF5_PACKAGE_NAME}_BUILD_CPP_LIB) + set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_HL_CPP "@PACKAGE_INCLUDE_INSTALL_DIR@") +endif () -if (HDF5_BUILD_TOOLS) - set (HDF5_INCLUDE_DIR_TOOLS "@PACKAGE_INCLUDE_INSTALL_DIR@" ) - set_and_check (HDF5_TOOLS_DIR "@PACKAGE_CURRENT_BUILD_DIR@/bin" ) -endif (HDF5_BUILD_TOOLS) +if (${HDF5_PACKAGE_NAME}_BUILD_TOOLS) + set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_TOOLS "@PACKAGE_INCLUDE_INSTALL_DIR@") + set_and_check (${HDF5_PACKAGE_NAME}_TOOLS_DIR "@PACKAGE_CURRENT_BUILD_DIR@/bin") +endif () if (HDF5_BUILD_SHARED_LIBS) - set (H5_BUILT_AS_DYNAMIC_LIB 1 ) -else (HDF5_BUILD_SHARED_LIBS) - set (H5_BUILT_AS_STATIC_LIB 1 ) -endif (HDF5_BUILD_SHARED_LIBS) + set (H5_BUILT_AS_DYNAMIC_LIB 1) +else () + set (H5_BUILT_AS_STATIC_LIB 1) +endif () #----------------------------------------------------------------------------- # Version Strings @@ -73,14 +86,62 @@ set (HDF5_VERSION_MINOR @HDF5_VERSION_MINOR@) # project which has already built hdf5 as a subproject #----------------------------------------------------------------------------- if (NOT TARGET "@HDF5_PACKAGE@") - if (HDF5_ENABLE_Z_LIB_SUPPORT AND HDF5_PACKAGE_EXTLIBS AND NOT TARGET "zlib") - include (@PACKAGE_SHARE_INSTALL_DIR@/@ZLIB_PACKAGE_NAME@/@ZLIB_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) - endif (HDF5_ENABLE_Z_LIB_SUPPORT AND HDF5_PACKAGE_EXTLIBS AND NOT TARGET "zlib") - if (HDF5_ENABLE_SZIP_SUPPORT AND HDF5_PACKAGE_EXTLIBS AND NOT TARGET "szip") - include (@PACKAGE_SHARE_INSTALL_DIR@/@SZIP_PACKAGE_NAME@/@SZIP_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) - endif (HDF5_ENABLE_SZIP_SUPPORT AND HDF5_PACKAGE_EXTLIBS AND NOT TARGET "szip") + if (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS AND NOT TARGET "zlib") + include (@PACKAGE_SHARE_INSTALL_DIR@/@ZLIB_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) + endif () + if (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS AND NOT TARGET "szip") + include (@PACKAGE_SHARE_INSTALL_DIR@/@SZIP_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) + endif () include (@PACKAGE_SHARE_INSTALL_DIR@/@HDF5_PACKAGE@@HDF_PACKAGE_EXT@-targets.cmake) - set (HDF5_LIBRARIES "@HDF5_LIBRARIES_TO_EXPORT@") -endif (NOT TARGET "@HDF5_PACKAGE@") +endif () + +# Handle default component : +if (NOT ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS) + set (${HDF5_PACKAGE_NAME}_FIND_COMPONENTS C HL) + set (${HDF5_PACKAGE_NAME}_FIND_REQUIRED_C true) +endif () + +# Handle requested components: +list (REMOVE_DUPLICATES ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS) + foreach (comp IN LISTS ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS) + set (hdf5_comp2) + if (${comp} STREQUAL "C") + set (hdf5_comp "hdf5") + elseif (${comp} STREQUAL "CXX") + set (hdf5_comp "hdf5_cpp") + elseif (${comp} STREQUAL "HL") + set (hdf5_comp "hdf5_hl") + elseif (${comp} STREQUAL "CXX_HL") + set (hdf5_comp "hdf5_hl_cpp") + elseif (${comp} STREQUAL "Tools") + set (hdf5_comp "hdf5_tools") + elseif (${comp} STREQUAL "Fortran") + set (hdf5_comp2 "hdf5_f90cstub") + set (hdf5_comp "hdf5_fortran") + elseif (${comp} STREQUAL "Fortran_HL") + set (hdf5_comp2 "hdf5_hl_f90cstub") + set (hdf5_comp "hdf5_hl_fortran") + endif () + list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp}" HAVE_COMP) + if (${HAVE_COMP} LESS 0) + set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 0) + else () + if (hdf5_comp2) + list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp2}" HAVE_COMP2) + if (${HAVE_COMP2} LESS 0) + set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 0) + else () + set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 1) + string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_LIBRARY COMP_LIBRARY) + set (${HDF5_PACKAGE_NAME}_LIBRARIES ${${HDF5_PACKAGE_NAME}_LIBRARIES} ${hdf5_comp2} ${hdf5_comp}) + endif () + else () + set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 1) + string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_LIBRARY COMP_LIBRARY) + set (${HDF5_PACKAGE_NAME}_LIBRARIES ${${HDF5_PACKAGE_NAME}_LIBRARIES} ${hdf5_comp}) + endif () + endif () + endforeach () -check_required_components(hdf5) + check_required_components(${HDF5_PACKAGE_NAME}_FIND_COMPONENTS) +
\ No newline at end of file |