Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/cmake/Modules/G4FreetypeShim.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 ]

  1 # - G4FreetypeShim
  2 #
  3 # Geant4's Geant4Config.cmake file aims to support CMake 3.8 and newer
  4 # The Freetype dependency is located through CMake's builtin FindFreetype
  5 # module and linked through the Freetype::Freetype imported target.
  6 # This target is however only available from CMake 3.10, so recreate
  7 # Freetype::Freetype target if it does not exist
  8 if(Freetype_FOUND)
  9   if(NOT TARGET Freetype::Freetype)
 10     add_library(Freetype::Freetype UNKNOWN IMPORTED)
 11     set_target_properties(Freetype::Freetype PROPERTIES
 12       INTERFACE_INCLUDE_DIRECTORIES "${FREETYPE_INCLUDE_DIRS}")
 13 
 14     if(FREETYPE_LIBRARY_RELEASE)
 15       set_property(TARGET Freetype::Freetype APPEND PROPERTY
 16         IMPORTED_CONFIGURATIONS RELEASE)
 17       set_target_properties(Freetype::Freetype PROPERTIES
 18         IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
 19         IMPORTED_LOCATION_RELEASE "${FREETYPE_LIBRARY_RELEASE}")
 20     endif()
 21 
 22     if(FREETYPE_LIBRARY_DEBUG)
 23       set_property(TARGET Freetype::Freetype APPEND PROPERTY
 24         IMPORTED_CONFIGURATIONS DEBUG)
 25       set_target_properties(Freetype::Freetype PROPERTIES
 26         IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
 27         IMPORTED_LOCATION_DEBUG "${FREETYPE_LIBRARY_DEBUG}")
 28     endif()
 29 
 30     if(NOT FREETYPE_LIBRARY_RELEASE AND NOT FREETYPE_LIBRARY_DEBUG)
 31       set_target_properties(Freetype::Freetype PROPERTIES
 32         IMPORTED_LINK_INTERFACE_LANGUAGES "C"
 33         IMPORTED_LOCATION "${FREETYPE_LIBRARY}")
 34     endif()
 35   endif()
 36 endif()
 37