summaryrefslogtreecommitdiff
path: root/odk
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2022-01-19 08:14:12 +0100
committerStephan Bergmann <sbergman@redhat.com>2022-01-19 23:00:55 +0100
commitd923625d89fdaa3881d5ad1fef75a8b728b74879 (patch)
tree5d73f5f86ef37cecd9830f7e21b40c7149eed919 /odk
parent2cfa04cbf03fe5c2ce32a7384082cdc5de5a4785 (diff)
Let CppunitTest_odk_checkapi build against the SDK include directory
...which contains only the URE include files, rather than against the SRCDIR one which contains many more. This would have prevented 148536afc9838398100ca2267b99ab349dcbb38c "Drop config_global.h from osl/module.h", where an URE include file had accidentally started to include a non-URE file. (The way $(INCLUDE) is now set up in odk/CppunitTest_odk_checkapi.mk is a bit hacky, and this change required teaching compilerplugins about SDKDIR to avoid false warnings. Another approach would be to make the test compile in the SDK build environment, similarly to CustomTarget_odk/build-examples, but setting up the SDK build environment from within gbuild is not supported at least on Windows for now. A smaller improvement would be to drop the need to include any CppUnit include directories, by turning the test into some kind of compile-only test similar to a gb_CompilerTest.) Change-Id: If79761909c67c3162d01f847dfb5d4f538f91ca1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128591 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'odk')
-rw-r--r--odk/CppunitTest_odk_checkapi.mk32
1 files changed, 18 insertions, 14 deletions
diff --git a/odk/CppunitTest_odk_checkapi.mk b/odk/CppunitTest_odk_checkapi.mk
index 00a799139f1f..22dad8cab62a 100644
--- a/odk/CppunitTest_odk_checkapi.mk
+++ b/odk/CppunitTest_odk_checkapi.mk
@@ -9,29 +9,33 @@
$(eval $(call gb_CppunitTest_CppunitTest,odk_checkapi))
-$(eval $(call gb_CppunitTest_use_custom_headers,odk_checkapi,\
- odk/allheaders \
-))
-
$(eval $(call gb_CppunitTest_add_exception_objects,odk_checkapi,\
odk/qa/checkapi/checkapi \
))
-$(eval $(call gb_CppunitTest_use_internal_comprehensive_api,odk_checkapi,\
- udkapi \
-))
-
$(eval $(call gb_CppunitTest_add_cxxflags,odk_checkapi,\
$(gb_CXX03FLAGS) \
))
-$(eval $(call gb_CppunitTest_use_libraries,odk_checkapi,\
- cppu \
- cppuhelper \
- sal \
- salhelper \
+$(eval $(call gb_CppunitTest_set_external_code,odk_checkapi))
+
+# The remaining lines must be in the given order, to set up a set of include paths that only
+# contains the instdir SDK include directory, plus SOLARINC as needed for platform-specific
+# includes, plus the workdir sub-directory containing the generated allheaders.hxx and the workdir
+# sub-directory containing the generated UNOIDL include files (which are not bundled in the SDK but
+# would rather get created on demand by the SDK's makefiles), plus whatever is needed for CppUnit:
+
+$(eval $(call gb_CppunitTest_set_include,odk_checkapi, \
+ -I$(INSTDIR)/$(SDKDIRNAME)/include $(SOLARINC)))
+
+$(eval $(call gb_CppunitTest_use_custom_headers,odk_checkapi,\
+ odk/allheaders \
))
-$(eval $(call gb_CppunitTest_set_external_code,odk_checkapi))
+$(eval $(call gb_CppunitTest_use_internal_comprehensive_api,odk_checkapi,\
+ udkapi \
+))
+
+$(eval $(call gb_CppunitTest_use_external,odk_checkapi,cppunit))
# vim: set noet sw=4 ts=4: