diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2022-01-19 08:14:12 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2022-01-19 23:00:55 +0100 |
commit | d923625d89fdaa3881d5ad1fef75a8b728b74879 (patch) | |
tree | 5d73f5f86ef37cecd9830f7e21b40c7149eed919 /odk | |
parent | 2cfa04cbf03fe5c2ce32a7384082cdc5de5a4785 (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.mk | 32 |
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: |