Skip to content

Commit

Permalink
Merge topic 'armlink_armar_detection' into release-3.21
Browse files Browse the repository at this point in the history
509ef50 ARMClang: Fix regression in check for working compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6346
  • Loading branch information
bradking authored and kwrobot committed Jul 14, 2021
2 parents 5e75fd6 + 509ef50 commit 80ca307
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 11 deletions.
3 changes: 3 additions & 0 deletions Modules/CMakeFindBinUtils.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,9 @@ else()
list(PREPEND _CMAKE_READELF_NAMES "llvm-readelf")
list(PREPEND _CMAKE_DLLTOOL_NAMES "llvm-dlltool")
list(PREPEND _CMAKE_ADDR2LINE_NAMES "llvm-addr2line")
elseif("${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ID}" STREQUAL ARMClang)
list(PREPEND _CMAKE_AR_NAMES "armar")
list(PREPEND _CMAKE_LINKER_NAMES "armlink")
endif()

list(APPEND _CMAKE_TOOL_VARS AR RANLIB STRIP LINKER NM OBJDUMP OBJCOPY READELF DLLTOOL ADDR2LINE)
Expand Down
17 changes: 6 additions & 11 deletions Modules/Compiler/ARMClang.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
if(_ARMClang_CMAKE_LOADED)
return()
endif()

# This file requires CMAKE_LINKER and CMAKE_AR set by CMakeFindBinUtils.cmake.
if(NOT (DEFINED CMAKE_LINKER AND DEFINED CMAKE_AR))
return()
endif()

set(_ARMClang_CMAKE_LOADED TRUE)

# Save the CMP0123 setting in a variable used both below and by try_compile.
Expand All @@ -9,19 +15,8 @@ cmake_policy(GET CMP0123 CMAKE_ARMClang_CMP0123)
cmake_policy(PUSH)
cmake_policy(SET CMP0057 NEW) # if IN_LIST

get_filename_component(_CMAKE_C_TOOLCHAIN_LOCATION "${CMAKE_C_COMPILER}" PATH)
get_filename_component(_CMAKE_CXX_TOOLCHAIN_LOCATION "${CMAKE_CXX_COMPILER}" PATH)

set(CMAKE_EXECUTABLE_SUFFIX ".elf")

find_program(CMAKE_ARMClang_LINKER armlink HINTS "${_CMAKE_C_TOOLCHAIN_LOCATION}" "${_CMAKE_CXX_TOOLCHAIN_LOCATION}" )
find_program(CMAKE_ARMClang_AR armar HINTS "${_CMAKE_C_TOOLCHAIN_LOCATION}" "${_CMAKE_CXX_TOOLCHAIN_LOCATION}" )

set(CMAKE_LINKER "${CMAKE_ARMClang_LINKER}" CACHE FILEPATH "The ARMClang linker" FORCE)
mark_as_advanced(CMAKE_ARMClang_LINKER)
set(CMAKE_AR "${CMAKE_ARMClang_AR}" CACHE FILEPATH "The ARMClang archiver" FORCE)
mark_as_advanced(CMAKE_ARMClang_AR)

if (CMAKE_LINKER MATCHES "armlink")
set(__CMAKE_ARMClang_USING_armlink TRUE)
set(CMAKE_LIBRARY_PATH_FLAG "--userlibpath=")
Expand Down

0 comments on commit 80ca307

Please sign in to comment.