lok: vcl: fix multiple floatwin removal case more robustly.
[LibreOffice.git] / solenv / gbuild / CppunitTest.mk
blob23d72de5716c006de13246522bb4622285bb9675
1 # -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
3 # This file is part of the LibreOffice project.
5 # This Source Code Form is subject to the terms of the Mozilla Public
6 # License, v. 2.0. If a copy of the MPL was not distributed with this
7 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 # This file incorporates work covered by the following license notice:
11 # Licensed to the Apache Software Foundation (ASF) under one or more
12 # contributor license agreements. See the NOTICE file distributed
13 # with this work for additional information regarding copyright
14 # ownership. The ASF licenses this file to you under the Apache
15 # License, Version 2.0 (the "License"); you may not use this file
16 # except in compliance with the License. You may obtain a copy of
17 # the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 # CppunitTest class
22 # Cap the number of threads unittests use.
23 export MAX_CONCURRENCY=4
24 # Disable searching for certificates by default
25 export MOZILLA_CERTIFICATE_FOLDER=0
26 # Avoid hanging if the cups daemon requests a password.
27 export SAL_DISABLE_SYNCHRONOUS_PRINTER_DETECTION=1
29 gb_CppunitTest_UNITTESTFAILED ?= $(GBUILDDIR)/platform/unittest-failed-default.sh
30 gb_CppunitTest_PYTHONDEPS ?= $(call gb_Library_get_target,pyuno_wrapper) $(if $(SYSTEM_PYTHON),,$(call gb_Package_get_target,python3))
32 ifeq ($(strip $(gb_CppunitTest_GDBTRACE)),)
33 ifneq ($(strip $(CPPUNITTRACE)),)
34 ifneq ($(filter gdb,$(CPPUNITTRACE)),)
35 gb_CppunitTest_GDBTRACE := $(subst gdb,gdb -ex "set environment $(subst =, ,$(gb_CppunitTest_CPPTESTPRECOMMAND))",$(CPPUNITTRACE))
36 else ifneq ($(filter lldb,$(CPPUNITTRACE)),)
37 gb_CppunitTest_PREGDBTRACE := lo_dyldpathfile=$(call var2file,$(shell $(gb_MKTEMP)),500,settings set target.env-vars $(gb_CppunitTest_CPPTESTPRECOMMAND))
38 gb_CppunitTest_GDBTRACE := $(subst lldb,lldb -s $$lo_dyldpathfile,$(CPPUNITTRACE))
39 gb_CppunitTest_POSTGDBTRACE := rm $$lo_dyldpathfile
40 else
41 gb_CppunitTest_GDBTRACE := $(CPPUNITTRACE)
42 endif
43 gb_CppunitTest__interactive := $(true)
44 endif
45 endif
47 ifneq ($(strip $(VALGRIND)),)
48 gb_CppunitTest_VALGRINDTOOL := valgrind --tool=$(VALGRIND) --num-callers=50 --error-exitcode=1 --trace-children=yes --trace-children-skip='*/java,*/gij'
49 ifneq ($(strip $(VALGRIND_GDB)),)
50 gb_CppunitTest_VALGRINDTOOL += --vgdb=yes --vgdb-error=0
51 endif
52 ifeq ($(strip $(VALGRIND)),memcheck)
53 G_SLICE := always-malloc
54 GLIBCXX_FORCE_NEW := 1
55 endif
56 endif
58 ifneq (,$(filter perfcheck,$(MAKECMDGOALS)))
59 $(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.))
60 gb_CppunitTest_VALGRINDTOOL := valgrind --tool=callgrind --dump-instr=yes --instr-atstart=no --simulate-cache=yes --dump-instr=yes --collect-bus=yes --branch-sim=yes
61 ifneq ($(strip $(VALGRIND_GDB)),)
62 gb_CppunitTest_VALGRINDTOOL += --vgdb=yes --vgdb-error=0
63 endif
64 endif
66 ifneq ($(strip $(RR)),)
67 gb_CppunitTest_RR := rr record
68 endif
70 # defined by platform
71 # gb_CppunitTest_get_filename
72 gb_CppunitTest_RUNTIMEDEPS := $(call gb_Executable_get_runtime_dependencies,cppunittester)
73 gb_CppunitTest_CPPTESTCOMMAND := $(call gb_Executable_get_target_for_build,cppunittester)
75 # i18npool dlopens localedata_* libraries.
76 gb_CppunitTest_RUNTIMEDEPS += \
77 $(call gb_Library_get_target,localedata_en) \
78 $(call gb_Library_get_target,localedata_es) \
79 $(call gb_Library_get_target,localedata_euro) \
80 $(call gb_Library_get_target,localedata_others) \
81 $(call gb_Package_get_target,test_unittest) \
83 define gb_CppunitTest__make_args
84 $(HEADLESS) \
85 "-env:BRAND_BASE_DIR=$(call gb_Helper_make_url,$(INSTROOT))" \
86 "-env:BRAND_SHARE_SUBDIR=$(LIBO_SHARE_FOLDER)" \
87 "-env:BRAND_SHARE_RESOURCE_SUBDIR=$(LIBO_SHARE_RESOURCE_FOLDER)" \
88 "-env:UserInstallation=$(call gb_Helper_make_url,$(call gb_CppunitTest_get_target,$*).user)" \
89 $(if $(URE),\
90 $(if $(strip $(CONFIGURATION_LAYERS)),\
91 "-env:CONFIGURATION_LAYERS=$(strip $(CONFIGURATION_LAYERS))") \
92 $(if $(strip $(UNO_TYPES)),\
93 "-env:UNO_TYPES=$(foreach item,$(UNO_TYPES),$(call gb_Helper_make_url,$(item)))") \
94 $(if $(strip $(UNO_SERVICES)),\
95 "-env:UNO_SERVICES=$(foreach item,$(UNO_SERVICES),$(call gb_Helper_make_url,$(item)))") \
96 $(if $(strip $(JAVA_URE)),\
97 -env:URE_MORE_JAVA_TYPES=$(call gb_Helper_make_url,$(call gb_Jar_get_target,unoil))) \
98 -env:URE_INTERNAL_LIB_DIR=$(call gb_Helper_make_url,$(INSTROOT)/$(LIBO_URE_LIB_FOLDER)) \
99 -env:LO_LIB_DIR=$(call gb_Helper_make_url,$(INSTROOT)/$(LIBO_LIB_FOLDER)) \
100 -env:LO_JAVA_DIR=$(call gb_Helper_make_url,$(INSTROOT)/$(LIBO_SHARE_JAVA_FOLDER)) \
101 --protector $(call gb_Library_get_target,unoexceptionprotector) unoexceptionprotector \
102 --protector $(call gb_Library_get_target,unobootstrapprotector) unobootstrapprotector \
104 $(if $(VCL),\
105 --protector $(call gb_Library_get_target,vclbootstrapprotector) vclbootstrapprotector \
107 $(ARGS)
108 endef
110 .PHONY : $(call gb_CppunitTest_get_clean_target,%)
111 $(call gb_CppunitTest_get_clean_target,%) :
112 $(call gb_Helper_abbreviate_dirs,\
113 rm -f $(call gb_CppunitTest_get_target,$*) $(call gb_CppunitTest_get_target,$*).log)
115 .PHONY : $(call gb_CppunitTest_get_target,%)
116 $(call gb_CppunitTest_get_target,%) :| $(gb_CppunitTest_RUNTIMEDEPS)
117 ifneq ($(gb_SUPPRESS_TESTS),)
118 @true
119 else
120 $(call gb_Output_announce,$*,$(true),CUT,2)
121 $(call gb_Helper_abbreviate_dirs,\
122 $(if $(gb_CppunitTest_vcl_hide_windows),export VCL_HIDE_WINDOWS=1 && ) \
123 $(if $(gb_CppunitTest_vcl_show_windows),unset VCL_HIDE_WINDOWS && ) \
124 mkdir -p $(dir $@) && \
125 rm -fr $@.user && cp -r $(WORKDIR)/unittest $@.user && \
126 $(if $(gb_CppunitTest__use_confpreinit), \
127 $(INSTDIR)/program/lokconf_init $(call gb_CppunitTest__make_args) &&) \
128 $(if $(gb_CppunitTest__interactive),, \
129 $(if $(value gb_CppunitTest_postprocess), \
130 rm -fr $@.core && mkdir $@.core && cd $@.core &&)) \
132 $(if $(gb_CppunitTest_localized),for l in $(WITH_LANG_LIST) ; do LO_TEST_LOCALE="$$l" ) \
133 $(if $(gb_CppunitTest_PREGDBTRACE),$(gb_CppunitTest_PREGDBTRACE) &&) \
134 $(EXTRA_ENV_VARS) \
135 $(if $(filter gdb,$(gb_CppunitTest_GDBTRACE)),,$(gb_CppunitTest_CPPTESTPRECOMMAND)) \
136 $(if $(G_SLICE),G_SLICE=$(G_SLICE)) \
137 $(if $(GLIBCXX_FORCE_NEW),GLIBCXX_FORCE_NEW=$(GLIBCXX_FORCE_NEW)) \
138 $(gb_CppunitTest_malloc_check) \
139 $(if $(strip $(PYTHON_URE)),\
140 PYTHONDONTWRITEBYTECODE=1) \
141 $(ICECREAM_RUN) $(gb_CppunitTest_GDBTRACE) $(gb_CppunitTest_VALGRINDTOOL) $(gb_CppunitTest_RR) \
142 $(gb_CppunitTest_CPPTESTCOMMAND) \
143 $(call gb_LinkTarget_get_target,$(call gb_CppunitTest_get_linktarget,$*)) \
144 $(call gb_CppunitTest__make_args) "-env:CPPUNITTESTTARGET=$@" \
145 $(if $(gb_CppunitTest_POSTGDBTRACE), \
146 ; RET=$$? && $(gb_CppunitTest_POSTGDBTRACE) && (exit $$RET)) \
147 $(if $(gb_CppunitTest_localized),|| exit $$?; done) \
149 $(if $(gb_CppunitTest__interactive),, \
150 > $@.log 2>&1 \
151 || ($(if $(value gb_CppunitTest_postprocess), \
152 RET=$$?; \
153 $(call gb_CppunitTest_postprocess,$(gb_CppunitTest_CPPTESTCOMMAND),$@.core,$$RET) >> $@.log 2>&1;) \
154 cat $@.log; $(gb_CppunitTest_UNITTESTFAILED) Cppunit $*)))
155 endif
157 define gb_CppunitTest_CppunitTest
158 $(call gb_CppunitTest__CppunitTest_impl,$(1),$(call gb_CppunitTest_get_linktarget,$(1)))
160 endef
162 define gb_CppunitTest_CppunitScreenShot
163 $(call gb_CppunitTest_get_target,$(1)) : gb_CppunitTest_localized := $(true)
164 $(call gb_CppunitTest__CppunitTest_impl,$(1),$(call gb_CppunitTest_get_linktarget,$(1)))
166 endef
168 define gb_CppunitTest_register_target
169 endef
171 # call gb_CppunitTest__CppunitTest_impl,cppunittest,linktarget
172 define gb_CppunitTest__CppunitTest_impl
173 $(call gb_CppunitTest_register_target, $(1), $(2), "test")
174 $(call gb_LinkTarget_LinkTarget,$(2),CppunitTest_$(1),NONE)
175 $(call gb_LinkTarget_set_targettype,$(2),CppunitTest)
176 $(call gb_LinkTarget_add_libs,$(2),$(gb_STDLIBS))
177 $(call gb_LinkTarget_add_defs,$(2),\
178 $(gb_CppunitTest_DEFS) \
180 $(call gb_LinkTarget_use_external,$(2),cppunit)
181 $(call gb_LinkTarget_set_include,$(2),\
182 $$(INCLUDE) \
183 $(filter -I%,$(CPPUNIT_CFLAGS)) \
185 $(call gb_LinkTarget_add_defs,$(2), \
186 $(filter-out -I%,$(CPPUNIT_CFLAGS)) \
187 -DCPPUNIT_PLUGIN_EXPORT='extern "C" SAL_DLLPUBLIC_EXPORT' \
189 $(call gb_CppunitTest_get_target,$(1)) : $(call gb_LinkTarget_get_target,$(2))
190 $(call gb_CppunitTest_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_target,$(2))
191 $(call gb_CppunitTest_CppunitTest_platform,$(1),$(2),$(gb_CppunitTest_DLLDIR)/$(call gb_CppunitTest_get_ilibfilename,$(1)))
192 $(call gb_CppunitTest_get_target,$(1)) : ARGS :=
193 $(call gb_CppunitTest_get_target,$(1)) : CONFIGURATION_LAYERS :=
194 $(call gb_CppunitTest_get_target,$(1)) : JAVA_URE := $(false)
195 $(call gb_CppunitTest_get_target,$(1)) : PYTHON_URE := $(false)
196 $(call gb_CppunitTest_get_target,$(1)) : URE := $(false)
197 $(call gb_CppunitTest_get_target,$(1)) : VCL := $(false)
198 $(call gb_CppunitTest_get_target,$(1)) : UNO_SERVICES :=
199 $(call gb_CppunitTest_get_target,$(1)) : UNO_TYPES :=
200 $(call gb_CppunitTest_get_target,$(1)) : HEADLESS := --headless
201 $(call gb_CppunitTest_get_target,$(1)) : EXTRA_ENV_VARS :=
202 $$(eval $$(call gb_Module_register_target,$(call gb_CppunitTest_get_target,$(1)),$(call gb_CppunitTest_get_clean_target,$(1))))
203 $(call gb_Helper_make_userfriendly_targets,$(1),CppunitTest)
205 endef
207 # Add additional command line arguments for the test.
209 # You should practically never need to use this, as there are special
210 # functions for adding many commonly used arguments.
211 define gb_CppunitTest_add_arguments
212 $(call gb_CppunitTest_get_target,$(1)) : ARGS += $(2)
214 endef
216 define gb_CppunitTest_use_ure
217 $(call gb_CppunitTest_use_rdb,$(1),ure/services)
218 $(call gb_CppunitTest_get_target,$(1)) : URE := $(true)
219 $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno)
220 $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Library_get_target,affine_uno)
221 $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Library_get_target,unobootstrapprotector)
222 $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Library_get_target,unoexceptionprotector)
224 endef
226 # $(2) == $(true) if headless:
227 define gb_CppunitTest__use_vcl
228 $(call gb_CppunitTest_get_target,$(1)) : VCL := $(true)
229 $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Library_get_target,vclbootstrapprotector)
230 ifeq ($(USING_X11),TRUE)
231 $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Library_get_target,desktop_detector)
232 $(call gb_CppunitTest_get_target,$(1)) : $(if $(filter $(2),$(true)),, \
233 $(call gb_Library_get_target,vclplug_gen) \
234 $(if $(ENABLE_GTK),$(call gb_Library_get_target,vclplug_gtk)) \
235 $(if $(ENABLE_GTK3),$(call gb_Library_get_target,vclplug_gtk3)) \
236 $(if $(ENABLE_KDE4),$(call gb_Library_get_target,vclplug_kde4)) \
237 $(if $(ENABLE_QT5),$(call gb_Library_get_target,vclplug_qt5)) \
239 else ifeq ($(OS),MACOSX)
240 $(call gb_CppunitTest_get_target,$(1)): $(call gb_Library_get_target,vclplug_osx)
241 else ifeq ($(OS),WNT)
242 $(call gb_CppunitTest_get_target,$(1)): $(call gb_Library_get_target,vclplug_win)
243 endif
245 endef
247 define gb_CppunitTest_use_confpreinit
248 $(call gb_CppunitTest_use_executable,$(1),lokconf_init)
249 $(call gb_CppunitTest_get_target,$(1)) : gb_CppunitTest__use_confpreinit := TRUE
251 endef
253 define gb_CppunitTest_use_vcl
254 $(call gb_CppunitTest__use_vcl,$(1),$(true))
256 endef
258 define gb_CppunitTest_use_vcl_non_headless
259 $(call gb_CppunitTest_get_target,$(1)) : HEADLESS :=
260 $(call gb_CppunitTest_get_target,$(1)) : gb_CppunitTest_vcl_hide_windows := $(true)
261 $(call gb_CppunitTest__use_vcl,$(1),$(false))
263 endef
265 define gb_CppunitTest_use_vcl_non_headless_with_windows
266 $(call gb_CppunitTest_get_target,$(1)) : HEADLESS :=
267 $(call gb_CppunitTest_get_target,$(1)) : gb_CppunitTest_vcl_show_windows := $(true)
268 $(call gb_CppunitTest__use_vcl,$(1),$(false))
270 endef
272 define gb_CppunitTest_localized_run
273 $(call gb_CppunitTest_get_target,$(1)) : gb_CppunitTest_localized := $(true)
275 endef
277 define gb_CppunitTest__use_api
278 $(call gb_CppunitTest_get_target,$(1)) : $(call gb_UnoApi_get_target,$(2))
279 $(call gb_CppunitTest_get_target,$(1)) : UNO_TYPES += $(call gb_UnoApi_get_target,$(2))
281 endef
283 define gb_CppunitTest_use_api
284 $(call gb_LinkTarget_use_api,$(call gb_CppunitTest_get_linktarget,$(1)),$(2))
285 $(foreach rdb,$(2),$(call gb_CppunitTest__use_api,$(1),$(rdb)))
287 endef
289 define gb_CppunitTest_use_udk_api
290 $(call gb_CppunitTest_use_api,$(1),udkapi)
292 endef
294 define gb_CppunitTest_use_sdk_api
295 $(call gb_CppunitTest_use_api,$(1),udkapi offapi)
297 endef
299 define gb_CppunitTest_use_rdb
300 $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Rdb_get_target_for_build,$(2))
301 $(call gb_CppunitTest_get_target,$(1)) : UNO_SERVICES += $(call gb_Rdb_get_target_for_build,$(2))
303 endef
305 define gb_CppunitTest_use_rdbs
306 $(foreach rdb,$(2),$(call gb_CppunitTest_use_rdb,$(1),$(rdb)))
308 endef
310 define gb_CppunitTest_use_component
311 $(call gb_CppunitTest_get_target,$(1)) : \
312 $(call gb_ComponentTarget_get_target,$(2))
313 $(call gb_CppunitTest_get_target,$(1)) : \
314 UNO_SERVICES += $(call gb_ComponentTarget_get_target,$(2))
316 endef
318 define gb_CppunitTest_set_componentfile
319 $(call gb_ComponentTarget_ComponentTarget,CppunitTest/$(2),\
320 $(call gb_Helper_make_url,$(gb_CppunitTest_DLLDIR))/,\
321 $(call gb_CppunitTest_get_filename,$(1)))
322 $(call gb_CppunitTest_get_target,$(1)) : \
323 $(call gb_ComponentTarget_get_target,CppunitTest/$(2))
324 $(call gb_CppunitTest_get_clean_target,$(1)) : \
325 $(call gb_ComponentTarget_get_clean_target,CppunitTest/$(2))
326 $(call gb_CppunitTest_use_component,$(1),CppunitTest/$(2))
328 endef
330 # Given a list of component files, filter out those corresponding
331 # to libraries not built in this configuration.
332 define gb_CppunitTest__filter_not_built_components
333 $(filter-out \
334 $(if $(filter SCRIPTING,$(BUILD_TYPE)),, \
335 basic/util/sb \
336 sw/util/vbaswobj \
337 scripting/source/basprov/basprov \
338 scripting/util/scriptframe) \
339 $(if $(filter DBCONNECTIVITY,$(BUILD_TYPE)),, \
340 dbaccess/util/dba \
341 forms/util/frm),$(1))
342 endef
344 define gb_CppunitTest_use_components
345 $(foreach component,$(call gb_CppunitTest__filter_not_built_components,$(2)),$(call gb_CppunitTest_use_component,$(1),$(component)))
347 endef
349 define gb_CppunitTest__use_configuration
350 $(call gb_CppunitTest_get_target,$(1)) : CONFIGURATION_LAYERS += $(2):$(call gb_Helper_make_url,$(3))
352 endef
354 # Use instdir configuration
355 define gb_CppunitTest_use_instdir_configuration
356 $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Package_get_target,postprocess_registry)
357 $(call gb_CppunitTest__use_configuration,$(1),xcsxcu,$(INSTROOT)/$(LIBO_SHARE_FOLDER)/registry)
359 endef
361 # Use configuration in $(WORKDIR)/unittest/registry.
362 define gb_CppunitTest_use_unittest_configuration
363 $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Package_get_target,test_unittest)
364 $(call gb_CppunitTest__use_configuration,$(1),xcsxcu,$(WORKDIR)/unittest/registry)
366 endef
368 # Use standard configuration: instdir config + unittest config (in this order!)
369 define gb_CppunitTest_use_configuration
370 $(call gb_CppunitTest_use_instdir_configuration,$(1))
371 $(call gb_CppunitTest_use_unittest_configuration,$(1))
373 endef
375 define gb_CppunitTest_use_executable
376 $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Executable_get_target,$(2))
378 endef
380 define gb_CppunitTest_use_more_fonts
381 ifneq ($(filter MORE_FONTS,$(BUILD_TYPE)),)
382 $(call gb_CppunitTest_get_target,$(1)) : \
383 $(foreach font,$(gb_Package_MODULE_ooo_fonts),$(call gb_Package_get_target,$(font)))
384 endif
386 endef
388 define gb_CppunitTest_use_java_ure
389 $(call gb_CppunitTest_get_target,$(1)) : JAVA_URE := $(true)
390 $(call gb_CppunitTest_get_target,$(1)) : \
391 $(foreach jar,java_uno juh jurt unoil unoloader,$(call gb_Jar_get_target,$(jar))) \
392 $(call gb_Library_get_target,affine_uno_uno) \
393 $(call gb_Library_get_target,java_uno) \
394 $(call gb_Library_get_target,jpipe) \
395 $(call gb_Library_get_target,juhx) \
396 $(call gb_Library_get_target,juhx) \
397 $(call gb_Library_get_target,jvmaccess) \
398 $(call gb_Library_get_target,jvmfwk) \
399 $(call gb_Package_get_target,jvmfwk_javavendors) \
400 $(call gb_Package_get_target,jvmfwk_jreproperties)
402 endef
404 define gb_CppunitTest_use_jar
405 $(call gb_CppunitTest__use_java_ure,$(1))
406 $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Jar_get_target,$(2))
408 endef
410 define gb_CppunitTest_use_jars
411 $(foreach jar,$(2),$(call gb_CppunitTest_use_jar,$(1),$(jar)))
413 endef
415 define gb_CppunitTest_use_python_ure
416 $(call gb_CppunitTest_get_target,$(1)) : PYTHON_URE := $(true)
417 $(call gb_CppunitTest_get_target,$(1)) :\
418 $(call gb_Library_get_target,pythonloader) \
419 $(call gb_Library_get_target,pyuno) \
420 $(gb_CppunitTest_PYTHONDEPS) \
421 $(call gb_Package_get_target,pyuno_python_scripts)
423 endef
425 define gb_CppunitTest_use_uiconfig
426 $(call gb_CppunitTest_get_target,$(1)) : $(call gb_UIConfig_get_target,$(2))
428 endef
430 define gb_CppunitTest_use_uiconfigs
431 $(foreach uiconfig,$(2),$(call gb_CppunitTest_use_uiconfig,$(1),$(uiconfig)))
433 endef
435 # forward the call to the gb_LinkTarget implementation
436 # (note: because the function name is in $(1), the other args are shifted by 1)
437 define gb_CppunitTest__forward_to_Linktarget
438 $(call gb_LinkTarget_$(1),$(call gb_CppunitTest_get_linktarget,$(2)),$(3),$(4),CppunitTest_$(2))
440 endef
442 # copy pasta for forwarding: this could be (and was) done more elegantly, but
443 # these here can be found by both git grep and ctags
444 gb_CppunitTest_add_cobject = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
445 gb_CppunitTest_add_cobjects = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
446 gb_CppunitTest_add_cxxobject = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
447 gb_CppunitTest_add_cxxobjects = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
448 gb_CppunitTest_add_exception_objects = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
449 gb_CppunitTest_use_executable_objects = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
450 gb_CppunitTest_use_library_objects = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
451 gb_CppunitTest_use_libraries = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
452 gb_CppunitTest_use_static_libraries = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
453 gb_CppunitTest_add_objcobject = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
454 gb_CppunitTest_add_objcobjects = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
455 gb_CppunitTest_add_objcxxobject = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
456 gb_CppunitTest_add_objcxxobjects = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
457 gb_CppunitTest_add_cxxclrobject = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
458 gb_CppunitTest_add_cxxclrobjects = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
459 gb_CppunitTest_add_asmobject = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
460 gb_CppunitTest_add_asmobjects = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
461 gb_CppunitTest_use_package = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
462 gb_CppunitTest_use_packages = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
463 gb_CppunitTest_set_precompiled_header = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
464 gb_CppunitTest_add_sdi_headers = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
465 gb_CppunitTest_add_cflags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
466 gb_CppunitTest_set_cflags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
467 gb_CppunitTest_add_cxxflags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
468 gb_CppunitTest_set_yaccflags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
469 gb_CppunitTest_add_objcflags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
470 gb_CppunitTest_add_objcxxflags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
471 gb_CppunitTest_add_cxxclrflags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
472 gb_CppunitTest_add_defs = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
473 gb_CppunitTest_set_include = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
474 gb_CppunitTest_add_ldflags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
475 gb_CppunitTest_set_ldflags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
476 gb_CppunitTest_add_libs = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
477 gb_CppunitTest_disable_standard_system_libs = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
478 gb_CppunitTest_use_system_darwin_frameworks = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
479 gb_CppunitTest_use_system_win32_libs = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
480 gb_CppunitTest_use_internal_api = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
481 gb_CppunitTest_use_internal_bootstrap_api = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
482 gb_CppunitTest_use_internal_comprehensive_api = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
483 gb_CppunitTest_set_library_path_flags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
484 gb_CppunitTest_use_external = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
485 gb_CppunitTest_use_externals = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
486 gb_CppunitTest_use_custom_headers = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
487 gb_CppunitTest_set_visibility_default = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
488 gb_CppunitTest_set_warnings_not_errors = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
489 gb_CppunitTest_set_external_code = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
490 gb_CppunitTest_set_generated_cxx_suffix = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3))
492 # vim: set noet sw=4: