Main Page | Related Pages

List of Modules

This section lists all available modules and explains their usage as well as their configuration options. The corresponding configuration variables can be set in one of the config files explained in Configuration.

All of these settings can be specified/overridden in your projects ACGMakefiles. This is usefull for the modules doxygen and latex, where the corresponding settings depend more on your project than on your local installation.



cxx

The module cxx is used to compile a directory containing C++ source. It examines all C++ source files and filters out the files containing a main() function. All other files are linked together to a library that can later be reused from other directories sharing code with the current one. All the main() files are compiled to executables having the same name, but w/o the extension.

The cxx module has become somewhat non-trivial. it heavily depends on the configuration files of the different compilers. Therefore you should just use the configuration file provided for the supported compliers and modify them to meet your needs.

Some variables that you might have to change are:
CXX_SRC_EXT Extension of source files (*.cc)
CXX_HDR_EXT Extension of header files (*.hh)
CXX_COMP The C++ compiler

See the config files for their default settings.



cxxlib

The modules cxxlib is almost the same as module cxx. The only difference is that is generates a shared/static library for the whole project. In order to use this feature use module cxxlib instead of cxx for all directories in your source code tree. This module uses the same settings/variables as the module cxx.

For versions 1.1.4 and later you can define the variable CXXLIB_BUILD_DIR in the ACGMakefile of a specific directory to force the module cxxlib to build a library for the directory subtree starting at this point.



uic

The module uic processes all Qt designer files (*.ui) and generates the corresponding header (*.hh or CXX_HDR_EXT) and implementation (*.cc or CXX_SRC_EXT) files.

This module provides the following configuration variables:
UIC The uic command



moc

This module automatically finds all C++ header files (determined by CXX_HDR_EXT extension) defining Qt widgets that use the Qt signal/slot mechanism and runs the Qt proprocessor moc on them. This will generate a file xzy.moc.cc from the header xyz.hh (or again, the extension defined by CXX_SRC_EXT and CXX_HDR_EXT).

This module provides the following configuration variables:
MOC The moc command



latex

The latex module can be used to generate dvi, ps, and pdf output from a set of tex documents. The main tex files are automatically detected by grepping the string "\documentclass" in your *.tex files (so you can savely split your document to different tex files). Additionally latex is run twice in order to take ensure correct references and citations. By setting the TEX_USE_BIBTEX variable you can also invoke bibtex.

This module provides three new targets you can create:

This module provides the following configuration variables:

TEX_LATEX The latex command
TEX_BIBTEX The bibtex command
TEX_DVIPS The dvips command
TEX_PS2PDF The ps2pdf command
TEX_USE_BIBTEX If this variable is defined, bibtex is used
TEX_PAPER_TYPE Can be used to set the paper size/type and may be one of letter, legal, ledger, a4, a3



doxygen

Doxygen is a very nice tool for generating online or printed documentation for large software projects quite easily. E.g. this document has been generated using doxygen. This module is a wrapper that creates the doxygen config file and runs doxygen on the whole project directory. Most settings are just the correspoding doxygen settings, so refer to the doxygen documentation for a more detailed description.

This module provides the following configuration variables:

DOXYGEN The doxygen command
DOXY_FILE_PATTERNS Files to consider (e.g. *.cc)
DOXY_EXCLUDE_DIRS Directories to ignore
DOXY_EXCLUDE_PATTERNS Files/dirs to ignore
DOXY_EXAMPLE_PATH Directories containing examples
DOXY_EXAMPLE_PATTERNS Pattern for these exampeles
DOXY_GENERATE_HTML YES/NO
DOXY_GENERATE_LATEX YES/NO
DOXY_GENERATE_RTF YES/NO
DOXY_GENERATE_MAN YES/NO

DOXY_SETTINGS Further settings that will be appended to the doxyfile


acg pic Project acgmake, ©  Computer Graphics Group, RWTH Aachen. Documentation generated using doxygen .