aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Marble <jacobmarble@google.com>2016-02-02 14:02:23 -0800
committerJacob Marble <jacobmarble@google.com>2016-02-03 00:34:30 +0000
commit60b131cc2f57ae1408498538d024f65dcfc2c35e (patch)
treec2627ab69055f67450c912b2590a52a7c690b7ac
parentddb87597bb1390b30ea99f1fd84fb7d5dcffb478 (diff)
downloadlibweave-60b131cc2f57ae1408498538d024f65dcfc2c35e.tar.gz
Make internal googletest optional.
Useful for packaging, when target already has a googletest package. To use: make USE_INTERNAL_GTEST=0 Change-Id: I67620288684dc4ab0b662929b2d5c29306ed585a Reviewed-on: https://weave-review.googlesource.com/2465 Reviewed-by: Vitaly Buka <vitalybuka@google.com>
-rw-r--r--tests.mk39
1 files changed, 29 insertions, 10 deletions
diff --git a/tests.mk b/tests.mk
index 4e11f7e..468e2ee 100644
--- a/tests.mk
+++ b/tests.mk
@@ -2,6 +2,13 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+USE_INTERNAL_GTEST ?= 1
+
+test_common_build_flags := -lcrypto -lexpat -lpthread -lrt -Lthird_party/lib
+ifneq (1, $(USE_INTERNAL_GTEST))
+test_common_build_flags += -lgtest -lgmock
+endif
+
###
# tests
@@ -15,7 +22,11 @@ endif
weave_test_obj_files := $(WEAVE_TEST_SRC_FILES:%.cc=out/$(BUILD_MODE)/%.o)
-$(weave_test_obj_files) : out/$(BUILD_MODE)/%.o : %.cc third_party/include/gtest/gtest.h
+ifeq (1, $(USE_INTERNAL_GTEST))
+$(weave_test_obj_files) : third_party/include/gtest/gtest.h
+endif
+
+$(weave_test_obj_files) : out/$(BUILD_MODE)/%.o : %.cc
mkdir -p $(dir $@)
$(CXX) $(DEFS_$(BUILD_MODE)) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $<
@@ -24,19 +35,25 @@ out/$(BUILD_MODE)/libweave-test.a : $(weave_test_obj_files)
weave_unittest_obj_files := $(WEAVE_UNITTEST_SRC_FILES:%.cc=out/$(BUILD_MODE)/%.o)
-$(weave_unittest_obj_files) : out/$(BUILD_MODE)/%.o : %.cc third_party/include/gtest/gtest.h
+ifeq (1, $(USE_INTERNAL_GTEST))
+$(weave_unittest_obj_files) : third_party/include/gtest/gtest.h
+endif
+
+$(weave_unittest_obj_files) : out/$(BUILD_MODE)/%.o : %.cc
mkdir -p $(dir $@)
$(CXX) $(DEFS_TEST) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $<
+ifeq (1, $(USE_INTERNAL_GTEST))
+out/$(BUILD_MODE)/libweave_testrunner : third_party/lib/gmock.a third_party/lib/gtest.a
+endif
+
out/$(BUILD_MODE)/libweave_testrunner : \
$(weave_unittest_obj_files) \
$(third_party_chromium_crypto_unittest_obj_files) \
$(third_party_chromium_base_unittest_obj_files) \
out/$(BUILD_MODE)/libweave_common.a \
- out/$(BUILD_MODE)/libweave-test.a \
- third_party/lib/gmock.a \
- third_party/lib/gtest.a
- $(CXX) -o $@ $^ $(CFLAGS) -lcrypto -lexpat -lpthread -lrt -Lthird_party/lib
+ out/$(BUILD_MODE)/libweave-test.a
+ $(CXX) -o $@ $^ $(CFLAGS) $(test_common_build_flags)
test : out/$(BUILD_MODE)/libweave_testrunner
$(TEST_ENV) $< $(TEST_FLAGS)
@@ -50,14 +67,16 @@ $(weave_exports_unittest_obj_files) : out/$(BUILD_MODE)/%.o : %.cc third_party/i
mkdir -p $(dir $@)
$(CXX) $(DEFS_TEST) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $<
+ifeq (1, $(USE_INTERNAL_GTEST))
+out/$(BUILD_MODE)/libweave_exports_testrunner : third_party/lib/gmock.a third_party/lib/gtest.a
+endif
+
out/$(BUILD_MODE)/libweave_exports_testrunner : \
$(weave_exports_unittest_obj_files) \
out/$(BUILD_MODE)/libweave.so \
out/$(BUILD_MODE)/libweave-test.a \
- out/$(BUILD_MODE)/src/test/weave_testrunner.o \
- third_party/lib/gmock.a \
- third_party/lib/gtest.a
- $(CXX) -o $@ $^ $(CFLAGS) -lcrypto -lexpat -lpthread -lrt -Lthird_party/lib -Wl,-rpath=out/$(BUILD_MODE)/
+ out/$(BUILD_MODE)/src/test/weave_testrunner.o
+ $(CXX) -o $@ $^ $(CFLAGS) $(test_common_build_flags) -Wl,-rpath=out/$(BUILD_MODE)/
export-test : out/$(BUILD_MODE)/libweave_exports_testrunner
$(TEST_ENV) $< $(TEST_FLAGS)