Main Content

addDefines

Add preprocessor macro definitions to model build information

Description

example

addDefines(buildinfo,macrodefs,groups) specifies the preprocessor macro definitions to add to the build information.

The function requires the buildinfo and macrodefs arguments. You can use an optional groups argument to group your options.

The code generator stores the definitions in a build information object. The function adds definitions to the object based on the order in which you specify them.

Examples

collapse all

Add the macro definition -DPRODUCTION to the build information myModelBuildInfo and place the definition in the group OPTS.

myModelBuildInfo = RTW.BuildInfo;
addDefines(myModelBuildInfo,'-DPRODUCTION','OPTS');

Add the macro definitions -DPROTO and -DDEBUG to the build information myModelBuildInfo and place the definitions in the group OPT_OPTS.

myModelBuildInfo = RTW.BuildInfo;
addDefines(myModelBuildInfo, ...
  '-DPROTO -DDEBUG','OPT_OPTS');

For a non-makefile build environment, add the macro definitions -DPROTO, -DDEBUG, and -DPRODUCTION to the build information myModelBuildInfo. Place the definitions -DPROTO and -DDEBUG in the group Debug and the definition -DPRODUCTION in the group Release.

myModelBuildInfo = RTW.BuildInfo;
addDefines(myModelBuildInfo, ...
  {'-DPROTO -DDEBUG' '-DPRODUCTION'}, ...
  {'Debug' 'Release'});

Input Arguments

collapse all

Object contains information for compiling and linking generated code.

You can specify the macrodefs argument as a character vector, as an array of character vectors, or as a string. You can specify the macrodefs argument as multiple definitions within a single character vector, for example '-DRT -DDEBUG'. If you specify the macrodefs argument as multiple character vectors, for example'-DPROTO -DDEBUG' and '-DPRODUCTION', the macrodefs argument is added to the build information as an array of character vectors.

Example: {'-DPROTO -DDEBUG' '-DPRODUCTION'}

You can specify the groups argument as a character vector, as an array of character vectors, or as a string. If you specify multiple groups, for example 'Debug' 'Release', the function relates the groups to the macrodefs in order of appearance. For example, the macrodefs argument {'-DPROTO -DDEBUG' '-DPRODUCTION'} is an array of character vectors with two elements. The first element is in the 'Debug' group and the second element is in the 'Release' group.

Note

The template makefile-based build process considers only macro definitions in the 'OPTS', 'OPT_OPTS', 'OPTIMIZATION_FLAGS', and 'Custom' groups when generating the makefile.

For the build process to consider definitions in other groups, the template makefile must contain the token |>DEFINES_OTHER<|.

Example: {'Debug' 'Release'}

Introduced in R2006a