MKLConfigVersion.cmake 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #===============================================================================
  2. # Copyright 2021-2023 Intel Corporation.
  3. #
  4. # This software and the related documents are Intel copyrighted materials, and
  5. # your use of them is governed by the express license under which they were
  6. # provided to you (License). Unless the License provides otherwise, you may not
  7. # use, modify, copy, publish, distribute, disclose or transmit this software or
  8. # the related documents without Intel's prior written permission.
  9. #
  10. # This software and the related documents are provided as is, with no express
  11. # or implied warranties, other than those that are expressly stated in the
  12. # License.
  13. #===============================================================================
  14. set(PACKAGE_VERSION "2023.2.0")
  15. if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
  16. set(PACKAGE_VERSION_COMPATIBLE FALSE)
  17. else()
  18. if("2023.2.0" MATCHES "^([0-9]+)\\.")
  19. set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
  20. if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0)
  21. string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}")
  22. endif()
  23. else()
  24. set(CVF_VERSION_MAJOR "2023.2.0")
  25. endif()
  26. if(PACKAGE_FIND_VERSION_RANGE)
  27. # both endpoints of the range must have the expected major version
  28. math (EXPR CVF_VERSION_MAJOR_NEXT "${CVF_VERSION_MAJOR} + 1")
  29. if (NOT PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
  30. OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX_MAJOR STREQUAL CVF_VERSION_MAJOR)
  31. OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX VERSION_LESS_EQUAL CVF_VERSION_MAJOR_NEXT)))
  32. set(PACKAGE_VERSION_COMPATIBLE FALSE)
  33. elseif(PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
  34. AND ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS_EQUAL PACKAGE_FIND_VERSION_MAX)
  35. OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MAX)))
  36. set(PACKAGE_VERSION_COMPATIBLE TRUE)
  37. else()
  38. set(PACKAGE_VERSION_COMPATIBLE FALSE)
  39. endif()
  40. else()
  41. if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR)
  42. set(PACKAGE_VERSION_COMPATIBLE TRUE)
  43. else()
  44. set(PACKAGE_VERSION_COMPATIBLE FALSE)
  45. endif()
  46. if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
  47. set(PACKAGE_VERSION_EXACT TRUE)
  48. endif()
  49. endif()
  50. endif()
  51. if("FALSE")
  52. return()
  53. endif()
  54. if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "" STREQUAL "")
  55. return()
  56. endif()
  57. if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "")
  58. math(EXPR installedBits " * 8")
  59. set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
  60. set(PACKAGE_VERSION_UNSUITABLE TRUE)
  61. endif()