PhysFSConfigVersion.cmake.in 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. # @<@PROJECT_NAME@>@ CMake version configuration file:
  2. # This file is meant to be placed in a lib/cmake/PhysFS subfolder of a reconstructed Android PhysFS SDK
  3. set(PACKAGE_VERSION "@<@PROJECT_VERSION@>@")
  4. if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
  5. set(PACKAGE_VERSION_COMPATIBLE FALSE)
  6. else()
  7. if("${PACKAGE_VERSION}" MATCHES "^([0-9]+)\\.")
  8. set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
  9. if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0)
  10. string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}")
  11. endif()
  12. else()
  13. set(CVF_VERSION_MAJOR "${PACKAGE_VERSION}")
  14. endif()
  15. if(PACKAGE_FIND_VERSION_RANGE)
  16. # both endpoints of the range must have the expected major version
  17. math (EXPR CVF_VERSION_MAJOR_NEXT "${CVF_VERSION_MAJOR} + 1")
  18. if (NOT PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
  19. OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX_MAJOR STREQUAL CVF_VERSION_MAJOR)
  20. OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX VERSION_LESS_EQUAL CVF_VERSION_MAJOR_NEXT)))
  21. set(PACKAGE_VERSION_COMPATIBLE FALSE)
  22. elseif(PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
  23. AND ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS_EQUAL PACKAGE_FIND_VERSION_MAX)
  24. OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MAX)))
  25. set(PACKAGE_VERSION_COMPATIBLE TRUE)
  26. else()
  27. set(PACKAGE_VERSION_COMPATIBLE FALSE)
  28. endif()
  29. else()
  30. if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR)
  31. set(PACKAGE_VERSION_COMPATIBLE TRUE)
  32. else()
  33. set(PACKAGE_VERSION_COMPATIBLE FALSE)
  34. endif()
  35. if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
  36. set(PACKAGE_VERSION_EXACT TRUE)
  37. endif()
  38. endif()
  39. endif()
  40. # if the using project doesn't have CMAKE_SIZEOF_VOID_P set, fail.
  41. if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "")
  42. set(PACKAGE_VERSION_UNSUITABLE TRUE)
  43. endif()
  44. include("${CMAKE_CURRENT_LIST_DIR}/sdlcpu.cmake")
  45. SDL_DetectTargetCPUArchitectures(_detected_archs)
  46. # check that the installed version has a compatible architecture as the one which is currently searching:
  47. if(NOT(SDL_CPU_X86 OR SDL_CPU_X64 OR SDL_CPU_ARM32 OR SDL_CPU_ARM64))
  48. set(PACKAGE_VERSION "${PACKAGE_VERSION} (X86,X64,ARM32,ARM64)")
  49. set(PACKAGE_VERSION_UNSUITABLE TRUE)
  50. endif()