On this page:

Target audience:

CAST Administrators


Summary: Information about the C and C++ File Discoverer 1.1.x for the CAST Delivery Manager Tool. This extension is a file discoverer.


CAST recommends using the CPP Compilation Database Discoverer extension instead of the C and C++ File Discoverer where possible.

The CPP Compilation Database Discoverer extension detects projects based on the presence of specific build compilation output files and their content. It can be used in conjunction with:

Extension ID

com.castsoftware.dmtcfilediscoverer

What's new?

Please see: C and Cpp File Discoverer - 1.1 - Release Notes for more information.

Extension description

This discoverer detects projects based on the presence of C or C++ files according to a list of extensions declared for these languages.

In what situation should you install this extension?

This extension should be used when you don't use Microsoft C/C++ projects to build your C/C++ application. Project files such as makefile are not supported by the discoverers provided "out of the box" in the CAST Delivery Manager Tool. Therefore, this extension acts as a kind of "catch-all" to ensure that all C and C++ files will be packaged for analysis.

When the extension is installed, you can choose to activate it (or not) in each package you create in the CAST Delivery Manager Tool. To do so, click the Package Configuration tab and define the type of projects to discover in the package (refer to the Packaging your source code with the CAST Delivery Manager Tool paragraph below).

Technical information

What does the extension identify - i.e. what does it consider as a "project" and therefore an Analysis Unit in the CAST Management Studio?

Only one project is created per package when C or C++ files are detected (i.e. one project is equal to one Analysis Unit) - the following are supported:

This project will use the name of the top-folder that contains C or C++ files. As such, given the following folder structure (for example):

root
-folder1
--folder2
---src
----folder3
-----file1.c
----folder4
-----file2.c
----folder5
-----file3.c
-----file4.cpp
---include
----file1.h
----file2.h

Using this extension with the above folder structure will yield a project called "src" with a root path folder1/folder2/src. This project references the folder corresponding to the root in order to include all C/C++ files. If header files are found outside the top-folder, they are not added in the references of the project.

Note that even if the extension is activated, NO project will be created when at least one Microsoft C/C++ .vcproj or .vcxproj project definition file is identified in any location under the root path (including recursive sub-folders).

New in this release

The C and C++ File Discoverer 1.1.x brings the following update over previous releases:

CAST AIP compatibility

This extension is compatible with:

CAST AIP release
Supported
8.2.x(tick)
8.1.x(tick)
8.0.x(tick)
7.3.5 and all higher 7.3.x releases(tick)

Download and installation instructions

Please see: 

  • This extension contains a File discoverer and you should take note of the specific instructions in the installation guide that explains how to package your source code with the CAST Delivery Manager Tool when you have an existing Version.
  • The latest release status of this extension can be seen when downloading it from the CAST Extend server.

Extension interface

The following screen shots show the differences in the product when the extension is installed:

Note: please ensure that you exclude projects that correspond to the same source code. If you have some Visual C++ discovered projects inside the same package, CAST recommends deactivating this discoverer.

 

 

Packaging your source code with the CAST Delivery Manager Tool

When you use the CAST Delivery Manager Tool to package the source code, please ensure that you tick the following option in the CAST Delivery Manager Tool to activate the extension:

Note that:

  • this option will be disabled (unticked) in all pre-existing packages - you need to check it before starting the packaging process otherwise it will be ignored.
  • for new packages created after the extension's installation, the option will be enabled by default