C and Cpp File Discoverer - 2.0


Compatibility: v2 v3 Cloud
What's new? Release Notes
ID: com.castsoftware.dmtcfilediscoverer

Extension ID

com.castsoftware.dmtcfilediscoverer

What’s new?

See Release Notes.

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 CAST. Therefore, this extension acts as a kind of “catch-all” to ensure that all C and C++ files will be packaged for analysis.

Technical information

What does the extension identify - i.e. what does it consider as a “project” and therefore an Analysis Unit:

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 (valid when using com.castsoftware.aip ≥ 8.3.61 or com.castsoftware.imaging.core ≥ 8.4.8):

C file

Extension Description
*.c Classic C program
*.pc Oracle Pro*C
*.pcc Portable C Compiler
*.pcs Informix ESQL/C - PREPAREd Cursor Specification (PCS)
*.ec C with Embedded SQL (Informix and others)
*.sqc C with Embedded SQL (IBM Db2)
*.pgc C with Embedded SQL (PostgreSQL)
*.csql HPE NonStop SQL / Trafodion
*.pp2 Teradata PP2 (Preprocessor2 for Embedded SQL)

C++ file

Extension Description
*.cpp
*.cc
*.cxx
*.c++
Classic C++ program
*.ppc
*.pcpp
Oracle Pro*C/C++
*.ecp
*.ecpp
*.ecxx
*.ec++
Informix ESQL/C++
NonStop SQL MX
*.sqx C++ with Embedded SQL (IBM Db2)

Project configuration

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.