# Copyright (c) 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

assert(is_mac || is_ios)

config("ocmock_config") {
  include_dirs = [ "//third_party/ocmock" ]
}

config("ocmock_warnings") {
  # NSInvocation+OCMAdditions.m has some `- (void) foo; {...`
  cflags = [
    "-Wno-semicolon-before-method-body",
    "-Wno-undeclared-selector",
  ]
}

source_set("ocmock") {
  testonly = true

  sources = [
    # Helper for using with gtest.
    "gtest_support.h",
    "gtest_support.mm",

    # Some extra features to make using OCMock easier.
    "ocmock_extensions.h",
    "ocmock_extensions.mm",

    # OCMock sources.
    "OCMock/NSInvocation+OCMAdditions.h",
    "OCMock/NSInvocation+OCMAdditions.m",
    "OCMock/NSMethodSignature+OCMAdditions.h",
    "OCMock/NSMethodSignature+OCMAdditions.m",
    "OCMock/NSNotificationCenter+OCMAdditions.h",
    "OCMock/NSNotificationCenter+OCMAdditions.m",
    "OCMock/OCClassMockObject.h",
    "OCMock/OCClassMockObject.m",
    "OCMock/OCMArg.h",
    "OCMock/OCMArg.m",
    "OCMock/OCMBlockCaller.h",
    "OCMock/OCMBlockCaller.m",
    "OCMock/OCMBoxedReturnValueProvider.h",
    "OCMock/OCMBoxedReturnValueProvider.m",
    "OCMock/OCMConstraint.h",
    "OCMock/OCMConstraint.m",
    "OCMock/OCMExceptionReturnValueProvider.h",
    "OCMock/OCMExceptionReturnValueProvider.m",
    "OCMock/OCMIndirectReturnValueProvider.h",
    "OCMock/OCMIndirectReturnValueProvider.m",
    "OCMock/OCMNotificationPoster.h",
    "OCMock/OCMNotificationPoster.m",
    "OCMock/OCMObserverRecorder.h",
    "OCMock/OCMObserverRecorder.m",
    "OCMock/OCMPassByRefSetter.h",
    "OCMock/OCMPassByRefSetter.m",
    "OCMock/OCMRealObjectForwarder.h",
    "OCMock/OCMRealObjectForwarder.m",
    "OCMock/OCMReturnValueProvider.h",
    "OCMock/OCMReturnValueProvider.m",
    "OCMock/OCMock.h",
    "OCMock/OCMockObject.h",
    "OCMock/OCMockObject.m",
    "OCMock/OCMockRecorder.h",
    "OCMock/OCMockRecorder.m",
    "OCMock/OCObserverMockObject.h",
    "OCMock/OCObserverMockObject.m",
    "OCMock/OCPartialMockObject.h",
    "OCMock/OCPartialMockObject.m",
    "OCMock/OCPartialMockRecorder.h",
    "OCMock/OCPartialMockRecorder.m",
    "OCMock/OCProtocolMockObject.h",
    "OCMock/OCProtocolMockObject.m",
  ]

  deps = [
    "//testing/gtest",
  ]
  public_configs = [ ":ocmock_config" ]
  configs += [ ":ocmock_warnings" ]
}
