Skip to content

Commit 2688bfa

Browse files
ozhurakinashif
authored andcommitted
cmake: clang: Detect host installed clang
In case TOOLCHAIN_HOME isn't explicitly reuqested, (or indirectly forced with CLANG_ROOT_DIR), detect any host installed clang in the path. Signed-off-by: Oleg Zhurakivskyy <[email protected]>
1 parent 129ae37 commit 2688bfa

File tree

2 files changed

+22
-10
lines changed

2 files changed

+22
-10
lines changed

cmake/compiler/clang/generic.cmake

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
11
# SPDX-License-Identifier: Apache-2.0
22

3-
find_program(CMAKE_C_COMPILER clang PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
3+
if(DEFINED TOOLCHAIN_HOME)
4+
set(find_program_clang_args PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
5+
endif()
6+
7+
find_program(CMAKE_C_COMPILER clang ${find_program_clang_args})
8+

cmake/compiler/clang/target.cmake

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,22 @@ if(NOT DEFINED NOSYSDEF_CFLAG)
1111
set(NOSYSDEF_CFLAG -undef)
1212
endif()
1313

14-
find_program(CMAKE_C_COMPILER clang PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
15-
find_program(CMAKE_CXX_COMPILER clang++ PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
16-
find_program(CMAKE_AR llvm-ar PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
17-
find_program(CMAKE_LINKER llvm-link PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
18-
find_program(CMAKE_NM llvm-nm PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
19-
find_program(CMAKE_OBJDUMP llvm-objdump PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
20-
find_program(CMAKE_RANLIB llvm-ranlib PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
21-
find_program(CMAKE_OBJCOPY objcopy PATH ${TOOLCHAIN_HOME})
22-
find_program(CMAKE_READELF readelf PATH ${TOOLCHAIN_HOME})
14+
if(DEFINED TOOLCHAIN_HOME)
15+
set(find_program_clang_args PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
16+
set(find_program_binutils_args PATH ${TOOLCHAIN_HOME})
17+
endif()
18+
19+
20+
find_program(CMAKE_C_COMPILER clang ${find_program_clang_args})
21+
find_program(CMAKE_CXX_COMPILER clang++ ${find_program_clang_args})
22+
find_program(CMAKE_AR llvm-ar ${find_program_clang_args})
23+
find_program(CMAKE_LINKER llvm-link ${find_program_clang_args})
24+
find_program(CMAKE_NM llvm-nm ${find_program_clang_args})
25+
find_program(CMAKE_OBJDUMP llvm-objdump ${find_program_clang_args})
26+
find_program(CMAKE_RANLIB llvm-ranlib ${find_program_clang_args})
27+
28+
find_program(CMAKE_OBJCOPY objcopy ${find_program_binutils_args})
29+
find_program(CMAKE_READELF readelf ${find_program_binutils_args})
2330

2431
foreach(file_name include include-fixed)
2532
execute_process(

0 commit comments

Comments
 (0)