This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake".
The branch, next has been updated via 969ac90d3805db87e32929de3305d1af5470aba6 (commit) via fdfb0c064929786fa1d09670cc4569b22c7c22ca (commit) from af395dc4c1196c6665c66ca690d656589c5d873a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=969ac90d3805db87e32929de3305d1af5470aba6 commit 969ac90d3805db87e32929de3305d1af5470aba6 Merge: af395dc fdfb0c0 Author: Chuck Atkins <chuck.atk...@kitware.com> AuthorDate: Thu May 12 13:56:30 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Thu May 12 13:56:30 2016 -0400 Merge topic 'fix-hdf5-component-search' into next fdfb0c06 HDF5: Rework component searching to correctly find HL for all bindings https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fdfb0c064929786fa1d09670cc4569b22c7c22ca commit fdfb0c064929786fa1d09670cc4569b22c7c22ca Author: Chuck Atkins <chuck.atk...@kitware.com> AuthorDate: Thu May 12 11:36:41 2016 -0400 Commit: Chuck Atkins <chuck.atk...@kitware.com> CommitDate: Thu May 12 13:54:58 2016 -0400 HDF5: Rework component searching to correctly find HL for all bindings diff --git a/Modules/FindHDF5.cmake b/Modules/FindHDF5.cmake index 17a2aeb..f589977 100644 --- a/Modules/FindHDF5.cmake +++ b/Modules/FindHDF5.cmake @@ -46,24 +46,47 @@ # # :: # +# HDF5_FOUND - true if HDF5 was found on the system +# HDF5_VERSION - HDF5 version in format Major.Minor.Release # HDF5_INCLUDE_DIRS - Location of the hdf5 includes # HDF5_INCLUDE_DIR - Location of the hdf5 includes (deprecated) # HDF5_DEFINITIONS - Required compiler definitions for HDF5 -# HDF5_C_LIBRARIES - Required libraries for the HDF5 C bindings. +# HDF5_LIBRARIES - Required libraries for all requested bindings +# HDF5_HL_LIBRARIES - Required libraries for the HDF5 high level API for all +# bindings, if the HL component is enabled +# +# Available components are: C CXX Fortran and HL. For each enabled language +# binding, a corresponding HDF5_${LANG}_LIBRARIES variable will be defined. +# If the HL component is enabled, then an HDF5_${LANG}_HL_LIBRARIES will +# also be defined. With all components enabled, the following variables will be defined: +# +# :: +# +# HDF5_C_LIBRARIES - Required libraries for the HDF5 C bindings # HDF5_CXX_LIBRARIES - Required libraries for the HDF5 C++ bindings # HDF5_Fortran_LIBRARIES - Required libraries for the HDF5 Fortran bindings -# HDF5_HL_LIBRARIES - Required libraries for the HDF5 high level API +# HDF5_C_HL_LIBRARIES - Required libraries for the high level C bindings +# HDF5_CXX_HL_LIBRARIES - Required libraries for the high level C++ bindings # HDF5_Fortran_HL_LIBRARIES - Required libraries for the high level Fortran # bindings. -# HDF5_LIBRARIES - Required libraries for all requested bindings -# HDF5_FOUND - true if HDF5 was found on the system -# HDF5_VERSION - HDF5 version in format Major.Minor.Release -# HDF5_LIBRARY_DIRS - the full set of library directories +# # HDF5_IS_PARALLEL - Whether or not HDF5 was found with parallel IO support # HDF5_C_COMPILER_EXECUTABLE - the path to the HDF5 C wrapper compiler # HDF5_CXX_COMPILER_EXECUTABLE - the path to the HDF5 C++ wrapper compiler # HDF5_Fortran_COMPILER_EXECUTABLE - the path to the HDF5 Fortran wrapper compiler +# HDF5_C_COMPILER_EXECUTABLE_NO_INTERROGATE - path to the primary C compiler +# which is also the HDF5 wrapper +# HDF5_CXX_COMPILER_EXECUTABLE_NO_INTERROGATE - path to the primary C++ +# compiler which is also +# the HDF5 wrapper +# HDF5_Fortran_COMPILER_EXECUTABLE_NO_INTERROGATE - path to the primary +# Fortran compiler which +# is also the HDF5 wrapper # HDF5_DIFF_EXECUTABLE - the path to the HDF5 dataset comparison tool +# +# The following variable can be set to guide the search for HDF5 libraries and includes: +# +# HDF5_ROOT #============================================================================= # Copyright 2015 Axel Huebl, Helmholtz-Zentrum Dresden - Rossendorf @@ -85,28 +108,43 @@ include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake) include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) # List of the valid HDF5 components -set( HDF5_VALID_COMPONENTS - C - CXX - Fortran - HL - Fortran_HL -) +set(HDF5_VALID_LANGUAGE_BINDINGS C CXX Fortran) # Validate the list of find components. -if( NOT HDF5_FIND_COMPONENTS ) - set( HDF5_LANGUAGE_BINDINGS "C" ) +set(HDF5_LANGUAGE_BINDINGS) +if(NOT HDF5_FIND_COMPONENTS) + get_property(__langs GLOBAL PROPERTY ENABLED_LANGUAGES) + foreach(__lang IN LISTS __langs) + if(__lang MATCHES "^(C|CXX|Fortran)$") + list(APPEND HDF5_LANGUAGE_BINDINGS ${__lang}) + endif() + endforeach() + set(FIND_HL ON) else() - # add the extra specified components, ensuring that they are valid. - foreach( component ${HDF5_FIND_COMPONENTS} ) - list( FIND HDF5_VALID_COMPONENTS ${component} component_location ) - if( ${component_location} EQUAL -1 ) - message( FATAL_ERROR - "\"${component}\" is not a valid HDF5 component." ) - else() - list( APPEND HDF5_LANGUAGE_BINDINGS ${component} ) - endif() + # add the extra specified components, ensuring that they are valid. + set(FIND_HL OFF) + foreach(component IN LISTS HDF5_FIND_COMPONENTS) + list(FIND HDF5_VALID_LANGUAGE_BINDINGS ${component} component_location) + if(NOT component_location EQUAL -1) + list(APPEND HDF5_LANGUAGE_BINDINGS ${component}) + elseif(component STREQUAL "HL") + set(FIND_HL ON) + elseif(component STREQUAL "Fortran_HL") # only for compatibility + list(APPEND HDF5_LANGUAGE_BINDINGS Fortran) + set(FIND_HL ON) + else() + message(FATAL_ERROR "${component} is not a valid HDF5 component.") + endif() + endforeach() + if(NOT HDF5_LANGUAGE_BINDINGS) + get_property(__langs GLOBAL PROPERTY ENABLED_LANGUAGES) + foreach(__lang IN LISTS __langs) + if(__lang MATCHES "^(C|CXX|Fortran)$") + list(APPEND HDF5_LANGUAGE_BINDINGS ${__lang}) + endif() endforeach() + endif() + list(REMOVE_DUPLICATES HDF5_LANGUAGE_BINDINGS) endif() # Determine whether to search for serial or parallel executable first @@ -260,7 +298,8 @@ macro( _HDF5_parse_compile_line include_paths definitions library_paths - libraries ) + libraries + libraries_hl) # Match the include paths string( REGEX MATCHALL "-I([^\" ]+)" include_path_flags @@ -297,40 +336,57 @@ macro( _HDF5_parse_compile_line # strip the -l from all of the library flags and add to the search list foreach( LIB ${library_name_flags} ) string( REGEX REPLACE "^[, ]-l" "" LIB ${LIB} ) - list( APPEND ${libraries} ${LIB} ) + if(LIB MATCHES ".*_hl") + list(APPEND ${libraries_hl} ${LIB}) + else() + list(APPEND ${libraries} ${LIB}) + endif() endforeach() endmacro() # Try to find HDF5 using an installed hdf5-config.cmake -if( NOT HDF5_FOUND ) - find_package( HDF5 QUIET NO_MODULE ) - if( HDF5_FOUND ) - set( HDF5_INCLUDE_DIRS ${HDF5_INCLUDE_DIR} ) - set( HDF5_LIBRARIES ) - set( HDF5_C_TARGET hdf5 ) - set( HDF5_CXX_TARGET hdf5_cpp ) - set( HDF5_HL_TARGET hdf5_hl ) - set( HDF5_Fortran_TARGET hdf5_fortran ) - set( HDF5_Fortran_HL_TARGET hdf5_hl_fortran ) - foreach( _component ${HDF5_LANGUAGE_BINDINGS} ) - list( FIND HDF5_VALID_COMPONENTS ${_component} _component_location ) - get_target_property( _comp_location ${HDF5_${_component}_TARGET} LOCATION ) - if( _comp_location ) - set( HDF5_${_component}_LIBRARY ${_comp_location} CACHE PATH - "HDF5 ${_component} library" ) - mark_as_advanced( HDF5_${_component}_LIBRARY ) - list( APPEND HDF5_LIBRARIES ${HDF5_${_component}_LIBRARY} ) +if(NOT HDF5_ROOT AND NOT HDF5_FOUND) + find_package(HDF5 QUIET NO_MODULE) + if( HDF5_FOUND) + set(HDF5_INCLUDE_DIRS ${HDF5_INCLUDE_DIR}) + set(HDF5_LIBRARIES) + set(HDF5_C_TARGET hdf5) + set(HDF5_C_HL_TARGET hdf5_hl) + set(HDF5_CXX_TARGET hdf5_cpp) + set(HDF5_CXX_HL_TARGET hdf5_hl_cpp) + set(HDF5_Fortran_TARGET hdf5_fortran) + set(HDF5_Fortran_HL_TARGET hdf5_hl_fortran) + if(HDF5_USE_STATIC_LIBRARIES) + set(_suffix "-static") + else() + set(_suffix "-shared") + endif() + foreach(_lang ${HDF5_LANGUAGE_BINDINGS}) + get_target_property(_lang_location ${HDF5_${_component}_TARGET}${_suffix} LOCATION) + if( _lang_location ) + set(HDF5_${_lang}_LIBRARY ${_lang_location} CACHE PATH + "HDF5 ${_lang} library" ) + mark_as_advanced(HDF5_${_lang}_LIBRARY) + list(APPEND HDF5_LIBRARIES ${HDF5_${_lang}_LIBRARY}) + endif() + if(FIND_HL) + get_target_property(_lang_hl_location ${HDF5_${_lang}_HL_TARGET}${_suffix} LOCATION) + if( _lang_location ) + set(HDF5_${_lang}_HL_LIBRARY ${_lang_location} CACHE PATH + "HDF5 ${_lang} HL library" ) + mark_as_advanced(HDF5_${_lang}_LIBRARY) + list(APPEND HDF5_HL_LIBRARIES ${HDF5_${_lang}_HL_LIBRARY}) + endif() endif() endforeach() endif() endif() -set(_HDF5_NEED_TO_SEARCH False) -set(HDF5_COMPILER_NO_INTERROGATE True) -get_property(__langs GLOBAL PROPERTY ENABLED_LANGUAGES) -if(__langs) +if(NOT HDF5_ROOT AND NOT HDF5_FOUND) + set(_HDF5_NEED_TO_SEARCH False) + set(HDF5_COMPILER_NO_INTERROGATE True) # Only search for languages we've enabled - foreach(__lang IN LISTS __langs) + foreach(__lang IN LISTS HDF5_LANGUAGE_BINDINGS) # First check to see if our regular compiler is one of wrappers if(__lang STREQUAL "C") _HDF5_test_regular_compiler_C( @@ -349,7 +405,9 @@ if(__langs) if(HDF5_${__lang}_COMPILER_NO_INTERROGATE) message(STATUS "HDF5: Using hdf5 compiler wrapper for all ${__lang} compiling") set(HDF5_${__lang}_FOUND True) - set(HDF5_${__lang}_COMPILER_EXECUTABLE_NO_INTERROGATE "${CMAKE_${__lang}_COMPILER}" CACHE FILEPATH "HDF5 ${__lang} compiler wrapper") + set(HDF5_${__lang}_COMPILER_EXECUTABLE_NO_INTERROGATE + "${CMAKE_${__lang}_COMPILER}" + CACHE FILEPATH "HDF5 ${__lang} compiler wrapper") set(HDF5_${__lang}_DEFINITIONS) set(HDF5_${__lang}_INCLUDE_DIRS) set(HDF5_${__lang}_LIBRARIES) @@ -357,6 +415,7 @@ if(__langs) mark_as_advanced(HDF5_${__lang}_DEFINITIONS) mark_as_advanced(HDF5_${__lang}_INCLUDE_DIRS) mark_as_advanced(HDF5_${__lang}_LIBRARIES) + mark_as_advanced(HDF5_${__lang}_HL_LIBRARIES) else() set(HDF5_COMPILER_NO_INTERROGATE False) # If this language isn't using the wrapper, then try to seed the @@ -380,6 +439,7 @@ if(__langs) HDF5_${__lang}_DEFINITIONS HDF5_${__lang}_LIBRARY_DIRS HDF5_${__lang}_LIBRARY_NAMES + HDF5_${__lang}_HL_LIBRARY_NAMES ) set(HDF5_${__lang}_LIBRARIES) foreach(L IN LISTS HDF5_${__lang}_LIBRARY_NAMES) @@ -390,6 +450,17 @@ if(__langs) list(APPEND HDF5_${__lang}_LIBRARIES ${L}) endif() endforeach() + if(FIND_HL) + set(HDF5_${__lang}_HL_LIBRARIES) + foreach(L IN LISTS HDF5_${__lang}_HL_LIBRARY_NAMES) + find_library(HDF5_${__lang}_LIBRARY_${L} ${L} ${HDF5_${__lang}_LIBRARY_DIRS}) + if(HDF5_${__lang}_LIBRARY_${L}) + list(APPEND HDF5_${__lang}_HL_LIBRARIES ${HDF5_${__lang}_LIBRARY_${L}}) + else() + list(APPEND HDF5_${__lang}_HL_LIBRARIES ${L}) + endif() + endforeach() + endif() set(HDF5_${__lang}_FOUND True) mark_as_advanced(HDF5_${__lang}_DEFINITIONS) mark_as_advanced(HDF5_${__lang}_INCLUDE_DIRS) @@ -397,6 +468,7 @@ if(__langs) _HDF5_remove_duplicates_from_beginning(HDF5_${__lang}_DEFINITIONS) _HDF5_remove_duplicates_from_beginning(HDF5_${__lang}_INCLUDE_DIRS) _HDF5_remove_duplicates_from_beginning(HDF5_${__lang}_LIBRARIES) + _HDF5_remove_duplicates_from_beginning(HDF5_${__lang}_HL_LIBRARIES) else() set(_HDF5_NEED_TO_SEARCH True) endif() @@ -412,6 +484,8 @@ if(__langs) endif() endif() endforeach() +else() + set(_HDF5_NEED_TO_SEARCH True) endif() if(HDF5_COMPILER_NO_INTERROGATE) @@ -424,20 +498,28 @@ elseif(NOT _HDF5_NEED_TO_SEARCH) # to determine necessary include and library flags set(HDF5_INCLUDE_DIRS) set(HDF5_LIBRARIES) - foreach(__lang IN LISTS __langs) + set(HDF5_HL_LIBRARIES) + foreach(__lang IN LISTS HDF5_LANGUAGE_BINDINGS) if(HDF5_${__lang}_FOUND) if(NOT HDF5_${__lang}_COMPILER_NO_INTERROGATE) list(APPEND HDF5_DEFINITIONS ${HDF5_${__lang}_DEFINITIONS}) list(APPEND HDF5_INCLUDE_DIRS ${HDF5_${__lang}_INCLUDE_DIRS}) list(APPEND HDF5_LIBRARIES ${HDF5_${__lang}_LIBRARIES}) + if(FIND_HL) + list(APPEND HDF5_HL_LIBRARIES ${HDF5_${__lang}_HL_LIBRARIES}) + endif() endif() endif() endforeach() _HDF5_remove_duplicates_from_beginning(HDF5_DEFINITIONS) _HDF5_remove_duplicates_from_beginning(HDF5_INCLUDE_DIRS) _HDF5_remove_duplicates_from_beginning(HDF5_LIBRARIES) + _HDF5_remove_duplicates_from_beginning(HDF5_HL_LIBRARIES) set(HDF5_FOUND True) set(HDF5_REQUIRED_VARS HDF5_LIBRARIES) + if(FIND_HL) + list(APPEND HDF5_REQUIRED_VARS HDF5_HL_LIBRARIES) + endif() endif() find_program( HDF5_DIFF_EXECUTABLE @@ -450,15 +532,18 @@ mark_as_advanced( HDF5_DIFF_EXECUTABLE ) if( NOT HDF5_FOUND ) # seed the initial lists of libraries to find with items we know we need set(HDF5_C_LIBRARY_NAMES hdf5) - set(HDF5_C_HL_LIBRARY_NAMES hdf5_hl ${HDF5_C_LIBRARY_NAMES_INIT}) + set(HDF5_C_HL_LIBRARY_NAMES hdf5_hl) - set(HDF5_CXX_LIBRARY_NAMES hdf5_cpp ${HDF5_C_LIBRARY_NAMES_INIT}) - set(HDF5_CXX_HL_LIBRARY_NAMES hdf5_hl_cpp ${HDF5_C_HL_LIBRARY_NAMES_INIT} ${HDF5_CXX_LIBRARY_NAMES_INIT}) + set(HDF5_CXX_LIBRARY_NAMES hdf5_cpp ${HDF5_C_LIBRARY_NAMES}) + set(HDF5_CXX_HL_LIBRARY_NAMES hdf5_hl_cpp ${HDF5_C_HL_LIBRARY_NAMES} ${HDF5_CXX_LIBRARY_NAMES}) - set(HDF5_Fortran_LIBRARY_NAMES hdf5_fortran ${HDF5_C_LIBRARY_NAMES_INIT}) - set(HDF5_Fortran_HL_LIBRARY_NAMES hdf5hl_fortran ${HDF5_C_HL_LIBRARY_NAMES_INIT} ${HDF5_Fortran_LIBRARY_NAMES_INIT}) + set(HDF5_Fortran_LIBRARY_NAMES hdf5_fortran ${HDF5_C_LIBRARY_NAMES}) + set(HDF5_Fortran_HL_LIBRARY_NAMES hdf5_hl_fortran ${HDF5_C_HL_LIBRARY_NAMES} ${HDF5_Fortran_LIBRARY_NAMES}) - foreach( LANGUAGE ${HDF5_LANGUAGE_BINDINGS} ) + if(HDF5_ROOT) + set(SEARCH_OPTS NO_DEFAULT_PATH) + endif() + foreach(__lang IN LISTS HDF5_LANGUAGE_BINDINGS) # find the HDF5 include directories if(LANGUAGE STREQUAL "Fortran") set(HDF5_INCLUDE_FILENAME hdf5.mod) @@ -468,50 +553,88 @@ if( NOT HDF5_FOUND ) set(HDF5_INCLUDE_FILENAME hdf5.h) endif() - find_path(HDF5_${LANGUAGE}_INCLUDE_DIR ${HDF5_INCLUDE_FILENAME} - HINTS $ENV{HDF5_ROOT} + find_path(HDF5_${__lang}_INCLUDE_DIR ${HDF5_INCLUDE_FILENAME} + HINTS ${HDF5_ROOT} ENV HDF5_ROOT PATHS $ENV{HOME}/.local/include PATH_SUFFIXES include Include + ${SEARCH_OPTS} ) mark_as_advanced(HDF5_${LANGUAGE}_INCLUDE_DIR) - list( APPEND HDF5_INCLUDE_DIRS ${HDF5_${LANGUAGE}_INCLUDE_DIR} ) + list(APPEND HDF5_INCLUDE_DIRS ${HDF5_${__lang}_INCLUDE_DIR}) # find the HDF5 libraries - foreach( LIB ${HDF5_${LANGUAGE}_LIBRARY_NAMES} ) - if( UNIX AND HDF5_USE_STATIC_LIBRARIES ) + foreach(LIB IN LISTS HDF5_${__lang}_LIBRARY_NAMES) + if(UNIX AND HDF5_USE_STATIC_LIBRARIES) # According to bug 1643 on the CMake bug tracker, this is the # preferred method for searching for a static library. # See https://cmake.org/Bug/view.php?id=1643. We search # first for the full static library name, but fall back to a # generic search on the name if the static search fails. - set( THIS_LIBRARY_SEARCH_DEBUG lib${LIB}d.a lib${LIB}_debug.a ${LIB}d ${LIB}_debug ) - set( THIS_LIBRARY_SEARCH_RELEASE lib${LIB}.a ${LIB} ) + set( THIS_LIBRARY_SEARCH_DEBUG + lib${LIB}d.a lib${LIB}_debug.a ${LIB}d ${LIB}_debug + lib${LIB}d-static.a lib${LIB}_debug-static.a ${LIB}d-static ${LIB}_debug-static ) + set( THIS_LIBRARY_SEARCH_RELEASE lib${LIB}.a ${LIB} lib${LIB}-static.a ${LIB}-static) else() - set( THIS_LIBRARY_SEARCH_DEBUG ${LIB}d ${LIB}_debug ) - set( THIS_LIBRARY_SEARCH_RELEASE ${LIB} ) + set( THIS_LIBRARY_SEARCH_DEBUG ${LIB}d ${LIB}_debug ${LIB}d-shared ${LIB}_debug-shared) + set( THIS_LIBRARY_SEARCH_RELEASE ${LIB} ${LIB}-shared) endif() - find_library( HDF5_${LIB}_LIBRARY_DEBUG + find_library(HDF5_${LIB}_LIBRARY_DEBUG NAMES ${THIS_LIBRARY_SEARCH_DEBUG} - HINTS ${HDF5_${LANGUAGE}_LIBRARY_DIRS} - ENV HDF5_ROOT - PATH_SUFFIXES lib Lib ) + HINTS ${HDF5_ROOT} ENV HDF5_ROOT PATH_SUFFIXES lib Lib + ${SEARCH_OPTS} + ) find_library( HDF5_${LIB}_LIBRARY_RELEASE NAMES ${THIS_LIBRARY_SEARCH_RELEASE} - HINTS ${HDF5_${LANGUAGE}_LIBRARY_DIRS} - ENV HDF5_ROOT - PATH_SUFFIXES lib Lib ) + HINTS ${HDF5_ROOT} ENV HDF5_ROOT PATH_SUFFIXES lib Lib + ${SEARCH_OPTS} + ) select_library_configurations( HDF5_${LIB} ) - list(APPEND HDF5_${LANGUAGE}_LIBRARIES ${HDF5_${LIB}_LIBRARY}) - endforeach() - list( APPEND HDF5_LIBRARY_DIRS ${HDF5_${LANGUAGE}_LIBRARY_DIRS} ) + list(APPEND HDF5_${__lang}_LIBRARIES ${HDF5_${LIB}_LIBRARY}) + eNdforeach() # Append the libraries for this language binding to the list of all # required libraries. - list(APPEND HDF5_LIBRARIES ${HDF5_${LANGUAGE}_LIBRARIES}) + list(APPEND HDF5_LIBRARIES ${HDF5_${__lang}_LIBRARIES}) + + if(FIND_HL) + foreach(LIB IN LISTS HDF5_${__lang}_HL_LIBRARY_NAMES) + if(UNIX AND HDF5_USE_STATIC_LIBRARIES) + # According to bug 1643 on the CMake bug tracker, this is the + # preferred method for searching for a static library. + # See https://cmake.org/Bug/view.php?id=1643. We search + # first for the full static library name, but fall back to a + # generic search on the name if the static search fails. + set( THIS_LIBRARY_SEARCH_DEBUG + lib${LIB}d.a lib${LIB}_debug.a ${LIB}d ${LIB}_debug + lib${LIB}d-static.a lib${LIB}_debug-static.a ${LIB}d-static ${LIB}_debug-static ) + set( THIS_LIBRARY_SEARCH_RELEASE lib${LIB}.a ${LIB} lib${LIB}-static.a ${LIB}-static) + else() + set( THIS_LIBRARY_SEARCH_DEBUG ${LIB}d ${LIB}_debug ${LIB}d-shared ${LIB}_debug-shared) + set( THIS_LIBRARY_SEARCH_RELEASE ${LIB} ${LIB}-shared) + endif() + find_library(HDF5_${LIB}_LIBRARY_DEBUG + NAMES ${THIS_LIBRARY_SEARCH_DEBUG} + HINTS ${HDF5_ROOT} ENV HDF5_ROOT PATH_SUFFIXES lib Lib + ${SEARCH_OPTS} + ) + find_library( HDF5_${LIB}_LIBRARY_RELEASE + NAMES ${THIS_LIBRARY_SEARCH_RELEASE} + HINTS ${HDF5_ROOT} ENV HDF5_ROOT PATH_SUFFIXES lib Lib + ${SEARCH_OPTS} + ) + select_library_configurations( HDF5_${LIB} ) + list(APPEND HDF5_${__lang}_HL_LIBRARIES ${HDF5_${LIB}_LIBRARY}) + endforeach() + + # Append the libraries for this language binding to the list of all + # required libraries. + list(APPEND HDF5_HL_LIBRARIES ${HDF5_${__lang}_HL_LIBRARIES}) + endif() endforeach() _HDF5_remove_duplicates_from_beginning(HDF5_INCLUDE_DIRS) - _HDF5_remove_duplicates_from_beginning(HDF5_LIBRARY_DIRS) + _HDF5_remove_duplicates_from_beginning(HDF5_LIBRARIES) + _HDF5_remove_duplicates_from_beginning(HDF5_HL_LIBRARIES) # If the HDF5 include directory was found, open H5pubconf.h to determine if # HDF5 was compiled with parallel IO support @@ -552,6 +675,9 @@ if( NOT HDF5_FOUND ) set( HDF5_INCLUDE_DIR "${HDF5_INCLUDE_DIRS}" ) endif() set(HDF5_REQUIRED_VARS HDF5_LIBRARIES HDF5_INCLUDE_DIRS) + if(FIND_HL) + list(APPEND HDF5_REQUIRED_VARS HDF5_HL_LIBRARIES) + endif() endif() find_package_handle_standard_args(HDF5 ----------------------------------------------------------------------- Summary of changes: Modules/FindHDF5.cmake | 282 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 204 insertions(+), 78 deletions(-) hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits