1 # Copyright (C) 2013 Google Inc. 2 # 3 # Licensed under the Apache License, Version 2.0 (the "License"); 4 # you may not use this file except in compliance with the License. 5 # You may obtain a copy of the License at 6 # 7 # http://www.apache.org/licenses/LICENSE-2.0 8 # 9 # Unless required by applicable law or agreed to in writing, software 10 # distributed under the License is distributed on an "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 # See the License for the specific language governing permissions and 13 # limitations under the License. 14 { 15 'variables': { 16 'component%': 'shared_library', 17 }, 18 'includes': ['libaddressinput.gypi'], 19 'target_defaults': { 20 'include_dirs': [ 21 'include', 22 ], 23 }, 24 'targets': [ 25 { 26 'target_name': 'libaddressinput', 27 'type': '<(component)', 28 'sources': [ 29 '<@(libaddressinput_files)', 30 ], 31 'dependencies': [ 32 'grit.gyp:generated_messages', 33 'rapidjson.gyp:rapidjson', 34 're2.gyp:re2', 35 ], 36 'conditions': [ 37 ['OS == "linux" and _type == "shared_library"', { 38 # https://code.google.com/p/gyp/issues/detail?id=374 39 'cflags': ['-fPIC'], 40 }], 41 ], 42 }, 43 { 44 'target_name': 'unit_tests', 45 'type': 'executable', 46 'sources': [ 47 '<@(libaddressinput_test_files)', 48 ], 49 'defines': [ 50 'TEST_DATA_DIR="../testdata"', 51 ], 52 'include_dirs': [ 53 'src', 54 ], 55 'dependencies': [ 56 'libaddressinput', 57 'gtest.gyp:main', 58 ], 59 'conditions': [ 60 [ 'OS == "mac"', { 61 'postbuilds': [ 62 { 63 # To make it possible to execute the unit tests directly from the 64 # build directory, without first installing the library, the path 65 # to the library is set to be relative to the unit test executable 66 # (so that also the library will be loaded directly from the build 67 # directory). 68 'postbuild_name': 'Make dylib path relative to executable', 69 'action': [ 70 'install_name_tool', 71 '-change', 72 '/usr/local/lib/libaddressinput.dylib', 73 '@executable_path/libaddressinput.dylib', 74 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}' 75 ], 76 }, 77 ], 78 }], 79 ], 80 }, 81 ], 82 } 83