I'm not talking about making portable code. This is more a question of distribution. I have a medium-sized project. It has several dependencies on common libraries (eg openssl, zlib, etc). It compiles fine on my machine and now it's time to give it to the world.
Essentially build engineering at its finest. I want to make installers for Windows, Linux, MacOSX, etc. I want to make a downloadable tar ball that will make the code work with a ./configure
and a make
(probably via autoconf). It would be icing on the cake to have a make option that would build the installers..maybe even cross-compile so a Windows installer could be built in Linux.
What is the best strategy? Where can I expect to spend the most time? Should the prime focus be autoconf or are there other tools that can help?
I would recommend CMake. Advantages:
make install
command line thing (I have not used it).I use CMake for everything now, even simple test projects with visual studio.
I have never used autotools but a lot of other users have commented that cmake is easier to use. The KDE project moved to cmake from autotools for this reason.