I have an application in which we use a hand-made build system.The reason for this is portability: the application should be portable on Linux/Mac/Windows.
There are some port-specific files that are not updated by the default build system.
What I do now is update the files manually or have a script do this. However, I am thinking of switching to cross-platform build system like cmake
or scons
.
Are there associated problems regarding portability? Will it pay in long run? and if so, what should be my choice: "cmake", "scons" or some ot开发者_高级运维her?
Are there associated problems regarding portability?
Only if you continue to have "port-specific files".
Will it pay in long run?
Off-the shelf is cheaper than hand-built. Period. You should be very, very reluctant to hand-make anything. Always download first, rarely customize, and build new only when it's impossible to press an existing tool into service.
what should be my choice: "cmake", "scons" or some other?
It barely matters. You can toss a coin now.
You can download both and try both. They're pretty easy to learn.
After learning them, you can then toss a coin.
The important thing is to throw away your hand-made build system as quickly as you can. In order to do that you have to completely learn the new one. Many folks refuse to completely learn the new one. They half-learn the new one and then continue to claim the old one was somehow "better".
Completely learn the new one. Completely delete the old one. Don't look back.
I choose cmake, because it can generate XCode projects. The docs are not that great, but there are plenty users out there, so you can find solutions to problems using google fairly easily. It has soma packaging support too, which can be handy.
精彩评论