diff --git a/compiler-rt/cmake/Modules/CompilerRTCompile.cmake b/compiler-rt/cmake/Modules/CompilerRTCompile.cmake --- a/compiler-rt/cmake/Modules/CompilerRTCompile.cmake +++ b/compiler-rt/cmake/Modules/CompilerRTCompile.cmake @@ -70,29 +70,34 @@ if (TARGET CompilerRTUnitTestCheckCxx) list(APPEND SOURCE_DEPS CompilerRTUnitTestCheckCxx) endif() - string(REGEX MATCH "[.](cc|cpp)$" is_cxx ${source_rpath}) - string(REGEX MATCH "[.](m|mm)$" is_objc ${source_rpath}) - if(is_cxx) - string(REPLACE " " ";" global_flags "${CMAKE_CXX_FLAGS}") - else() - string(REPLACE " " ";" global_flags "${CMAKE_C_FLAGS}") - endif() + if(COMPILER_RT_STANDALONE_BUILD) + # Only add global flags in standalone build. + string(REGEX MATCH "[.](cc|cpp)$" is_cxx ${source_rpath}) + string(REGEX MATCH "[.](m|mm)$" is_objc ${source_rpath}) + if(is_cxx) + string(REPLACE " " ";" global_flags "${CMAKE_CXX_FLAGS}") + else() + string(REPLACE " " ";" global_flags "${CMAKE_C_FLAGS}") + endif() - if (MSVC) - translate_msvc_cflags(global_flags "${global_flags}") - endif() + if (MSVC) + translate_msvc_cflags(global_flags "${global_flags}") + endif() - if (APPLE) - set(global_flags ${OSX_SYSROOT_FLAG} ${global_flags}) - endif() - if (is_objc) - list(APPEND global_flags -ObjC) - endif() + if (APPLE) + set(global_flags ${OSX_SYSROOT_FLAG} ${global_flags}) + endif() + if (is_objc) + list(APPEND global_flags -ObjC) + 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}) + # 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}) + else() + set(compile_flags ${SOURCE_CFLAGS}) + endif() add_custom_command( OUTPUT ${object_file} COMMAND ${COMPILER_RT_TEST_COMPILER} ${compile_flags} -c