PhysFSConfig.cmake.in 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. include(FeatureSummary)
  2. set_package_properties(PhysicsFS PROPERTIES
  3. URL "https://icculus.org/physfs/"
  4. DESCRIPTION "Library to provide abstract access to various archives"
  5. )
  6. @PACKAGE_INIT@
  7. set(PhysFS_PhysFS_FOUND)
  8. set(PhysFS_PhysFS-shared_FOUND)
  9. if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/PhysFS-shared-targets.cmake")
  10. include("${CMAKE_CURRENT_LIST_DIR}/PhysFS-shared-targets.cmake")
  11. set(PhysFS_PhysFS-shared_FOUND TRUE)
  12. set(PhysFS_PhysFS_FOUND TRUE)
  13. endif()
  14. set(PhysFS_PhysFS-static_FOUND)
  15. if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/PhysFS-static-targets.cmake")
  16. include("${CMAKE_CURRENT_LIST_DIR}/PhysFS-static-targets.cmake")
  17. set(PhysFS_PhysFS-static_FOUND TRUE)
  18. set(PhysFS_PhysFS_FOUND TRUE)
  19. endif()
  20. function(_physfsl_create_target_alias_compat NEW_TARGET TARGET)
  21. if(CMAKE_VERSION VERSION_LESS "3.18")
  22. # Aliasing local targets is not supported on CMake < 3.18, so make it global.
  23. add_library(${NEW_TARGET} INTERFACE IMPORTED)
  24. set_target_properties(${NEW_TARGET} PROPERTIES INTERFACE_LINK_LIBRARIES "${TARGET}")
  25. else()
  26. add_library(${NEW_TARGET} ALIAS ${TARGET})
  27. endif()
  28. endfunction()
  29. # Make sure PhysFS::PhysFS always exists
  30. if(NOT TARGET PhysFS::PhysFS)
  31. if(TARGET PhysFS::PhysFS-shared)
  32. _physfsl_create_target_alias_compat(PhysFS::PhysFS PhysFS::PhysFS-shared)
  33. elseif(TARGET PhysFS::PhysFS-static)
  34. _physfsl_create_target_alias_compat(PhysFS::PhysFS PhysFS::PhysFS-static)
  35. endif()
  36. endif()
  37. check_required_components(PhysFS)