Files
CMake/Tests/RunCMake/find_program/IgnorePrefixPath.cmake
Kyle Edwards 11ea24e590 Tests: Disable CMAKE_SYSTEM_PROGRAM_PATH in IgnorePrefixPath test
Some systems set CMAKE_SYSTEM_PROGRAM_PATH, which pollutes the
environment for this test. Erase it before executing the test to get
a clean environment.

Fixes: #23300
2022-03-08 17:38:07 -05:00

32 lines
984 B
CMake

function(assert_eq var value)
if(NOT "${${var}}" STREQUAL "${value}")
message(SEND_ERROR "Expected value of ${var}:\n ${value}\nActual value:\n ${${var}}")
endif()
endfunction()
set(CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH FALSE)
set(CMAKE_SYSTEM_PROGRAM_PATH)
set(CMAKE_PREFIX_PATH ${CMAKE_SOURCE_DIR}/Prefix)
set(_old_CMAKE_SYSTEM_PREFIX_PATH ${CMAKE_SYSTEM_PREFIX_PATH})
set(CMAKE_SYSTEM_PREFIX_PATH ${CMAKE_SOURCE_DIR}/SystemPrefix)
set(prog_ROOT
${CMAKE_SOURCE_DIR}/Prefix
${CMAKE_SOURCE_DIR}/SystemPrefix
)
set(CMAKE_IGNORE_PREFIX_PATH ${CMAKE_SOURCE_DIR}/Prefix)
set(CMAKE_SYSTEM_IGNORE_PREFIX_PATH ${CMAKE_SOURCE_DIR}/SystemPrefix)
find_program(prog prog)
assert_eq(prog "prog-NOTFOUND")
set(CMAKE_PREFIX_PATH)
set(CMAKE_SYSTEM_PREFIX_PATH ${_old_CMAKE_SYSTEM_PREFIX_PATH})
set(CMAKE_IGNORE_PREFIX_PATH /)
set(CMAKE_FIND_ROOT_PATH
${CMAKE_SOURCE_DIR}/Prefix
${CMAKE_SOURCE_DIR}/SystemPrefix
)
find_program(prog2 prog)
assert_eq(prog2 "prog2-NOTFOUND")