# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

# Avoid recursive make to avoid having to add files to the gtest/ subdirectory
# (which is third-party code), and to make the build faster.

include $(topsrcdir)/config/rules.mk

# Bug 1028035: Linking xul-gtest.dll takes too long, so we disable GTest on
# Windows PGO builds.
ifeq (1_WINNT,$(MOZ_PGO)_$(OS_ARCH))
SKIP_GTEST_DURING_MAKE_CHECK ?= 1
endif

ifeq (browser,$(MOZ_BUILD_APP))
ifdef COMPILE_ENVIRONMENT
gtest::
	$(MAKE) -C $(DEPTH)/toolkit/library gtestxul
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
	$(MAKE) -C $(DEPTH)/browser/app repackage
endif
ifneq (1,$(SKIP_GTEST_DURING_MAKE_CHECK))
check::
	$(MAKE) -C $(DEPTH)/toolkit/library gtestxul
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
	$(MAKE) -C $(DEPTH)/browser/app repackage
	$(PYTHON) $(topsrcdir)/testing/gtest/rungtests.py \
		--cwd=$(DEPTH)/_tests/gtest \
		--xre-path=$(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/Resources \
		--symbols-path=$(DIST)/crashreporter-symbols \
		$(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/MacOS/$(MOZ_APP_NAME)$(BIN_SUFFIX)
else
	$(PYTHON) $(topsrcdir)/testing/gtest/rungtests.py \
		--cwd=$(DEPTH)/_tests/gtest \
		--xre-path=$(DIST)/bin \
		--symbols-path=$(DIST)/crashreporter-symbols \
		$(DIST)/bin/$(MOZ_APP_NAME)$(BIN_SUFFIX)
endif
else
check::
	echo GTest skipped during make check
endif
endif
endif
