> <\body> \; To be easy to use \ together, the packages share the following structure. Moreover, with this structure, the configuration files can be updated automatically using . We will detail it for a package called hereafter , corresponding to the folder : <\shell-fragment> pkg \|-- include \| \ \ \|-- pkg \| \ \ \ \ \ \ \|-- file1.hpp \| \ \ \ \ \ \ \|--... \|-- src \| \ \ \|-- src_file1.cpp \| \ \ \|-- ... \|-- glue \| \ \ \|-- glue_file1.cpp \| \ \ \|-- ... \|-- app\ \| \ \ \|-- tool1.cpp \| \ \ \|-- ... \|-- test \| \ \ \| ... \|-- axl \| \ \ \|-- QPlugin1\ \| \ \ \| \ \ \|-- ...\ \| \ \ \| ... \|-- specif \| \ \ \|-- pkg-package.amx \| \ \ \|-- ... \|-- CMakeModules \| \ \ \|-- FindPkg.cmake.in \| \ \ \|-- ... \|-- macros \| \ \ \|-- ... \|-- CMakeLists.txt \|-- configure.ac \|-- Makefile.am \|-- ... To describe how this structure is exploited in the configuration step, we assume that we run in a folder , where the binary files will be compiled: <\shell-fragment> cd build; cmake ../pkg The header files are put in . Their suffix is . They are used with the instruction in files as follows: <\cpp-fragment> #include \pkg/file1.hpp\ The source files are put in . Their suffix is . All the files in this folder are used to construct the library (,,,...) which is put in . The application files are put in . Their suffix is . For each file in , a binary application is compiled and put in . The test files are put in . Their suffix is . For each file in , a binary application is compiled in . This files will be compiled if the option is . They will executed with: <\shell-fragment> make test The glue files are put in . Their suffix is . All the files in this folder are used to construct the library (,,,...) which is put in . This library can be loaded in the interpreter with the command : <\mmx-fragment> use "pkg"; plugins> The files for the plugins are put in . For each subfolder, of the form (starteing with a ), a plugin (,,...) will be constructed an put in . All the files of the form (ending with ) will be used to make this plugin. A plugin will be automatically loaded by . <\initial> <\collection>