mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-14 02:08:27 +08:00
BinUtils: Use more-private temporary variable names
Since commit 4d786dfcfa
(BinUtils: Avoid clobbering a variable named
without a private prefix, 2021-04-06, v3.20.1~4^2) we use variables
named `_tool` and `_name`, but these may still be common enough to
affect project code. Use `_CMAKE_TOOL` and `_CMAKE_TOOL_NAME` instead,
and unset them when finished.
Fixes: #22140
This commit is contained in:
@@ -123,19 +123,19 @@ else()
|
||||
list(APPEND _CMAKE_TOOL_VARS AR RANLIB STRIP LINKER NM OBJDUMP OBJCOPY READELF DLLTOOL ADDR2LINE)
|
||||
endif()
|
||||
|
||||
foreach(_tool IN LISTS _CMAKE_TOOL_VARS)
|
||||
foreach(_name IN LISTS _CMAKE_${_tool}_NAMES)
|
||||
foreach(_CMAKE_TOOL IN LISTS _CMAKE_TOOL_VARS)
|
||||
foreach(_CMAKE_TOOL_NAME IN LISTS _CMAKE_${_CMAKE_TOOL}_NAMES)
|
||||
if(NOT _CMAKE_TOOLCHAIN_PREFIX STREQUAL "")
|
||||
if(NOT _CMAKE_TOOLCHAIN_SUFFIX STREQUAL "")
|
||||
list(PREPEND _CMAKE_${_tool}_NAMES ${_name}${_CMAKE_TOOLCHAIN_SUFFIX})
|
||||
list(PREPEND _CMAKE_${_CMAKE_TOOL}_NAMES ${_CMAKE_TOOL_NAME}${_CMAKE_TOOLCHAIN_SUFFIX})
|
||||
endif()
|
||||
list(PREPEND _CMAKE_${_tool}_NAMES ${_CMAKE_TOOLCHAIN_PREFIX}${_name})
|
||||
list(PREPEND _CMAKE_${_CMAKE_TOOL}_NAMES ${_CMAKE_TOOLCHAIN_PREFIX}${_CMAKE_TOOL_NAME})
|
||||
endif()
|
||||
if(NOT _CMAKE_TOOLCHAIN_SUFFIX STREQUAL "")
|
||||
list(PREPEND _CMAKE_${_tool}_NAMES ${_CMAKE_TOOLCHAIN_PREFIX}${_name}${_CMAKE_TOOLCHAIN_SUFFIX})
|
||||
list(PREPEND _CMAKE_${_CMAKE_TOOL}_NAMES ${_CMAKE_TOOLCHAIN_PREFIX}${_CMAKE_TOOL_NAME}${_CMAKE_TOOLCHAIN_SUFFIX})
|
||||
endif()
|
||||
endforeach()
|
||||
find_program(CMAKE_${_tool} NAMES ${_CMAKE_${_tool}_NAMES} HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
|
||||
find_program(CMAKE_${_CMAKE_TOOL} NAMES ${_CMAKE_${_CMAKE_TOOL}_NAMES} HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
|
||||
endforeach()
|
||||
|
||||
if(NOT CMAKE_RANLIB)
|
||||
@@ -154,12 +154,14 @@ if(CMAKE_PLATFORM_HAS_INSTALLNAME)
|
||||
endif()
|
||||
|
||||
# Mark any tool cache entries as advanced.
|
||||
foreach(_tool IN LISTS _CMAKE_TOOL_VARS)
|
||||
get_property(_CMAKE_TOOL_CACHED CACHE CMAKE_${_tool} PROPERTY TYPE)
|
||||
foreach(_CMAKE_TOOL IN LISTS _CMAKE_TOOL_VARS)
|
||||
get_property(_CMAKE_TOOL_CACHED CACHE CMAKE_${_CMAKE_TOOL} PROPERTY TYPE)
|
||||
if(_CMAKE_TOOL_CACHED)
|
||||
mark_as_advanced(CMAKE_${_tool})
|
||||
mark_as_advanced(CMAKE_${_CMAKE_TOOL})
|
||||
endif()
|
||||
unset(_CMAKE_${_tool}_NAMES)
|
||||
unset(_CMAKE_${_CMAKE_TOOL}_NAMES)
|
||||
endforeach()
|
||||
unset(_CMAKE_TOOL_VARS)
|
||||
unset(_CMAKE_TOOL_CACHED)
|
||||
unset(_CMAKE_TOOL_NAME)
|
||||
unset(_CMAKE_TOOL)
|
||||
|
Reference in New Issue
Block a user