Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is the maven-native-plugin widely used to build C++ projects using maven?

It's been a little while since I did C++ development professionally and I'd like to get caught up on what the current state of C++ development is in a number of areas. Most of my recent work has been Java, making heavy use of Maven. When I last did C++ development for work, some variant of make was widely accepted as the way to go for building C++ projects (we were also using make to do builds the Java code in our mixed Java and C++ projects, although I believe ant was starting to become mainstream).

I like using Maven for builds. My question is not to debate the relative merits of using Maven, but to determine what the level of adoption is for the Native Maven Plugin for building C++ projects and what people's experience with this has been. Alternately, is there a new common toolchain for C++ builds that has a lot of momentum?

like image 977
Paul Morie Avatar asked Feb 04 '23 11:02

Paul Morie


2 Answers

In my experience, the C++ community still hasn't standardised on a common build tool. While the GNU autotools (and GNU make) are still popular for Open Source projects, other options include SCons, CMake, makepp and bjam/jam.

Personally, I would only use Maven for a project that's mainly written in Java with a small JNI part.

like image 52
cmeerw Avatar answered Feb 06 '23 16:02

cmeerw


Our experience with the maven native plugin is that it integrates very well with the Java tool chain. If you build mixed java/C++ systems, then it is the plugin for you. Because of this plugin, our C++ and Java developers have the same environment (maven, eclipse, hudson) and a centralized dependency management (nexus). On the negative side, several of our fixes (performance related due to the high volume of our code base, several millions lines of code) have not been integrated to the main release which oblige us to work with a patch version.

like image 22
dautelle Avatar answered Feb 06 '23 14:02

dautelle