| 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}'") |