foreach(arch ${SANITIZER_COMMON_SUPPORTED_ARCH}) get_target_flags_for_arch(${arch} TARGET_CFLAGS) set(RTSanitizerCommonSymbolizerInternalDir "${CMAKE_CURRENT_BINARY_DIR}/RTSanitizerCommonSymbolizerInternal.${arch}") add_custom_command(OUTPUT ${RTSanitizerCommonSymbolizerInternalDir} COMMAND ${CMAKE_COMMAND} -E make_directory ${RTSanitizerCommonSymbolizerInternalDir}) add_custom_command(OUTPUT RTSanitizerCommonSymbolizerInternal.${arch}.o DEPENDS ${RTSanitizerCommonSymbolizerInternalDir} sanitizer_wrappers.cpp sanitizer_symbolize.cpp scripts/build_symbolizer.sh WORKING_DIRECTORY ${RTSanitizerCommonSymbolizerInternalDir} COMMAND FLAGS=${TARGET_CFLAGS} CLANG=${LLVM_RUNTIME_OUTPUT_INTDIR}/clang ${CMAKE_CURRENT_SOURCE_DIR}/scripts/build_symbolizer.sh ${CMAKE_CURRENT_BINARY_DIR}/RTSanitizerCommonSymbolizerInternal.${arch}.o USES_TERMINAL) add_custom_target(RTSanitizerCommonSymbolizerInternalObj.${arch} DEPENDS RTSanitizerCommonSymbolizerInternal.${arch}.o) set_property(TARGET RTSanitizerCommonSymbolizerInternal.${arch} PROPERTY IMPORTED_OBJECTS ${CMAKE_CURRENT_BINARY_DIR}/RTSanitizerCommonSymbolizerInternal.${arch}.o) endforeach()