Missing some defined functions while parsing C code with doxygen - doxygen

I am analysing the C code with doxygen. After disabling pre-processing option, I am missing some defined functions but after enabling pre-processing option, I am getting proper result.
should I set some other doxygen config option also?

Related

Fix "unbalanced grouping command" Doxygen warnings

Our Doxygen build in ITK is raising a number of "unbalanced grouping commands" warnings:
https://open.cdash.org/viewBuildError.php?type=1&buildid=8335387
Following the warning description I am guessing that these might be due to a potential improper use of "\ingroup" commands in our files, or the impossibility to correctly interpret them the way we define our groups.
Besides the code modules that we parse as groups, we define a number of other groups.
That give rise (using a GitHub actions workflow) to the modules shown in:
https://itk.org/Doxygen/html/modules.html
Despite the warnings, many of these filters seem to display the modules/groups they belong to correctly in the header of the file, e.g.
Data Processing Objects » FunctionsData Processing Objects » Functions » Image Functions » | Image InterpolatorsGroup Core » | Module ITKCommon
https://itk.org/Doxygen/html/classitk_1_1BSplineInterpolationWeightFunction.html
However, we would like to remove the warnings and get a clean build, so I am wondering how to fix the warnings.
We have an ITK issue that may be useful for anyone trying to help.
Thanks.
Code inspection to locate grouping commands that are not properly closed.

doxygen ignore part of variable definition

I would like to ask if you know a way how to make Doxygen ignore some keywords in code.
I use C in automation project (created in B+R Automation Studio) so there are Local and Global variables definitions.
Example:
_Local int variable1
_Global int variable2
This causes problems to Doxygen generated documentation.
What I need is to ignore bold part of variable definition but I only found a way how to ignore bigger part of code (unfortunately syntax have to stay exactly as in example).
Thank you for your advice and/or answers.
Cheers,
Pavel
The possibilities doxygen has for this are:
create an INPUT_FILTER filtering away the unwanted parts
have a look at the preprocessing possibilities and define all names
define all the names in an include file and include this file conditionally and run with preprocessing
For all possibilities see the documentation in the configuration file section

How to include excluded toolbox m-files in MATLAB compiler

I want to use Fuzzy Logic Toolbox in C#. To do this, I created a NET-library using deploytool, but it does not include the file fuzzy.m, which I need to work. And in the log mccExcludedFiles.log the following information:
This file contains the list of various toolbox functions that are not
included in the CTF file. An error will be thrown if any of these functions
are called at run-time. Some of these functions may be from toolboxes
that you are not using in your application. The reason for this is that
these toolboxes have overloaded some methods that are called by your code.
If you know which toolboxes are being used by your code, you can use the -p
flag with the -N flag to list these toolboxes explicitly. This will
cause MATLAB Compiler to only look for functions in the specified toolbox
directories in addition to the MATLAB directories. Refer to the MCC
documentation for more information on this.
C:\Program Files\MATLAB\R2010b\toolbox\fuzzy\fuzzy\fuzzy.m
called by D:\MyFolder\VNTU\bakal\matlabAndCs\ShowFuzzyDesigner.m
(because of toolbox compilability rules)
How do I include this excluded fuzzy.m file in the compilation?
The command fuzzy launches the Fuzzy Inference Systems editor, a GUI supplied with Fuzzy Logic Toolbox. Compilation of Toolbox GUIs with MATLAB Compiler is typically not supported, and as detailed in the documentation for MATLAB Compiler, this is true of the GUIs within Fuzzy Logic Toolbox.
I must say, I think the message you're getting in the mccExcludedFiles.log file is mostly misleading - all of those things could cause a file to have been excluded, but in this case the only relevant bit is at the end, "(because of toolbox compilability rules)".
You might want to look into how to build a fuzzy system using the line code functions supplied with the fuzzy toolbox, and not the GUI. This walkthrough gives you a pretty good handle on building a Mamdani inference system using the line code tools. I am not positive how these translate into C# code, but I think there should be equivalent libraries therein.
If you cannot find a natural way to implement the MATLAB routines in C#, then you could look at this discussion which links some free fuzzy libraries for C#. I think one of the links is broken, but the other three load just fine.

Measuring Documentation Coverage with Doxygen

I wanted to ask if there are any features (or add-ons) for Doxygen to measure the documentation coverage via command line. I already know that I can set up Doxygen to write undocumented elements as warnings into a log file, but to fully evaluate the documentation coverage from that, I'd need to write my own warning log parser. Was something like this done already or is there an even easier way I couldn't find? Is there any add-on I could check out for this?
Thank you.
I don't know anything that can give documentation coverage for doxygen, but a quick search gives 2 interesting results : https://github.com/alobbs/doxy-coverage (require xml output for doxygen) and http://jessevdk.github.io/cldoc/ (alternative for c++ projects?)
There is coverxygen which is using the same idea as alobbs/doxy-coverage (uses xml output of Doxygen) but provides more options (for example, filter by access specifier).
Disclaimer: I am contributing to that project.

How can I include a list of doxygen ALIASES defined in an external file when compiling

Does anyone know how I can include a list of doxygen ALIASES defined in an external file when compiling
I dont want to define ALIASES in the .doxyfile as this is for a large codebase that lots of engineers use. So to keep things simple, I want to include a file which lists all the custom ALIASES (100's) that we have defined and add/modify from time to time and get pulled in when we compile doxygen output.
Sorry I'm late to the party but since no one answered yet, here goes.
There is no simple way of doing this that I know of, I'm afraid, but there is one way I can think of... When you call doxygen, you do it by specifying which Doxyfile to use:
doxygen <file>
However, if you enter '-' as file name, doxygen will read/write from standard input/output instead. So you might create a simple script or program to generate your basic Doxyfile to which you can include the relevant ALIASES and output it through standard input. How you do it will depend on your OS.