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