ant, maven and gradle (and may be cmake)
Posted: Sun Apr 25, 2021 4:12 pm
i know this screams of 'java'.
ant has for the longest time been used to build java apps
https://ant.apache.org/
for one there is cpptasks, and few more
http://ant-contrib.sourceforge.net/cpptasks/
http://axis.apache.org/axis/cpp/antbuild-guide.html
http://codemesh.com/products/junction/doc/ant_cpp.html
then there is maven, again java centric
https://maven.apache.org/
maven is patterned after a default set of build steps called the life-cycle
https://maven.apache.org/guides/introdu ... cycle.html
and those things that run in a particular step are actually the *plugins*, it is confusing when i started learning it but basically this is the gist
the good thing about maven is it is designed to pull dependencies from a repository in a standard format
https://search.maven.org/
i'd guess that's why a lot of large java frameworks such as spring are build around maven and gradle
for maven the c++ stuff are in the 'nar' extensions
https://stackoverflow.com/questions/154 ... c-projects
http://maven-nar.github.io/index.html
then there is gradle
https://gradle.org/
i've not used gradle but that apparently it is intended to be 'superior' vs maven
https://gradle.org/maven-vs-gradle/
and accordingly there are plugins for c++
https://docs.gradle.org/current/usergui ... jects.html
https://discuss.gradle.org/t/c-c-cross- ... -gcc/13688
an 'honorable' mention is CMake. unfortunately, CMake is more of a 'makefile generator'.
while the above java replacements are 'make' replacements.
has anyone ventured with these?
the context of using these is due to that makefiles tend to be 'unix' (or 'linux') specific. and Windows seemed to be left in the cold with makefiles.
ant, maven, gradle are 'cross-platform' kind of.
gradle seem to have some 'enterprise' extension that seemed to be licensed differently. i'm not too sure if the lack of adoption is due to licensing issues.
ant has for the longest time been used to build java apps
https://ant.apache.org/
for one there is cpptasks, and few more
http://ant-contrib.sourceforge.net/cpptasks/
http://axis.apache.org/axis/cpp/antbuild-guide.html
http://codemesh.com/products/junction/doc/ant_cpp.html
then there is maven, again java centric
https://maven.apache.org/
maven is patterned after a default set of build steps called the life-cycle
https://maven.apache.org/guides/introdu ... cycle.html
and those things that run in a particular step are actually the *plugins*, it is confusing when i started learning it but basically this is the gist
the good thing about maven is it is designed to pull dependencies from a repository in a standard format
https://search.maven.org/
i'd guess that's why a lot of large java frameworks such as spring are build around maven and gradle
for maven the c++ stuff are in the 'nar' extensions
https://stackoverflow.com/questions/154 ... c-projects
http://maven-nar.github.io/index.html
then there is gradle
https://gradle.org/
i've not used gradle but that apparently it is intended to be 'superior' vs maven
https://gradle.org/maven-vs-gradle/
and accordingly there are plugins for c++
https://docs.gradle.org/current/usergui ... jects.html
https://discuss.gradle.org/t/c-c-cross- ... -gcc/13688
an 'honorable' mention is CMake. unfortunately, CMake is more of a 'makefile generator'.
while the above java replacements are 'make' replacements.
has anyone ventured with these?
the context of using these is due to that makefiles tend to be 'unix' (or 'linux') specific. and Windows seemed to be left in the cold with makefiles.
ant, maven, gradle are 'cross-platform' kind of.
gradle seem to have some 'enterprise' extension that seemed to be licensed differently. i'm not too sure if the lack of adoption is due to licensing issues.