From: Petr Hosek Date: Tue, 28 Jan 2020 03:14:32 +0000 (-0800) Subject: [CMake] Set ASM compiler for external projects X-Git-Tag: llvmorg-12-init~16580 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=56b7f595d2b402ff177ca42214325c8fdea10fb0;p=platform%2Fupstream%2Fllvm.git [CMake] Set ASM compiler for external projects This is necessary on Windows, otherwise CMake fails. It's not conventional on Windows to use cl for assembly (you'd use ml or ml64 instead), but CMake has a separate ASM_MASM mode for that, and clang-cl works fine for assembly so we'll use that on Windows for consistency. Differential Revision: https://reviews.llvm.org/D73522 --- diff --git a/llvm/cmake/modules/LLVMExternalProjectUtils.cmake b/llvm/cmake/modules/LLVMExternalProjectUtils.cmake index 75f442b3..e027c13 100644 --- a/llvm/cmake/modules/LLVMExternalProjectUtils.cmake +++ b/llvm/cmake/modules/LLVMExternalProjectUtils.cmake @@ -114,10 +114,12 @@ function(llvm_ExternalProject_Add name source_dir) if(CLANG_IN_TOOLCHAIN) if(_cmake_system_name STREQUAL Windows) set(compiler_args -DCMAKE_C_COMPILER=${LLVM_RUNTIME_OUTPUT_INTDIR}/clang-cl${CMAKE_EXECUTABLE_SUFFIX} - -DCMAKE_CXX_COMPILER=${LLVM_RUNTIME_OUTPUT_INTDIR}/clang-cl${CMAKE_EXECUTABLE_SUFFIX}) + -DCMAKE_CXX_COMPILER=${LLVM_RUNTIME_OUTPUT_INTDIR}/clang-cl${CMAKE_EXECUTABLE_SUFFIX} + -DCMAKE_ASM_COMPILER=${LLVM_RUNTIME_OUTPUT_INTDIR}/clang-cl${CMAKE_EXECUTABLE_SUFFIX}) else() set(compiler_args -DCMAKE_C_COMPILER=${LLVM_RUNTIME_OUTPUT_INTDIR}/clang${CMAKE_EXECUTABLE_SUFFIX} - -DCMAKE_CXX_COMPILER=${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++${CMAKE_EXECUTABLE_SUFFIX}) + -DCMAKE_CXX_COMPILER=${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++${CMAKE_EXECUTABLE_SUFFIX} + -DCMAKE_ASM_COMPILER=${LLVM_RUNTIME_OUTPUT_INTDIR}/clang${CMAKE_EXECUTABLE_SUFFIX}) endif() endif() if(lld IN_LIST TOOLCHAIN_TOOLS)