8.1.13. Multi-Target Projects¶
8.1.13.1. Background¶
Multi-Target projects are projects that produce more than one executable/library/plugin during the build process that are not linked together in the build process.
8.1.13.2. What needs to be done?¶
The build configuration of the CI has to consider the following:
In the project configuration sections of the build configuration, the input naming the IR file must be a unique name that is not used in the build process.
Make sure to correctly use the parameters for linking the respective build process outcomes with
cafeCC/irlinkcafeCC --shared, when linking a shared library or DLL without a main functioncafeCC -larg --static_part, when linking executables that depend on pluginscafeCC -larg --runtime_lib, in front of pluginscafeCC -larg --include_unused, when some archives may contain unused units you still want to analyze afterwards
Add the BuildSystemIntegration
AxivionLinkeras a post-build action.Add all executables/libraries/plugins to the
input_filesoption andplugin_filesoption, respectively.If the
input_filesconsist of several executables, then you should additionally set/Project/advanced.multi_binarytotrue. However note, thatStaticSemanticAnalysismay produce false positives in such a setup.The result IR file produced is the one to be used in the following analysis steps.