# Build for the runtime interception helper library.

set(INTERCEPTION_SOURCES
  interception_linux.cc
  interception_mac.cc
  interception_win.cc
  interception_type_test.cc
  )

include_directories(..)

set(INTERCEPTION_CFLAGS ${SANITIZER_COMMON_CFLAGS})

if(APPLE)
  # Build universal binary on APPLE.
  foreach(os ${SANITIZER_COMMON_SUPPORTED_DARWIN_OS})
    add_compiler_rt_darwin_object_library(RTInterception ${os}
      ARCH ${SANITIZER_COMMON_SUPPORTED_ARCH}
      SOURCES ${INTERCEPTION_SOURCES}
      CFLAGS ${INTERCEPTION_CFLAGS})
  endforeach()
elseif(ANDROID)
  add_library(RTInterception.arm.android OBJECT ${INTERCEPTION_SOURCES})
  set_target_compile_flags(RTInterception.arm.android
    ${INTERCEPTION_CFLAGS})
else()
  # Otherwise, build separate libraries for each target.
  foreach(arch ${SANITIZER_COMMON_SUPPORTED_ARCH})
    add_compiler_rt_object_library(RTInterception ${arch}
      SOURCES ${INTERCEPTION_SOURCES} CFLAGS ${INTERCEPTION_CFLAGS})
  endforeach()
endif()

# Build for the runtime interception helper library.

set(INTERCEPTION_SOURCES
  interception_linux.cc
  interception_mac.cc
  interception_win.cc
  interception_type_test.cc
  )

include_directories(..)

if (NOT MSVC)
  set(INTERCEPTION_CFLAGS
    ${SANITIZER_COMMON_CFLAGS})
    -fno-rtti)
else()
  set(INTERCEPTION_CFLAGS
    ${SANITIZER_COMMON_CFLAGS}
    /GR- /FS)
endif()

if(APPLE)
  # Build universal binary on APPLE.
  foreach(os ${SANITIZER_COMMON_SUPPORTED_DARWIN_OS})
    add_compiler_rt_darwin_object_library(RTInterception ${os}
      ARCH ${SANITIZER_COMMON_SUPPORTED_ARCH}
      SOURCES ${INTERCEPTION_SOURCES}
      CFLAGS ${INTERCEPTION_CFLAGS})
  endforeach()
elseif(ANDROID)
  add_library(RTInterception.arm.android OBJECT ${INTERCEPTION_SOURCES})
  set_target_compile_flags(RTInterception.arm.android
    ${INTERCEPTION_CFLAGS})
else()
  # Otherwise, build separate libraries for each target.
  foreach(arch ${SANITIZER_COMMON_SUPPORTED_ARCH})
    add_compiler_rt_object_library(RTInterception ${arch}
      SOURCES ${INTERCEPTION_SOURCES} CFLAGS ${INTERCEPTION_CFLAGS})
  endforeach()
endif()

Add an /FS flag to the lib/interception CMake to make it buildable with VS2013 too
Add an /FS flag to the lib/interception CMake to make it buildable with VS2013 too

git-svn-id: c199f293c43da69278bea8e88f92242bf3aa95f7@200482 91177308-0d34-0410-b5e6-96231b3b80d8
