diff options
author | Timur Iskhodzhanov <timurrrr@google.com> | 2014-05-28 08:38:13 +0000 |
---|---|---|
committer | Timur Iskhodzhanov <timurrrr@google.com> | 2014-05-28 08:38:13 +0000 |
commit | 402bcb5f8c44f731b59c0a77ed02e58c124211fb (patch) | |
tree | 66579628e21148a7ce7ea5bab04c209a82a6b888 /cmake/Modules/CompilerRTCompile.cmake | |
parent | d8501e3e1c2f3a9aa546d0d0338ea6a1d17c4d7d (diff) |
[ASan/Win] Use clang rather than clang-cl by default for lit tests. Make Windows-only tests explicitly use clang-cl.
Reviewed at http://reviews.llvm.org/D3893
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@209719 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'cmake/Modules/CompilerRTCompile.cmake')
-rw-r--r-- | cmake/Modules/CompilerRTCompile.cmake | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/cmake/Modules/CompilerRTCompile.cmake b/cmake/Modules/CompilerRTCompile.cmake index 4885c82e7..2d1dd22e3 100644 --- a/cmake/Modules/CompilerRTCompile.cmake +++ b/cmake/Modules/CompilerRTCompile.cmake @@ -17,15 +17,21 @@ macro(clang_compile object_file source) else() string(REPLACE " " ";" global_flags "${CMAKE_C_FLAGS}") endif() + # On Windows, CMAKE_*_FLAGS are built for MSVC but we use the GCC clang.exe + # which doesn't support flags starting with "/smth". Replace those with + # "-smth" equivalents. + if(MSVC) + string(REGEX REPLACE "^/" "-" global_flags "${global_flags}") + string(REPLACE ";/" ";-" global_flags "${global_flags}") + endif() # Ignore unknown warnings. CMAKE_CXX_FLAGS may contain GCC-specific options # which are not supported by Clang. list(APPEND global_flags -Wno-unknown-warning-option) set(compile_flags ${global_flags} ${SOURCE_CFLAGS}) add_custom_command( OUTPUT ${object_file} - # MSVS CL doesn't allow a space between -Fo and the object file name. COMMAND ${COMPILER_RT_TEST_COMPILER} ${compile_flags} -c - ${COMPILER_RT_TEST_COMPILER_OBJ}"${object_file}" + -o "${object_file}" ${source_rpath} MAIN_DEPENDENCY ${source} DEPENDS ${SOURCE_DEPS}) |