Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

If you have a custom build system (for example, Makefile-based), you can streamline the process of configuring build settings by using C/C++test’s cpptestscan utility, which collects information about your build process. You can then point C/C++test to the generated "build data file" to configure build settings, as described in Use options from a build data file.

Info
iconfalse
titleProper Compiler Configuration is Critical

In most cases, C/C++test needs to invoke the compiler and linker in order to perform static analysis and runtime testing tasks, which commonly involve preprocessing, compiling, and linking programs.
To access C/C++test’s full functionality, the machine where C++test is run must have the complete development environment and compiler toolchain.

Anchor
bdf
bdf
About Build Data Files (.bdf)

...

Additional options for cpptestscan and cpptesttrace are summarized in the following table. Options can be set directly for the cpptestscan command or via environment variables. Most options can be applied to cpptestscan or cpptesttrace by changing the prefix in the command line.

Basic cpptestscan usage:

...

Code Block
cpptestscan [options] [compile/link command]

...


cpptestscan --cpptestscanHelp

Basic cpptesttrace usage:

Code Block

...

cpptesttrace

...

 [options] [build command]

...


cpptesttrace --cpptesttraceHelp



OptionEnvironment VariableDescriptionDefault

--

cpptestscanOutputFile=

<OUTPUT_FILE>

--

cpptesttraceOutputFile=

<OUTPUT_FILE>

CPPTEST_SCAN_OUTPUT_FILE)

Defines file to append build information to.cpptestscan.bdf

--


cpptestscanProjectNam


e=<PROJECT_NAME>

--


cpptesttraceProjectNam


e=<PROJECT_NAME>

CPPTEST_SCAN_PROJECT_NAMEDefines the suggested name of the C++test project.name of the current working directory

--


cpptestscanRunOrigCm


d=


[yes|no]

--


cpptesttraceRunOrigCm


d=[yes|no]

CPPTEST_SCAN_RUN_ORIG_CMDIf set to "yes", the original command line will be executed.yes

--


cpptestscanQuoteCmdLi


neMode=[all|sq|none]

--


cpptesttraceQuoteCmdL


ineMode=[all|sq|none]

CPPTEST_SCAN_QUOTE_CMD_LINE_MODE

Determines the way C++test quotes parameters when preparing cmd line to run.

all: all params will be quoted

none: no params will be quoted

sq: only params with space or quote character will be quoted

cpptestscanQuoteCm dLineMode

--cpptestscanQuoteCmdLineMode is not supported on Linux.

all

--


cpptestscanCmdLinePre


fix=


<PREFIX>

--


cpptesttraceCmdLinePre


fix=<PREFIX>

CPPTEST_SCAN_CMD_LINE_PREFIXIf non-empty and running original executable is turned on, the specified command will be prefixed to the original command line.[empty]

--


cpptestscanEnvInOutput


=[yes|no]

--


cpptesttraceEnvInOutput


=[yes|no]

CPPTEST_SCAN_ENV_IN_OUTPUT

Enabling dumps the selected environment variables and the command-line arguments that outputs the file. For advanced settings use

--cpptestscanEnvFile and

--cpptestscanEnvars options.

no

--


cpptestscanEnvFile=<E


NV_FILE>

--


cpptesttraceEnvFile=<E


NV_FILE>

CPPTEST_SCAN_ENV_FILE

If enabled, the specified file keeps common environment variables for all build commands; the main output file will only keep differences. Use this option to reduce the size of the main output file.

Use this option with

– cpptestscanEnvInOut put enabled

--cpptestscanEnvInOutput enabled.

[empty]

--


cpptestscanEnvars=[*|<


ENVAR_NAME>,...]

--


cpptesttraceEnvars=[*|<


ENVAR_NAME>,...]

CPPTEST_SCAN_ENVARSSelects the names of environment variables to be dumped or '*' to select them all. Use this option with
– cpptestscanEnvInOut put
--cpptestscanEnvInOutput enabled.*

--


cpptestscanUseVariable


=[VAR_NAME=VALUE,...]

--


cpptesttraceUseVariable


=[VAR_NAME=VALUE,...]

CPPTEST_SCAN_USE_VARIABLEReplaces each occurrence of "VALUE" string in the scanned build information with the "${VAR_NAME}" variable usage.[empty]
--

cpptesttraceTraceCommand
cpptesttraceTraceCommand=[<regexp>|<regexp>|...]CPPTEST_SCAN_TRACE_COMMANDDefines the command names that will be traced when collecting build process information. These names, specified as regular expressions, should match the original compiler/linker commands used in the build process.

Example: Modifying GNU Make Build Command to Using cpptestscan

...

Note
titleNote

The cpptestscan and cpptesttrace utilities can be used in the parallel build systems where multiple compiler executions can be done concurrently. When preparing Build Data File on the multicore machine, for example, you can pass the -j <number_of_parallel_jobs> parameter to the GNU make command to build your project and quickly prepare the Build Data File.

Info

When should I use cpptestscan?

It is highly recommended that the procedures to prepare a build data file are integrated with the build system. In this way, generating the build data file can be done when the normal build is performed without additional actions.

To achieve this, prefix your compiler and linker executables with the cpptestscan utility in your Makefiles/build scripts.

When should I use cpptesttrace?

Use cpptesttrace as the prefix for the whole build command when modifying your Makefiles/build scripts isn’t possible or when prefixing your compiler/linker executables from the build command line is too complex.