Include of gtest_prod.h only building unittests Change-Id: I605ba14fa7e205158aef671c98938b911362b5b6 Reviewed-on: https://weave-review.googlesource.com/2329 Reviewed-by: Jacob Marble <jacobmarble@google.com> Reviewed-by: Alex Vakulenko <avakulenko@google.com>
diff --git a/Makefile b/Makefile index 4ea625f..de69f40 100644 --- a/Makefile +++ b/Makefile
@@ -71,6 +71,10 @@ OBJFILES = $(shell find out/$(BUILD_MODE)/ -type f -name '*.o') -include $(OBJFILES:.o=.d) +DEFS_TEST := \ + $(DEFS_$(BUILD_MODE)) \ + -DHAS_GTEST=1 + ### # libweave.so @@ -85,7 +89,7 @@ weave_obj_files := $(WEAVE_SRC_FILES:%.cc=out/$(BUILD_MODE)/%.o) # TODO(jacobmarble): There are too many gtest/gmock deps in non-test targets. Fix. -$(weave_obj_files) : out/$(BUILD_MODE)/%.o : %.cc third_party/include/gtest/gtest.h +$(weave_obj_files) : out/$(BUILD_MODE)/%.o : %.cc mkdir -p $(dir $@) $(CXX) $(DEFS_$(BUILD_MODE)) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $< @@ -93,7 +97,7 @@ rm -f $@ $(AR) crsT $@ $^ -all : out/$(BUILD_MODE)/libweave.so out/$(BUILD_MODE)/libweave_exports_testrunner out/$(BUILD_MODE)/libweave_testrunner all-examples +all : out/$(BUILD_MODE)/libweave.so all-examples out/$(BUILD_MODE)/libweave_exports_testrunner out/$(BUILD_MODE)/libweave_testrunner clean : rm -rf out
diff --git a/tests.mk b/tests.mk index 1ae3b81..563b94b 100644 --- a/tests.mk +++ b/tests.mk
@@ -26,7 +26,7 @@ $(weave_unittest_obj_files) : out/$(BUILD_MODE)/%.o : %.cc third_party/include/gtest/gtest.h mkdir -p $(dir $@) - $(CXX) $(DEFS_$(BUILD_MODE)) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $< + $(CXX) $(DEFS_TEST) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $< 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 $(CXX) -o $@ $^ $(CFLAGS) -lcrypto -lexpat -lgmock -lgtest -lpthread -lrt -Lthird_party/lib @@ -41,7 +41,7 @@ $(weave_exports_unittest_obj_files) : out/$(BUILD_MODE)/%.o : %.cc third_party/include/gtest/gtest.h mkdir -p $(dir $@) - $(CXX) $(DEFS_$(BUILD_MODE)) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $< + $(CXX) $(DEFS_TEST) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $< 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 $(CXX) -o $@ $^ $(CFLAGS) -lcrypto -lexpat -lgmock -lgtest -lpthread -lrt -Lthird_party/lib -Wl,-rpath=out/$(BUILD_MODE)/
diff --git a/third_party/chromium/base/gtest_prod_util.h b/third_party/chromium/base/gtest_prod_util.h index b90cd4e..b3db728 100644 --- a/third_party/chromium/base/gtest_prod_util.h +++ b/third_party/chromium/base/gtest_prod_util.h
@@ -5,6 +5,8 @@ #ifndef BASE_GTEST_PROD_UTIL_H_ #define BASE_GTEST_PROD_UTIL_H_ +#if defined(HAS_GTEST) + #include <gtest/gtest_prod.h> // This is a wrapper for gtest's FRIEND_TEST macro that friends @@ -63,4 +65,10 @@ class test_case_name##_##DISABLED_##test_name##_Test; \ class test_case_name##_##FLAKY_##test_name##_Test +#else // defined(HAS_GTEST) + +#define FRIEND_TEST_ALL_PREFIXES(test_case_name, test_name) + +#endif // defined(HAS_GTEST) + #endif // BASE_GTEST_PROD_UTIL_H_
diff --git a/third_party/third_party.mk b/third_party/third_party.mk index c3e1cf0..f092e89 100644 --- a/third_party/third_party.mk +++ b/third_party/third_party.mk
@@ -7,7 +7,7 @@ third_party_chromium_base_obj_files := $(THIRD_PARTY_CHROMIUM_BASE_SRC_FILES:%.cc=out/$(BUILD_MODE)/%.o) -$(third_party_chromium_base_obj_files) : out/$(BUILD_MODE)/%.o : %.cc third_party/include/gtest/gtest.h +$(third_party_chromium_base_obj_files) : out/$(BUILD_MODE)/%.o : %.cc mkdir -p $(dir $@) $(CXX) $(DEFS_$(BUILD_MODE)) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $< @@ -15,11 +15,11 @@ $(third_party_chromium_base_unittest_obj_files) : out/$(BUILD_MODE)/%.o : %.cc third_party/include/gtest/gtest.h mkdir -p $(dir $@) - $(CXX) $(DEFS_$(BUILD_MODE)) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $< + $(CXX) $(DEFS_TEST) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $< third_party_chromium_crypto_obj_files := $(THIRD_PARTY_CHROMIUM_CRYPTO_SRC_FILES:%.cc=out/$(BUILD_MODE)/%.o) -$(third_party_chromium_crypto_obj_files) : out/$(BUILD_MODE)/%.o : %.cc third_party/include/gtest/gtest.h +$(third_party_chromium_crypto_obj_files) : out/$(BUILD_MODE)/%.o : %.cc mkdir -p $(dir $@) $(CXX) $(DEFS_$(BUILD_MODE)) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $< @@ -27,7 +27,7 @@ $(third_party_chromium_crypto_unittest_obj_files) : out/$(BUILD_MODE)/%.o : %.cc third_party/include/gtest/gtest.h mkdir -p $(dir $@) - $(CXX) $(DEFS_$(BUILD_MODE)) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $< + $(CXX) $(DEFS_TEST) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $< ### # third_party/modp_b64/