Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/cmake/Modules/G4HDF5Shim.cmake

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /cmake/Modules/G4HDF5Shim.cmake (Version 11.3.0) and /cmake/Modules/G4HDF5Shim.cmake (Version 8.2)


  1 # - G4HDF5Shim                                    
  2 #                                                 
  3 # Geant4's Geant4Config.cmake file aims to sup    
  4 # The HDF5 dependency is located through CMake    
  5 # module, but this does not supply imported ta    
  6 # It may use HDF5's hdf5-config.cmake file if     
  7 # custom imported target hdf5::hdf5 to allow b    
  8 # without interference with either.               
  9                                                   
 10 if(HDF5_FOUND)                                    
 11  # If we're in MT mode, found HDF5 must also s    
 12  if(GEANT4_BUILD_MULTITHREADED OR Geant4_multi    
 13    include(CheckCXXSymbolExists)                  
 14    set(CMAKE_REQUIRED_INCLUDES "${HDF5_INCLUDE    
 15    check_cxx_symbol_exists(H5_HAVE_THREADSAFE     
 16    unset(CMAKE_REQUIRED_INCLUDES)                 
 17                                                   
 18    if(NOT GEANT4_HAVE_H5_HAVE_THREADSAFE)         
 19      message(FATAL_ERROR                          
 20        "Found an install of HDF5, but it was n    
 21        "Either build Geant4 in single threaded    
 22        "thread safety enabled. See HDF5's inst    
 23        )                                          
 24    endif()                                        
 25  endif()                                          
 26                                                   
 27  # If FindHDF5 does not yet supply imported ta    
 28  # create an internal INTERFACE target to wrap    
 29  # This still hard-codes include/library paths    
 30  # to one place. Later, we'll create proper im    
 31  # with re-finds but for now this is the best     
 32  if(NOT TARGET hdf5::hdf5)                        
 33    add_library(hdf5::hdf5 IMPORTED UNKNOWN)       
 34    set_target_properties(hdf5::hdf5 PROPERTIES    
 35      IMPORTED_LINK_INTERFACE_LANGUAGES "C"        
 36      IMPORTED_LOCATION "${HDF5_C_LIBRARY_hdf5}    
 37      INTERFACE_INCLUDE_DIRECTORIES "${HDF5_C_I    
 38      INTERFACE_LINK_LIBRARIES "${HDF5_C_LIBRAR    
 39      )                                            
 40  endif()                                          
 41 endif()