mirror of https://github.com/microsoft/vcpkg.git
[vcpkg] Fix termination of vcpkg root search (#22694)
* Fix termination of vpckg root search * Apply CR suggestion Co-authored-by: Vadim Peretokin <vperetokin@hey.com> Co-authored-by: Vadim Peretokin <vperetokin@hey.com>
This commit is contained in:
parent
5f9c75f03c
commit
912bfa9d88
|
|
@ -357,18 +357,23 @@ endif()
|
|||
set(VCPKG_TARGET_TRIPLET "${Z_VCPKG_TARGET_TRIPLET_ARCH}-${Z_VCPKG_TARGET_TRIPLET_PLAT}" CACHE STRING "Vcpkg target triplet (ex. x86-windows)")
|
||||
set(Z_VCPKG_TOOLCHAIN_DIR "${CMAKE_CURRENT_LIST_DIR}")
|
||||
|
||||
if(NOT DEFINED Z_VCPKG_ROOT_DIR)
|
||||
# Detect .vcpkg-root to figure VCPKG_ROOT_DIR
|
||||
set(Z_VCPKG_ROOT_DIR_CANDIDATE "${CMAKE_CURRENT_LIST_DIR}")
|
||||
while(IS_DIRECTORY "${Z_VCPKG_ROOT_DIR_CANDIDATE}" AND NOT EXISTS "${Z_VCPKG_ROOT_DIR_CANDIDATE}/.vcpkg-root")
|
||||
# Detect .vcpkg-root to figure VCPKG_ROOT_DIR
|
||||
set(Z_VCPKG_ROOT_DIR_CANDIDATE "${CMAKE_CURRENT_LIST_DIR}")
|
||||
while(NOT DEFINED Z_VCPKG_ROOT_DIR)
|
||||
if(EXISTS "${Z_VCPKG_ROOT_DIR_CANDIDATE}/.vcpkg-root")
|
||||
set(Z_VCPKG_ROOT_DIR "${Z_VCPKG_ROOT_DIR_CANDIDATE}" CACHE INTERNAL "Vcpkg root directory")
|
||||
elseif(IS_DIRECTORY "${Z_VCPKG_ROOT_DIR_CANDIDATE}")
|
||||
get_filename_component(Z_VCPKG_ROOT_DIR_TEMP "${Z_VCPKG_ROOT_DIR_CANDIDATE}" DIRECTORY)
|
||||
if(Z_VCPKG_ROOT_DIR_TEMP STREQUAL Z_VCPKG_ROOT_DIR_CANDIDATE) # If unchanged, we have reached the root of the drive
|
||||
else()
|
||||
SET(Z_VCPKG_ROOT_DIR_CANDIDATE "${Z_VCPKG_ROOT_DIR_TEMP}")
|
||||
if(Z_VCPKG_ROOT_DIR_TEMP STREQUAL Z_VCPKG_ROOT_DIR_CANDIDATE)
|
||||
break() # If unchanged, we have reached the root of the drive without finding vcpkg.
|
||||
endif()
|
||||
endwhile()
|
||||
set(Z_VCPKG_ROOT_DIR "${Z_VCPKG_ROOT_DIR_CANDIDATE}" CACHE INTERNAL "Vcpkg root directory")
|
||||
endif()
|
||||
SET(Z_VCPKG_ROOT_DIR_CANDIDATE "${Z_VCPKG_ROOT_DIR_TEMP}")
|
||||
unset(Z_VCPKG_ROOT_DIR_TEMP)
|
||||
else()
|
||||
break()
|
||||
endif()
|
||||
endwhile()
|
||||
unset(Z_VCPKG_ROOT_DIR_CANDIDATE)
|
||||
|
||||
if(NOT Z_VCPKG_ROOT_DIR)
|
||||
z_vcpkg_add_fatal_error("Could not find .vcpkg-root")
|
||||
|
|
|
|||
Loading…
Reference in New Issue