When LLVM_TARGETS_TO_BUILD does not contain the host target, runtime build can not identify a compatible target triple for the host compiler. CMAKE_C_COMPILER is set to clang, and CMAKE_C_COMPILER_ID is empty although the compiler is functional. Remove CMAKE_C_COMPILER_ID check. CMakeTestCLCCompiler.cmake already provides a real functional guard. This change ensures valid configurations can proceed, e.g.: LLVM_TARGETS_TO_BUILD=AMDGPU; RUNTIMES_amdgcn-amd-amdhsa-llvm_LLVM_ENABLE_RUNTIMES=libclc; LLVM_RUNTIME_TARGETS="amdgcn-amd-amdhsa-llvm". Note CMAKE_C_COMPILER_WORKS is always true after `project(Runtimes C CXX ASM)` in runtimes/CMakeLists.txt.
14 lines
389 B
CMake
14 lines
389 B
CMake
if(NOT CMAKE_CLC_COMPILER)
|
|
set(CMAKE_CLC_COMPILER "${CMAKE_C_COMPILER}" CACHE FILEPATH "CLC compiler")
|
|
endif()
|
|
|
|
mark_as_advanced(CMAKE_CLC_COMPILER)
|
|
|
|
set(CMAKE_CLC_COMPILER_ID "Clang")
|
|
set(CMAKE_CLC_COMPILER_ID_RUN TRUE)
|
|
|
|
configure_file(${CMAKE_CURRENT_LIST_DIR}/CMakeCLCCompiler.cmake.in
|
|
${CMAKE_PLATFORM_INFO_DIR}/CMakeCLCCompiler.cmake @ONLY)
|
|
|
|
set(CMAKE_CLC_COMPILER_ENV_VAR "CLC")
|