| # Copyright 2015 The Bazel Authors. All rights reserved. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| ios_application( |
| name = "PrenotCalculator", |
| binary = ":PrenotCalculator_binary", |
| infoplist = "PrenotCalculator/PrenotCalculator-Info.plist", |
| visibility = ["//visibility:public"], |
| ) |
| |
| objc_binary( |
| name = "PrenotCalculator_binary", |
| srcs = [ |
| "PrenotCalculator/AppDelegate.m", |
| "PrenotCalculator/CalculatedValues.m", |
| "PrenotCalculator/CalculatorViewController.m", |
| "PrenotCalculator/CoreData.m", |
| "PrenotCalculator/Equation.m", |
| "PrenotCalculator/Literal.m", |
| "PrenotCalculator/ValuesViewController.m", |
| "PrenotCalculator/main.m", |
| ], |
| hdrs = glob( |
| ["**/*.h"], |
| exclude = ["PrenotCalculator/Expression.h"], |
| ), |
| bundles = [":PrenotCalculatorResources"], |
| sdk_frameworks = ["CoreData"], |
| xibs = ["PrenotCalculator/CalculatorViewController.xib"], |
| deps = [ |
| ":CoreDataResources", |
| ":ExpressionPrebuilt", |
| ], |
| ) |
| |
| # A prebuilt library that contains multiple architectures. |
| # Currently compiled for: i386, x86_64, armv7. |
| objc_import( |
| name = "ExpressionPrebuilt", |
| hdrs = ["PrenotCalculator/Expression.h"], |
| archives = [ |
| "expression_prebuilt.a", |
| ], |
| ) |
| |
| # Don't use this directly, instead use it to construct ExpressionPrebuilt and |
| # depend on that instead. |
| # You can build using the following command: |
| # for i in armv7 arm64 i386 x86_64; \ |
| # do output/bazel build --xcode_version=7.2 --ios_sdk_version=9.2 --ios_cpu=$i examples/objc:ExpressionClasses; \ |
| # mv bazel-bin/examples/objc/libExpressionClasses.a bazel-bin/examples/objc/libExpressionClasses_$i.a; \ |
| # done; \ |
| # xcrun lipo -create bazel-bin/examples/objc/libExpressionClasses_{armv7,arm64,i386,x86_64}.a -output bazel-bin/examples/objc/expression_prebuilt.a \ |
| # cp bazel-bin/examples/objc/expression_prebuilt.a examples/objc/expression_prebuilt.a |
| # You may need to adjust the xcode_version and ios_sdk_versions as appropriate. |
| objc_library( |
| name = "ExpressionClasses", |
| srcs = [ |
| "PrenotCalculator/Expression.m", |
| ], |
| hdrs = ["PrenotCalculator/Expression.h"], |
| ) |
| |
| objc_bundle_library( |
| name = "PrenotCalculatorResources", |
| resources = glob(["PrenotCalculator/Resources/**"]), |
| ) |
| |
| objc_library( |
| name = "CoreDataResources", |
| datamodels = glob(["PrenotCalculator/DataModel.xcdatamodeld/**"]), |
| ) |
| |
| filegroup( |
| name = "srcs", |
| srcs = glob([ |
| "**", |
| "BUILD", |
| ]), |
| visibility = ["//examples:__pkg__"], |
| ) |