List Of Features

Feature Description
Transitive dependencies Enabling transitivity on C libraries artifacts
Auto H files management
  1. Automatic creation of an artifact with classifier "include" and extension jar or zip ( ${artifactId}-include.zip ) that contains all *.h files of the project.
  2. This includes pack will be automatically resolved/unziped and added as -IXXX when another library "pom.xml" is dependant on this project
Customizable options lists Separation of the compiler/linker/test compiler/test executor options lists. Debug options list is also a separate block to enable the compilation of debug and nodebug artifacts in one run.
Test phases
  1. Integration of compile-test and test phases with cppunit (or may be other C test framework)
  2. Cppunit main C file included in the plugin for clean execution
  3. Cppunit XML report files availiable for future report plugin
Name unification
  1. Removal of the need to starts artifactId with "lib" prefix
  2. Automatic linking dynamic to .so and static to .a
  3. Usage of symbolic links in target/lib to the maven local repository to avoid copies of binaries and enable linux so versioning mechanim ( libXXX.so.5 )
  4. One folder target/lib in LD_LIBRARY_PATH for linking, test and standard executions
Miscelaneous
  1. Up-to-date mechanism for linking avoiding relinking if object files did not changed
  2. Multithreaded compilation to run parallel calls to gcc or others
Assembly for RPM Adding a ProjectNameProvider and Assembler for jade-assembly-plugin in order to prepare rpm from the dependency list.