NO_CACHE.cmake 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. list(APPEND CMAKE_FIND_LIBRARY_PREFIXES lib)
  2. list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES .a)
  3. find_library(LIB_exists
  4. NAMES PrefixInPATH
  5. PATHS ${CMAKE_CURRENT_SOURCE_DIR}/lib
  6. NO_CACHE
  7. NO_DEFAULT_PATH
  8. )
  9. if (DEFINED CACHE{LIB_exists})
  10. message(SEND_ERROR "Cache variable defined: LIB_exists")
  11. endif()
  12. message(STATUS "LIB_exists='${LIB_exists}'")
  13. find_library(LIB_doNotExists
  14. NAMES doNotExists
  15. NO_CACHE
  16. )
  17. if (DEFINED CACHE{LIB_doNotExists})
  18. message(SEND_ERROR "Cache variable defined: LIB_doNotExists")
  19. endif()
  20. message(STATUS "LIB_doNotExists='${LIB_doNotExists}'")
  21. cmake_policy(SET CMP0125 OLD)
  22. message(STATUS "")
  23. message(STATUS "Policy CMP0125 = OLD")
  24. file(REMOVE "${CMAKE_BINARY_DIR}/libPrefixInPATH.a")
  25. set(LIB_cache "unknown" CACHE FILEPATH "")
  26. find_library(LIB_cache
  27. NAMES PrefixInPATH
  28. PATHS ${CMAKE_CURRENT_SOURCE_DIR}/lib
  29. NO_CACHE
  30. NO_DEFAULT_PATH
  31. )
  32. if (NOT DEFINED CACHE{LIB_cache})
  33. message(SEND_ERROR "Cache variable not defined: LIB_cache")
  34. endif()
  35. message(STATUS "CACHED LIB_cache='$CACHE{LIB_cache}'")
  36. unset(LIB_cache CACHE)
  37. message(STATUS "LIB_cache='${LIB_cache}'")
  38. set(LIB_cache "libPrefixInPATH.a" CACHE FILEPATH "")
  39. unset(LIB_cache)
  40. find_library(LIB_cache
  41. NAMES PrefixInPATH
  42. PATHS ${CMAKE_CURRENT_SOURCE_DIR}/lib
  43. NO_CACHE
  44. NO_DEFAULT_PATH
  45. )
  46. if (NOT DEFINED CACHE{LIB_cache})
  47. message(SEND_ERROR "Cache variable not defined: LIB_cache")
  48. endif()
  49. message(STATUS "CACHED LIB_cache='$CACHE{LIB_cache}'")
  50. unset(LIB_cache CACHE)
  51. message(STATUS "LIB_cache='${LIB_cache}'")
  52. set(LIB_cache "libPrefixInPATH.a" CACHE FILEPATH "")
  53. unset(LIB_cache)
  54. # simulate cache variable defined in command line
  55. file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/lib/libPrefixInPATH.a" DESTINATION "${CMAKE_BINARY_DIR}")
  56. set_property(CACHE LIB_cache PROPERTY TYPE UNINITIALIZED)
  57. find_library(LIB_cache
  58. NAMES PrefixInPATH
  59. PATHS ${CMAKE_CURRENT_SOURCE_DIR}/lib
  60. NO_CACHE
  61. NO_DEFAULT_PATH
  62. )
  63. if (NOT DEFINED CACHE{LIB_cache})
  64. message(SEND_ERROR "Cache variable not defined: LIB_cache")
  65. endif()
  66. message(STATUS "CACHED LIB_cache='$CACHE{LIB_cache}'")
  67. unset(LIB_cache CACHE)
  68. message(STATUS "LIB_cache='${LIB_cache}'")
  69. cmake_policy(SET CMP0125 NEW)
  70. message(STATUS "")
  71. message(STATUS "Policy CMP0125 = NEW")
  72. file(REMOVE "${CMAKE_BINARY_DIR}/libPrefixInPATH.a")
  73. set(LIB_cache "unknown" CACHE FILEPATH "")
  74. find_library(LIB_cache
  75. NAMES PrefixInPATH
  76. PATHS ${CMAKE_CURRENT_SOURCE_DIR}/lib
  77. NO_CACHE
  78. NO_DEFAULT_PATH
  79. )
  80. if (NOT DEFINED CACHE{LIB_cache})
  81. message(SEND_ERROR "Cache variable not defined: LIB_cache")
  82. endif()
  83. message(STATUS "CACHED LIB_cache='$CACHE{LIB_cache}'")
  84. unset(LIB_cache CACHE)
  85. message(STATUS "LIB_cache='${LIB_cache}'")
  86. set(LIB_cache "libPrefixInPATH.a" CACHE FILEPATH "")
  87. unset(LIB_cache)
  88. find_library(LIB_cache
  89. NAMES PrefixInPATH
  90. PATHS ${CMAKE_CURRENT_SOURCE_DIR}/lib
  91. NO_CACHE
  92. NO_DEFAULT_PATH
  93. )
  94. if (NOT DEFINED CACHE{LIB_cache})
  95. message(SEND_ERROR "Cache variable not defined: LIB_cache")
  96. endif()
  97. message(STATUS "CACHED LIB_cache='$CACHE{LIB_cache}'")
  98. unset(LIB_cache CACHE)
  99. message(STATUS "LIB_cache='${LIB_cache}'")
  100. set(LIB_cache "libPrefixInPATH.a" CACHE FILEPATH "")
  101. unset(LIB_cache)
  102. # simulate cache variable defined in command line
  103. file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/lib/libPrefixInPATH.a" DESTINATION "${CMAKE_BINARY_DIR}")
  104. set_property(CACHE LIB_cache PROPERTY TYPE UNINITIALIZED)
  105. find_library(LIB_cache
  106. NAMES PrefixInPATH
  107. PATHS ${CMAKE_CURRENT_SOURCE_DIR}/lib
  108. NO_CACHE
  109. NO_DEFAULT_PATH
  110. )
  111. if (NOT DEFINED CACHE{LIB_cache})
  112. message(SEND_ERROR "Cache variable not defined: LIB_cache")
  113. endif()
  114. message(STATUS "CACHED LIB_cache='$CACHE{LIB_cache}'")
  115. unset(LIB_cache CACHE)
  116. message(STATUS "LIB_cache='${LIB_cache}'")