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?
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With