summaryrefslogtreecommitdiffstats
path: root/testing/iossim/BUILD.gn
blob: a31fdcbfae09d7c4594c035e4c8386b934936938 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Copyright 2016 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.

import("//build/config/mac/mac_sdk.gni")
import("//third_party/class-dump/class-dump.gni")

config("config") {
  visibility = [ ":iossim" ]

  include_dirs = [ "$root_gen_dir/iossim" ]

  # TODO(crbug.com/595295): Building class-dump tools requires OS X SDK
  # version 10.9 or higher. Remove this override once the global version
  # of the SDK is raised.
  common_flags = [ "-mmacosx-version-min=10.9" ]
  ldflags = common_flags
  cflags_objcc = common_flags
}

executable("iossim") {
  sources = [
    "iossim.mm",
  ]
  libs = [ "Foundation.framework" ]
  deps = [
    ":generate_dvt_core_simulator",
    ":generate_dvt_foundation_header",
    ":generate_dvt_iphone_sim_header",
  ]
  configs += [ ":config" ]

  # TODO(crbug.com/595295): Building class-dump tools requires OS X SDK
  # version 10.9 or higher. To prevent mixing code using different value
  # of minimum SDK supported, forbids dependencies on any Chromium target.
  assert_no_deps = [ "//base/*" ]
}

class_dump("generate_dvt_core_simulator") {
  framework_name = "CoreSimulator"
  framework_path = "$mac_sdk_path/../../../../../Library/PrivateFrameworks"
  class_dump_filter = "Sim"
}

class_dump("generate_dvt_foundation_header") {
  framework_name = "DVTFoundation"
  framework_path = "$mac_sdk_path/../../../../../../SharedFrameworks"
  class_dump_filter = "DVTStackBacktrace|DVTInvalidation|DVTMixIn"
}

class_dump("generate_dvt_iphone_sim_header") {
  topological_sort = true
  framework_name = "DVTiPhoneSimulatorRemoteClient"
  framework_path = "$mac_sdk_path/../../../../../../SharedFrameworks"
  class_dump_filter = "iPhoneSimulator"
}