Chromium Code Reviews| Index: base/base.gyp |
| diff --git a/base/base.gyp b/base/base.gyp |
| index 02c8585557d6f20a1fe04e3abc225fcb75d1c67a..f6808182b7039937e8106e998d09a1b597312603 100644 |
| --- a/base/base.gyp |
| +++ b/base/base.gyp |
| @@ -153,7 +153,7 @@ |
| }, |
| { |
| 'target_name': 'base_unittests', |
| - 'type': 'executable', |
| + 'type': '<(gtest_target_type)', |
| 'sources': [ |
| # Tests. |
| 'android/jni_android_unittest.cc', |
| @@ -334,6 +334,11 @@ |
| 'android/jni_generator/jni_generator.gyp:jni_generator_tests', |
| ], |
| }], |
| + ['OS=="android" and "<(gtest_target_type)"=="shared_library"', { |
| + 'dependencies': [ |
| + '../testing/android/native_test.gyp:native_test_native_code', |
| + ], |
| + }], |
| ['use_glib==1', { |
| 'sources!': [ |
| 'file_version_info_unittest.cc', |
| @@ -655,5 +660,54 @@ |
| }, |
| ], |
| }], |
| + # Special target to wrap a <(gtest_target_type)==shared_library |
| + # base_unittests into an android apk for execution. |
| + # TODO(jrg): lib.target comes from _InstallableTargetInstallPath() |
| + # in the gyp make generator. What is the correct way to extract |
| + # this path from gyp and into 'raw' for input to antfiles? |
| + # Hard-coding in the gypfile seems a poor choice. |
|
Ryan Sleevi
2012/04/17 01:02:05
Use <(SHARED_LIB_DIR) (and indicate that this targ
|
| + # TODO(jrg): there has to be a shorter way to do all this. Try |
| + # and convert this entire target cluster into ~5 lines that can be |
| + # trivially copied to other projects with only a deps change, such |
| + # as with a new gtest_target_type called |
| + # 'shared_library_apk_wrapper' that does a lot of this magically. |
|
Ryan Sleevi
2012/04/17 01:02:05
Or use a .gypi file.
{
'targets': [
{
|
| + ['OS=="android" and "<(gtest_target_type)"=="shared_library"', { |
| + 'targets': [ |
| + { |
| + 'target_name': 'base_unittests_apk', |
| + 'type': 'none', |
| + 'dependencies': [ |
| + 'base', # So that android/java/java.gyp:base_java is built |
|
Ryan Sleevi
2012/04/17 01:02:05
You should depend on android/java/java.gyp:base_ja
|
| + 'base_unittests', |
| + ], |
| + 'actions': [ |
| + { |
| + # Generate apk files (including source and antfile) from |
| + # a template, and builds them. |
| + 'action_name': 'generate_and_build', |
| + 'inputs': [ |
| + '../testing/android/generate_native_test.py', |
| + '<(PRODUCT_DIR)/lib.target/libbase_unittests.so', |
| + '<(PRODUCT_DIR)/chromium_base.jar' |
| + ], |
| + 'outputs': [ |
| + '<(PRODUCT_DIR)/ChromeNativeTests_base_unittests-debug.apk', |
| + ], |
| + 'action': [ |
| + '../testing/android/generate_native_test.py', |
| + '--native_library', |
| + '<(PRODUCT_DIR)/lib.target/libbase_unittests.so', |
| + '--jar', |
| + '<(PRODUCT_DIR)/chromium_base.jar', |
| + '--output', |
| + '<(PRODUCT_DIR)/base_unittests_apk', |
| + '--ant-args', |
| + '-DPRODUCT_DIR=<(PRODUCT_DIR)', |
| + '--ant-compile' |
| + ], |
| + }, |
| + ] |
| + }], |
| + }], |
| ], |
| } |