# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- # # This file is part of the LibreOffice project. # # 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/. # # This file incorporates work covered by the following license notice: # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed # with this work for additional information regarding copyright # ownership. The ASF licenses this file to you under the Apache # License, Version 2.0 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.apache.org/licenses/LICENSE-2.0 . # # CppunitTest class gb_CppunitTest_UNITTESTFAILED ?= $(GBUILDDIR)/platform/unittest-failed-default.sh gb_CppunitTest_PYTHONDEPS ?= $(call gb_Library_get_target,pyuno_wrapper) $(if $(SYSTEM_PYTHON),,$(call gb_Package_get_target,python3)) ifeq ($(WITH_COREDUMPCTL),) gb_CppunitTest_coredumpctl_setup := gb_CppunitTest_coredumpctl_run := else gb_CppunitTest_coredumpctl_setup = \ export LIBO_TEST_UNIT=$$($(SYSTEMD_ESCAPE) "$1:$$(date -u +%Y%m%d%H%M%S):$$$$$(if $2,:$2)" | cut -b -249) && gb_CppunitTest_coredumpctl_run := $(SYSTEMD_RUN) --scope --user --unit="$$LIBO_TEST_UNIT" endif ifneq ($(strip $(CPPUNITTRACE)),) ifneq ($(filter gdb,$(CPPUNITTRACE)),) # sneak (a) setting the LD_LIBRARY_PATH, and (b) setting malloc debug flags, into the "gdb --args" command line gb_CppunitTest_GDBTRACE := $(subst gdb,\ gdb -return-child-result -ex "add-auto-load-safe-path $(INSTDIR)" -ex "set environment $(subst =, ,$(gb_CppunitTest_CPPTESTPRECOMMAND))" $(if $(PYTHONWARNINGS),-ex 'set environment PYTHONWARNINGS $(PYTHONWARNINGS)') $(gb_CppunitTest_malloc_check) $(gb_CppunitTest_DEBUGCPPUNIT),\ $(CPPUNITTRACE)) gb_PythonTest_GDBTRACE := $(subst gdb,\ gdb -return-child-result -ex "add-auto-load-safe-path $(INSTDIR)" -ex "set environment $(subst =, ,$(gb_PythonTest_PRECOMMAND))" $(if $(PYTHONWARNINGS),-ex 'set environment PYTHONWARNINGS $(PYTHONWARNINGS)') $(gb_CppunitTest_malloc_check) $(gb_CppunitTest_DEBUGCPPUNIT),\ $(CPPUNITTRACE)) else ifneq ($(filter lldb,$(CPPUNITTRACE)),) gb_CppunitTest_GDBTRACE := $(subst lldb,\ lldb -o "env $(gb_CppunitTest_CPPTESTPRECOMMAND)" $(gb_CppunitTest_malloc_check),\ $(CPPUNITTRACE)) gb_PythonTest_GDBTRACE := $(gb_CppunitTest_GDBTRACE) else gb_CppunitTest_GDBTRACE := $(CPPUNITTRACE) gb_PythonTest_GDBTRACE := $(gb_CppunitTest_GDBTRACE) endif ifneq ($(strip $(DEBUGCPPUNIT)),TRUE) gb_CppunitTest__interactive := $(true) endif endif ifneq ($(strip $(VALGRIND)),) gb_CppunitTest_VALGRINDTOOL := valgrind --tool=$(VALGRIND) --num-callers=50 --error-exitcode=1 --trace-children=yes --trace-children-skip='*/java,*/gij' ifneq ($(strip $(VALGRIND_GDB)),) gb_CppunitTest_VALGRINDTOOL += --vgdb=yes --vgdb-error=0 endif ifeq ($(strip $(VALGRIND)),memcheck) G_SLICE := always-malloc GLIBCXX_FORCE_NEW := 1 endif endif ifneq (,$(filter perfcheck,$(MAKECMDGOALS))) $(if $(ENABLE_VALGRIND),,$(call gb_Output_error,Running performance tests with empty $$(ENABLE_VALGRIND) does not make sense. Please install valgrind-dev and re-run autogen.)) gb_CppunitTest_VALGRINDTOOL := valgrind --tool=callgrind --dump-instr=yes --instr-atstart=no --simulate-cache=yes --dump-instr=yes --collect-bus=yes --branch-sim=yes ifneq ($(strip $(VALGRIND_GDB)),) gb_CppunitTest_VALGRINDTOOL += --vgdb=yes --vgdb-error=0 endif endif ifneq ($(strip $(RR)),) gb_CppunitTest_RR := rr record endif # defined by platform # gb_CppunitTest_get_filename gb_CppunitTest_RUNTIMEDEPS := $(call gb_Executable_get_runtime_dependencies,cppunittester) gb_CppunitTest_CPPTESTCOMMAND := $(call gb_Executable_get_target_for_build,cppunittester) # i18npool dlopens localedata_* libraries. gb_CppunitTest_RUNTIMEDEPS += \ $(call gb_Library_get_target,localedata_en) \ $(call gb_Library_get_target,localedata_es) \ $(call gb_Library_get_target,localedata_euro) \ $(call gb_Library_get_target,localedata_others) \ $(call gb_Package_get_target,test_unittest) \ define gb_CppunitTest__make_args $(HEADLESS) \ "-env:BRAND_BASE_DIR=$(call gb_Helper_make_url,$(INSTROOT))" \ "-env:BRAND_SHARE_SUBDIR=$(LIBO_SHARE_FOLDER)" \ "-env:BRAND_SHARE_RESOURCE_SUBDIR=$(LIBO_SHARE_RESOURCE_FOLDER)" \ "-env:UserInstallation=$(call gb_Helper_make_url,$(call gb_CppunitTest_get_target,$*).user)" \ $(if $(URE),\ $(if $(strip $(CONFIGURATION_LAYERS)),\ "-env:CONFIGURATION_LAYERS=$(strip $(CONFIGURATION_LAYERS))") \ $(if $(strip $(UNO_TYPES)),\ "-env:UNO_TYPES=$(foreach item,$(UNO_TYPES),$(call gb_Helper_make_url,$(item)))") \ $(if $(strip $(UNO_SERVICES)),\ "-env:UNO_SERVICES=$(foreach item,$(UNO_SERVICES),$(call gb_Helper_make_url,$(item)))" -env:URE_BIN_DIR=$(call gb_Helper_make_url,$(INSTROOT)/$(LIBO_URE_BIN_FOLDER))) \ -env:URE_INTERNAL_LIB_DIR=$(call gb_Helper_make_url,$(INSTROOT)/$(LIBO_URE_LIB_FOLDER)) \ -env:LO_LIB_DIR=$(call gb_Helper_make_url,$(INSTROOT)/$(LIBO_LIB_FOLDER)) \ -env:LO_JAVA_DIR=$(call gb_Helper_make_url,$(INSTROOT)/$(LIBO_SHARE_JAVA_FOLDER)) \ --protector $(call gb_Library_get_target,unoexceptionprotector) unoexceptionprotector \ --protector $(call gb_Library_get_target,unobootstrapprotector) unobootstrapprotector \ ) \ $(if $(VCL),\ --protector $(call gb_Library_get_target,vclbootstrapprotector) vclbootstrapprotector \ ) \ $(ARGS) endef .PHONY : $(call gb_CppunitTest_get_clean_target,%) $(call gb_CppunitTest_get_clean_target,%) : $(call gb_Helper_abbreviate_dirs,\ rm -f $(call gb_CppunitTest_get_target,$*) $(call gb_CppunitTest_get_target,$*).log) .PHONY : $(call gb_CppunitTest_get_target,%) $(call gb_CppunitTest_get_target,%) :| $(gb_CppunitTest_RUNTIMEDEPS) ifneq ($(gb_SUPPRESS_TESTS),) @true else $(call gb_Output_announce,$*,$(true),CUT,2) $(call gb_Trace_StartRange,$*,CUT) $(call gb_Helper_abbreviate_dirs,\ mkdir -p $(dir $@) && \ rm -fr $@.user && cp -r $(WORKDIR)/unittest $@.user && \ $(if $(gb_CppunitTest__use_confpreinit), \ $(INSTDIR)/program/lokconf_init $(call gb_CppunitTest__make_args) &&) \ $(if $(gb_CppunitTest__interactive),, \ $(if $(value gb_CppunitTest_postprocess), \ rm -fr $@.core && mkdir $@.core && cd $@.core &&)) \ $(if $(gb_CppunitTest_localized),for l in $(WITH_LANG_LIST) ; do) \ $(call gb_CppunitTest_coredumpctl_setup,$@,$(if $(gb_CppunitTest_localized),$$l)) \ ( \ $(if $(gb_CppunitTest_localized),printf 'LO_TEST_LOCALE=%s\n' "$$l" && ) \ $(if $(gb_CppunitTest_localized),LO_TEST_LOCALE="$$l") \ $(if $(gb_CppunitTest__vcl_no_svp), \ $(filter-out SAL_USE_VCLPLUGIN=svp,$(gb_TEST_ENV_VARS)),$(gb_TEST_ENV_VARS)) \ $(EXTRA_ENV_VARS) \ $(if $(filter allow,$(NON_APPLICATION_FONT_USE)),, \ $(if $(filter abort,$(NON_APPLICATION_FONT_USE)),SAL_NON_APPLICATION_FONT_USE=abort, \ $(if $(filter deny,$(NON_APPLICATION_FONT_USE)),SAL_NON_APPLICATION_FONT_USE=deny))) \ $(if $(filter gdb,$(gb_CppunitTest_GDBTRACE)),,$(gb_CppunitTest_CPPTESTPRECOMMAND)) \ $(if $(G_SLICE),G_SLICE=$(G_SLICE)) \ $(if $(GLIBCXX_FORCE_NEW),GLIBCXX_FORCE_NEW=$(GLIBCXX_FORCE_NEW)) \ $(if $(strip $(PYTHON_URE)),\ PYTHONDONTWRITEBYTECODE=1) \ $(if $(filter gdb,$(CPPUNITTRACE)),\ PYTHONWARNINGS=default) \ LO_RUNNING_UNIT_TEST=1 \ $(ICECREAM_RUN) $(gb_CppunitTest_coredumpctl_run) $(gb_CppunitTest_GDBTRACE) $(gb_CppunitTest_VALGRINDTOOL) $(gb_CppunitTest_RR) \ $(gb_CppunitTest_CPPTESTCOMMAND) \ $(call gb_CppunitTest_get_linktarget_target,$*) \ $(call gb_CppunitTest__make_args) "-env:CPPUNITTESTTARGET=$@" \ ) \ $(if $(gb_CppunitTest__interactive),$(if $(gb_CppunitTest_localized),|| exit $$?), \ > $@.$(if $(gb_CppunitTest_localized),$$l.)log 2>&1 \ || { $(if $(value gb_CppunitTest_postprocess), \ RET=$$?; \ $(call gb_CppunitTest_postprocess,$(gb_CppunitTest_CPPTESTCOMMAND),$@.core,$$RET) >> $@.$(if $(gb_CppunitTest_localized),$$l.)log 2>&1;) \ cat $@.$(if $(gb_CppunitTest_localized),$$l.)log; $(gb_CppunitTest_UNITTESTFAILED) Cppunit $*; \ $(if $(gb_CppunitTest_localized),exit $$RET;) } ) \ $(if $(gb_CppunitTest_localized),; done)) $(call gb_Trace_EndRange,$*,CUT) endif define gb_CppunitTest_CppunitTest $(call gb_CppunitTest__CppunitTest_impl,$(1),$(call gb_CppunitTest_get_linktarget,$(1))) endef define gb_CppunitTest_CppunitScreenShot $(call gb_CppunitTest_get_target,$(1)) : gb_CppunitTest_localized := $(true) $(call gb_CppunitTest__CppunitTest_impl,$(1),$(call gb_CppunitTest_get_linktarget,$(1))) endef define gb_CppunitTest_register_target endef # call gb_CppunitTest__CppunitTest_impl,cppunittest,linktarget define gb_CppunitTest__CppunitTest_impl $(call gb_CppunitTest_register_target, $(1), $(2), "test") $(call gb_LinkTarget_LinkTarget,$(2),CppunitTest_$(1),NONE) $(call gb_LinkTarget_set_targettype,$(2),CppunitTest) $(call gb_LinkTarget_add_libs,$(2),$(gb_STDLIBS)) $(call gb_LinkTarget_add_defs,$(2),\ $(gb_CppunitTest_DEFS) \ ) $(call gb_LinkTarget_use_external,$(2),cppunit) $(call gb_LinkTarget_set_include,$(2),\ $$(INCLUDE) \ $(filter -I%,$(CPPUNIT_CFLAGS)) \ ) $(call gb_LinkTarget_add_defs,$(2), \ $(filter-out -I%,$(CPPUNIT_CFLAGS)) \ -DCPPUNIT_PLUGIN_EXPORT='extern "C" SAL_DLLPUBLIC_EXPORT' \ ) $(call gb_CppunitTest_get_target,$(1)) : $(call gb_LinkTarget_get_target,$(2)) $(call gb_CppunitTest_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_target,$(2)) $(call gb_CppunitTest_CppunitTest_platform,$(1),$(2),$(gb_CppunitTest_DLLDIR)/$(call gb_CppunitTest_get_ilibfilename,$(1))) $(call gb_CppunitTest_get_target,$(1)) : ARGS := $(call gb_CppunitTest_get_target,$(1)) : CONFIGURATION_LAYERS := $(call gb_CppunitTest_get_target,$(1)) : PYTHON_URE := $(false) $(call gb_CppunitTest_get_target,$(1)) : URE := $(false) $(call gb_CppunitTest_get_target,$(1)) : VCL := $(false) $(call gb_CppunitTest_get_target,$(1)) : UNO_SERVICES := $(call gb_CppunitTest_get_target,$(1)) : UNO_TYPES := $(call gb_CppunitTest_get_target,$(1)) : HEADLESS := --headless $(call gb_CppunitTest_get_target,$(1)) : EXTRA_ENV_VARS := $(call gb_CppunitTest_get_target,$(1)) : NON_APPLICATION_FONT_USE := $$(eval $$(call gb_Module_register_target,$(call gb_CppunitTest_get_target,$(1)),$(call gb_CppunitTest_get_clean_target,$(1)))) $(call gb_Helper_make_userfriendly_targets,$(1),CppunitTest) endef # Add additional command line arguments for the test. # # You should practically never need to use this, as there are special # functions for adding many commonly used arguments. define gb_CppunitTest_add_arguments $(call gb_CppunitTest_get_target,$(1)) : ARGS += $(2) endef define gb_CppunitTest_use_ure $(call gb_CppunitTest_use_rdb,$(1),ure/services) $(call gb_CppunitTest_get_target,$(1)) : URE := $(true) $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Library_get_target,$(CPPU_ENV)_uno) $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Library_get_target,affine_uno) $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Library_get_target,unobootstrapprotector) $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Library_get_target,unoexceptionprotector) endef # $(2) == $(true) if headless: define gb_CppunitTest__use_vcl $(call gb_CppunitTest_get_target,$(1)) : VCL := $(true) $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Library_get_target,vclbootstrapprotector) ifeq ($(USING_X11),TRUE) $(call gb_CppunitTest_get_target,$(1)) : $(if $(filter $(2),$(true)),, \ $(call gb_Library_get_target,vclplug_gen) \ $(if $(ENABLE_GTK3),$(call gb_Library_get_target,vclplug_gtk3)) \ $(if $(ENABLE_GTK4),$(call gb_Library_get_target,vclplug_gtk4)) \ $(if $(ENABLE_QT5),$(call gb_Library_get_target,vclplug_qt5)) \ $(if $(ENABLE_QT6),$(call gb_Library_get_target,vclplug_qt6)) \ ) else ifeq ($(OS),MACOSX) $(call gb_CppunitTest_get_target,$(1)): $(call gb_Library_get_target,vclplug_osx) else ifeq ($(OS),WNT) $(call gb_CppunitTest_get_target,$(1)): $(call gb_Library_get_target,vclplug_win) endif endef define gb_CppunitTest_use_confpreinit $(call gb_CppunitTest_use_executable,$(1),lokconf_init) $(call gb_CppunitTest_get_target,$(1)) : gb_CppunitTest__use_confpreinit := TRUE endef define gb_CppunitTest_use_vcl $(call gb_CppunitTest__use_vcl,$(1),$(true)) endef define gb_CppunitTest_use_vcl_non_headless $(call gb_CppunitTest_get_target,$(1)) : gb_CppunitTest__vcl_no_svp := $(true) $(call gb_CppunitTest__use_vcl,$(1),$(false)) endef define gb_CppunitTest_use_vcl_non_headless_with_windows $(call gb_CppunitTest_get_target,$(1)) : HEADLESS := $(call gb_CppunitTest_get_target,$(1)) : gb_CppunitTest__vcl_no_svp := $(true) $(call gb_CppunitTest__use_vcl,$(1),$(false)) endef define gb_CppunitTest__use_api $(call gb_CppunitTest_get_target,$(1)) : $(call gb_UnoApi_get_target,$(2)) $(call gb_CppunitTest_get_target,$(1)) : UNO_TYPES += $(call gb_UnoApi_get_target,$(2)) endef define gb_CppunitTest_use_api $(call gb_LinkTarget_use_api,$(call gb_CppunitTest_get_linktarget,$(1)),$(2)) $(foreach rdb,$(2),$(call gb_CppunitTest__use_api,$(1),$(rdb))) endef define gb_CppunitTest_use_udk_api $(call gb_CppunitTest_use_api,$(1),udkapi) endef define gb_CppunitTest_use_sdk_api $(call gb_CppunitTest_use_api,$(1),udkapi offapi) endef define gb_CppunitTest_use_rdb $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Rdb_get_target_for_build,$(2)) $(call gb_CppunitTest_get_target,$(1)) : UNO_SERVICES += $(call gb_Rdb_get_target_for_build,$(2)) endef define gb_CppunitTest_use_rdbs $(foreach rdb,$(2),$(call gb_CppunitTest_use_rdb,$(1),$(rdb))) endef define gb_CppunitTest_use_component $(call gb_CppunitTest_get_target,$(1)) : \ $(call gb_ComponentTarget_get_target,$(2)) $(call gb_CppunitTest_get_target,$(1)) : \ UNO_SERVICES += $(call gb_ComponentTarget_get_target,$(2)) endef define gb_CppunitTest_set_componentfile $(call gb_ComponentTarget_ComponentTarget,CppunitTest/$(2),\ $(call gb_Helper_make_url,$(gb_CppunitTest_DLLDIR))/,\ $(call gb_CppunitTest_get_filename,$(1))) $(call gb_CppunitTest_get_target,$(1)) : \ $(call gb_ComponentTarget_get_target,CppunitTest/$(2)) $(call gb_CppunitTest_get_clean_target,$(1)) : \ $(call gb_ComponentTarget_get_clean_target,CppunitTest/$(2)) $(call gb_CppunitTest_use_component,$(1),CppunitTest/$(2)) endef # Given a list of component files, filter out those corresponding # to libraries not built in this configuration. define gb_CppunitTest__filter_not_built_components $(filter-out \ $(if $(filter SCRIPTING,$(BUILD_TYPE)),, \ basic/util/sb \ sw/util/vbaswobj \ scripting/source/basprov/basprov \ scripting/util/scriptframe) \ $(if $(filter DBCONNECTIVITY,$(BUILD_TYPE)),, \ dbaccess/util/dba \ forms/util/frm),$(1)) endef define gb_CppunitTest_use_components $(foreach component,$(call gb_CppunitTest__filter_not_built_components,$(2)),$(call gb_CppunitTest_use_component,$(1),$(component))) endef define gb_CppunitTest__use_configuration $(call gb_CppunitTest_get_target,$(1)) : CONFIGURATION_LAYERS += $(2):$(call gb_Helper_make_url,$(3)) endef # Use instdir configuration define gb_CppunitTest_use_instdir_configuration $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Package_get_target,postprocess_registry) $(call gb_CppunitTest__use_configuration,$(1),xcsxcu,$(INSTROOT)/$(LIBO_SHARE_FOLDER)/registry) endef # Use configuration in $(WORKDIR)/unittest/registry-common. define gb_CppunitTest_use_common_configuration $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Package_get_target,test_unittest) $(call gb_CppunitTest__use_configuration,$(1),xcsxcu,$(WORKDIR)/unittest/registry-common) endef # Use configuration in $(WORKDIR)/unittest/registry-user-ui define gb_CppunitTest_use_user_ui_configuration $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Package_get_target,test_unittest) $(call gb_CppunitTest__use_configuration,$(1),xcsxcu,$(WORKDIR)/unittest/registry-user-ui) endef # Use standard configuration: instdir config + common + user-ui config (in this order!) define gb_CppunitTest_use_configuration $(call gb_CppunitTest_use_instdir_configuration,$(1)) $(call gb_CppunitTest_use_common_configuration,$(1)) $(call gb_CppunitTest_use_user_ui_configuration,$(1)) endef define gb_CppunitTest_use_executable $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Executable_get_target,$(2)) endef # One of allow, deny, abort: define gb_CppunitTest_set_non_application_font_use $(call gb_CppunitTest_get_target,$(1)) : NON_APPLICATION_FONT_USE += $(2) endef define gb_CppunitTest_use_more_fonts ifneq ($(filter MORE_FONTS,$(BUILD_TYPE)),) $(call gb_CppunitTest_get_target,$(1)) : \ $(foreach font,$(gb_Package_MODULE_ooo_fonts),$(call gb_Package_get_target,$(font))) $(call gb_CppunitTest_set_non_application_font_use,$(1),deny) endif endef define gb_CppunitTest__use_java_ure $(call gb_CppunitTest_get_target,$(1)) : \ $(foreach jar,java_uno libreoffice unoloader,$(call gb_Jar_get_target,$(jar))) \ $(call gb_Library_get_target,affine_uno_uno) \ $(call gb_Library_get_target,java_uno) \ $(call gb_Library_get_target,jpipe) \ $(call gb_Library_get_target,juhx) \ $(call gb_Library_get_target,juhx) \ $(call gb_Library_get_target,jvmaccess) \ $(call gb_Library_get_target,jvmfwk) \ $(call gb_Package_get_target,jvmfwk_javavendors) \ $(call gb_Package_get_target,jvmfwk_jreproperties) \ $(call gb_Package_get_target,jvmfwk_jvmfwk3_ini) \ endef define gb_CppunitTest_use_jar $(call gb_CppunitTest__use_java_ure,$(1)) $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Jar_get_target,$(2)) endef define gb_CppunitTest_use_jars $(foreach jar,$(2),$(call gb_CppunitTest_use_jar,$(1),$(jar))) endef define gb_CppunitTest_use_python_ure $(call gb_CppunitTest_get_target,$(1)) : PYTHON_URE := $(true) $(call gb_CppunitTest_get_target,$(1)) :\ $(call gb_Library_get_target,pythonloader) \ $(call gb_Library_get_target,pyuno) \ $(gb_CppunitTest_PYTHONDEPS) \ $(call gb_Package_get_target,pyuno_python_scripts) endef define gb_CppunitTest_use_uiconfig $(call gb_CppunitTest_get_target,$(1)) : $(call gb_UIConfig_get_target,$(2)) endef define gb_CppunitTest_use_uiconfigs $(foreach uiconfig,$(2),$(call gb_CppunitTest_use_uiconfig,$(1),$(uiconfig))) endef # forward the call to the gb_LinkTarget implementation # (note: because the function name is in $(1), the other args are shifted by 1) define gb_CppunitTest__forward_to_Linktarget $(call gb_LinkTarget_$(subst gb_CppunitTest_,,$(1)),$(call gb_CppunitTest_get_linktarget,$(2)),$(3),$(4),CppunitTest_$(2)) endef # copy pasta for forwarding: this could be (and was) done more elegantly, but # these here can be found by both git grep and ctags gb_CppunitTest_add_cobject = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_cobjects = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_cxxobject = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_cxxobjects = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_exception_objects = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_use_executable_objects = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_use_library_objects = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_use_libraries = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_use_static_libraries = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_objcobject = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_objcobjects = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_objcxxobject = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_objcxxobjects = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_cxxclrobject = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_cxxclrobjects = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_asmobject = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_asmobjects = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_use_package = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_use_packages = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_set_precompiled_header = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_reuse_precompiled_header = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_use_common_precompiled_header = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_sdi_headers = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_cflags = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_set_cflags = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_cxxflags = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_set_yaccflags = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_objcflags = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_objcxxflags = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_cxxclrflags = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_defs = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_set_include = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_ldflags = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_set_ldflags = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_libs = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_disable_standard_system_libs = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_use_system_darwin_frameworks = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_use_system_win32_libs = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_use_internal_api = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_use_internal_bootstrap_api = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_use_internal_comprehensive_api = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_set_library_path_flags = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_use_external = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_use_externals = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_use_custom_headers = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_set_visibility_default = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_set_warnings_not_errors = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_set_warnings_disabled = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_set_external_code = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_set_generated_cxx_suffix = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_use_clang = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_set_clang_precompiled_header = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_use_vclmain = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) gb_CppunitTest_add_prejs = $(call gb_CppunitTest__forward_to_Linktarget,$(0),$(1),$(2),$(3)) # vim: set noet sw=4: