You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

131 lines
3.4 KiB

find_program(PROG_A
NAMES testA
PATHS ${CMAKE_CURRENT_SOURCE_DIR}/A
NO_CACHE
NO_DEFAULT_PATH
)
if (DEFINED CACHE{PROG_A})
message(SEND_ERROR "Cache variable defined: PROG_A")
endif()
message(STATUS "PROG_A='${PROG_A}'")
find_program(PROG_AandB
NAMES testAandB
NO_CACHE
)
if (DEFINED CACHE{PROG_AandB})
message(SEND_ERROR "Cache variable defined: PROG_AandN")
endif()
message(STATUS "PROG_AandB='${PROG_AandB}'")
cmake_policy(SET CMP0125 OLD)
message(STATUS "")
message(STATUS "Policy CMP0125 = OLD")
file(REMOVE "${CMAKE_BINARY_DIR}/testA")
set(PROG_cache "unknown" CACHE FILEPATH "")
find_program(PROG_cache
NAMES testA
PATHS ${CMAKE_CURRENT_SOURCE_DIR}/A
NO_CACHE
NO_DEFAULT_PATH
)
if (NOT DEFINED CACHE{PROG_cache})
message(SEND_ERROR "Cache variable not defined: PROG_cache")
endif()
message(STATUS "CACHED PROG_cache='$CACHE{PROG_cache}'")
unset(PROG_cache CACHE)
message(STATUS "PROG_cache='${PROG_cache}'")
set(PROG_cache "testA" CACHE FILEPATH "")
unset(PROG_cache)
find_program(PROG_cache
NAMES testA
PATHS ${CMAKE_CURRENT_SOURCE_DIR}/A
NO_CACHE
NO_DEFAULT_PATH
)
if (NOT DEFINED CACHE{PROG_cache})
message(SEND_ERROR "Cache variable not defined: PROG_cache")
endif()
message(STATUS "CACHED PROG_cache='$CACHE{PROG_cache}'")
unset(PROG_cache CACHE)
message(STATUS "PROG_cache='${PROG_cache}'")
set(PROG_cache "testA" CACHE FILEPATH "")
unset(PROG_cache)
# simulate cache variable defined in command line
file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/A/testA" DESTINATION "${CMAKE_BINARY_DIR}")
set_property(CACHE PROG_cache PROPERTY TYPE UNINITIALIZED)
find_program(PROG_cache
NAMES testA
PATHS ${CMAKE_CURRENT_SOURCE_DIR}/A
NO_CACHE
NO_DEFAULT_PATH
)
if (NOT DEFINED CACHE{PROG_cache})
message(SEND_ERROR "Cache variable not defined: PROG_cache")
endif()
message(STATUS "CACHED PROG_cache='$CACHE{PROG_cache}'")
unset(PROG_cache CACHE)
message(STATUS "PROG_cache='${PROG_cache}'")
cmake_policy(SET CMP0125 NEW)
message(STATUS "")
message(STATUS "Policy CMP0125 = NEW")
file(REMOVE "${CMAKE_BINARY_DIR}/testA")
set(PROG_cache "unknown" CACHE FILEPATH "")
find_program(PROG_cache
NAMES testA
PATHS ${CMAKE_CURRENT_SOURCE_DIR}/A
NO_CACHE
NO_DEFAULT_PATH
)
if (NOT DEFINED CACHE{PROG_cache})
message(SEND_ERROR "Cache variable not defined: PROG_cache")
endif()
message(STATUS "CACHED PROG_cache='$CACHE{PROG_cache}'")
unset(PROG_cache CACHE)
message(STATUS "PROG_cache='${PROG_cache}'")
set(PROG_cache "testA" CACHE FILEPATH "")
unset(PROG_cache)
find_program(PROG_cache
NAMES testA
PATHS ${CMAKE_CURRENT_SOURCE_DIR}/A
NO_CACHE
NO_DEFAULT_PATH
)
if (NOT DEFINED CACHE{PROG_cache})
message(SEND_ERROR "Cache variable not defined: PROG_cache")
endif()
message(STATUS "CACHED PROG_cache='$CACHE{PROG_cache}'")
unset(PROG_cache CACHE)
message(STATUS "PROG_cache='${PROG_cache}'")
set(PROG_cache "testA" CACHE FILEPATH "")
unset(PROG_cache)
# simulate cache variable defined in command line
file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/A/testA" DESTINATION "${CMAKE_BINARY_DIR}")
set_property(CACHE PROG_cache PROPERTY TYPE UNINITIALIZED)
find_program(PROG_cache
NAMES testA
PATHS ${CMAKE_CURRENT_SOURCE_DIR}/A
NO_CACHE
NO_DEFAULT_PATH
)
if (NOT DEFINED CACHE{PROG_cache})
message(SEND_ERROR "Cache variable not defined: PROG_cache")
endif()
message(STATUS "CACHED PROG_cache='$CACHE{PROG_cache}'")
unset(PROG_cache CACHE)
message(STATUS "PROG_cache='${PROG_cache}'")