mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-12-15 07:40:23 +08:00
b9a27fddaa
* commit '0d05cb607e5951f3a28a101be56ca194022a7fa1': Reverted addition of The HDF Group copyright headers to 3rd party CMake files for Java. Add Copyright headers to 90 files (mostly .cmake files) without Copyright headers. Add "Copyright by The HDF Group."" to copyright header.
185 lines
7.8 KiB
CMake
185 lines
7.8 KiB
CMake
#
|
|
# Copyright by The HDF Group.
|
|
# All rights reserved.
|
|
#
|
|
# This file is part of HDF5. The full HDF5 copyright notice, including
|
|
# terms governing use, modification, and redistribution, is contained in
|
|
# the COPYING file, which can be found at the root of the source code
|
|
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
|
# If you do not have access to either file, you may request a copy from
|
|
# help@hdfgroup.org.
|
|
#
|
|
#-----------------------------------------------------------------------------
|
|
# HDF5 Config file for compiling against hdf5 build/install directory
|
|
#-----------------------------------------------------------------------------
|
|
@PACKAGE_INIT@
|
|
|
|
string(TOUPPER @HDF5_PACKAGE@ HDF5_PACKAGE_NAME)
|
|
|
|
set (${HDF5_PACKAGE_NAME}_VALID_COMPONENTS
|
|
static
|
|
shared
|
|
C
|
|
CXX
|
|
Fortran
|
|
HL
|
|
CXX_HL
|
|
Fortran_HL
|
|
Java
|
|
Tools
|
|
)
|
|
|
|
#-----------------------------------------------------------------------------
|
|
# User Options
|
|
#-----------------------------------------------------------------------------
|
|
set (${HDF5_PACKAGE_NAME}_ENABLE_PARALLEL @HDF5_ENABLE_PARALLEL@)
|
|
set (${HDF5_PACKAGE_NAME}_BUILD_FORTRAN @HDF5_BUILD_FORTRAN@)
|
|
set (${HDF5_PACKAGE_NAME}_BUILD_CPP_LIB @HDF5_BUILD_CPP_LIB@)
|
|
set (${HDF5_PACKAGE_NAME}_BUILD_JAVA @HDF5_BUILD_JAVA@)
|
|
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_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 ()
|
|
|
|
if (${HDF5_PACKAGE_NAME}_BUILD_JAVA)
|
|
set (${HDF5_PACKAGE_NAME}_JAVA_INCLUDE_DIRS
|
|
@PACKAGE_CURRENT_BUILD_DIR@/lib/jarhdf5-@HDF5_VERSION_STRING@.jar
|
|
@PACKAGE_CURRENT_BUILD_DIR@/lib/slf4j-api-1.7.5.jar
|
|
@PACKAGE_CURRENT_BUILD_DIR@/lib/slf4j-nop-1.7.5.jar
|
|
)
|
|
set (${HDF5_PACKAGE_NAME}_JAVA_LIBRARY "@PACKAGE_CURRENT_BUILD_DIR@/lib")
|
|
set (${HDF5_PACKAGE_NAME}_JAVA_LIBRARIES "${${HDF5_PACKAGE_NAME}_JAVA_LIBRARY}")
|
|
endif ()
|
|
|
|
#-----------------------------------------------------------------------------
|
|
# Directories
|
|
#-----------------------------------------------------------------------------
|
|
set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@" "${${HDF5_PACKAGE_NAME}_MPI_C_INCLUDE_PATH}")
|
|
|
|
set (${HDF5_PACKAGE_NAME}_SHARE_DIR "@PACKAGE_SHARE_INSTALL_DIR@")
|
|
set_and_check (${HDF5_PACKAGE_NAME}_BUILD_DIR "@PACKAGE_CURRENT_BUILD_DIR@")
|
|
|
|
if (${HDF5_PACKAGE_NAME}_BUILD_CPP_LIB)
|
|
set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_CPP "@PACKAGE_INCLUDE_INSTALL_DIR@")
|
|
endif ()
|
|
|
|
if (${HDF5_PACKAGE_NAME}_BUILD_HL_LIB)
|
|
set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_HL "@PACKAGE_INCLUDE_INSTALL_DIR@")
|
|
endif ()
|
|
|
|
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_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 ()
|
|
|
|
#-----------------------------------------------------------------------------
|
|
# Version Strings
|
|
#-----------------------------------------------------------------------------
|
|
set (HDF5_VERSION_STRING @HDF5_VERSION_STRING@)
|
|
set (HDF5_VERSION_MAJOR @HDF5_VERSION_MAJOR@)
|
|
set (HDF5_VERSION_MINOR @HDF5_VERSION_MINOR@)
|
|
|
|
#-----------------------------------------------------------------------------
|
|
# Don't include targets if this file is being picked up by another
|
|
# project which has already built hdf5 as a subproject
|
|
#-----------------------------------------------------------------------------
|
|
if (NOT TARGET "@HDF5_PACKAGE@")
|
|
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)
|
|
endif ()
|
|
|
|
# Handle default component(static) :
|
|
if (NOT ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
|
|
set (${HDF5_PACKAGE_NAME}_LIB_TYPE)
|
|
set (${HDF5_PACKAGE_NAME}_FIND_COMPONENTS C HL static)
|
|
set (${HDF5_PACKAGE_NAME}_FIND_REQUIRED_static_C true)
|
|
endif ()
|
|
|
|
# Handle requested components:
|
|
list (REMOVE_DUPLICATES ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
|
|
foreach (comp IN LISTS ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
|
|
if (${comp} STREQUAL "shared")
|
|
list (REMOVE_ITEM ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS ${comp})
|
|
set (${HDF5_PACKAGE_NAME}_LIB_TYPE ${${HDF5_PACKAGE_NAME}_LIB_TYPE} ${comp})
|
|
|
|
if (${HDF5_PACKAGE_NAME}_BUILD_FORTRAN)
|
|
set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_FORTRAN "@PACKAGE_INCLUDE_INSTALL_DIR@/shared")
|
|
endif ()
|
|
elseif (${comp} STREQUAL "static")
|
|
list (REMOVE_ITEM ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS ${comp})
|
|
set (${HDF5_PACKAGE_NAME}_LIB_TYPE ${${HDF5_PACKAGE_NAME}_LIB_TYPE} ${comp})
|
|
|
|
if (${HDF5_PACKAGE_NAME}_BUILD_FORTRAN)
|
|
set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_FORTRAN "@PACKAGE_INCLUDE_INSTALL_DIR@/static")
|
|
endif ()
|
|
endif ()
|
|
endforeach ()
|
|
foreach (libtype IN LISTS ${HDF5_PACKAGE_NAME}_LIB_TYPE)
|
|
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 "Java")
|
|
set (hdf5_comp "hdf5_java")
|
|
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}-${libtype}" HAVE_COMP)
|
|
if (${HAVE_COMP} LESS 0)
|
|
set (${HDF5_PACKAGE_NAME}_${libtype}_${comp}_FOUND 0)
|
|
else ()
|
|
if (hdf5_comp2)
|
|
list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp2}-${libtype}" HAVE_COMP2)
|
|
if (${HAVE_COMP2} LESS 0)
|
|
set (${HDF5_PACKAGE_NAME}_${libtype}_${comp}_FOUND 0)
|
|
else ()
|
|
set (${HDF5_PACKAGE_NAME}_${libtype}_${comp}_FOUND 1)
|
|
string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_${libtype}_LIBRARY COMP_LIBRARY)
|
|
set (${COMP_LIBRARY} ${${COMP_LIBRARY}} @HDF5_PACKAGE@::${hdf5_comp2}-${libtype} @HDF5_PACKAGE@::${hdf5_comp}-${libtype})
|
|
endif ()
|
|
else ()
|
|
set (${HDF5_PACKAGE_NAME}_${libtype}_${comp}_FOUND 1)
|
|
string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_${libtype}_LIBRARY COMP_LIBRARY)
|
|
set (${COMP_LIBRARY} ${${COMP_LIBRARY}} @HDF5_PACKAGE@::${hdf5_comp}-${libtype})
|
|
endif ()
|
|
endif ()
|
|
endforeach ()
|
|
endforeach ()
|
|
|
|
foreach (libtype IN LISTS ${HDF5_PACKAGE_NAME}_LIB_TYPE)
|
|
check_required_components(${HDF5_PACKAGE_NAME}_${libtype})
|
|
endforeach ()
|