nwnxee / unified

Binaries available under the Releases tab on Github
https://nwnxee.github.io/unified
GNU General Public License v3.0
130 stars 92 forks source link

[proposal] Get rid of cmake and use Makefiles directly #632

Open mtijanic opened 4 years ago

mtijanic commented 4 years ago

We all just use the make backend anyway, and the code is not compileable with msvc anyway, so the vcproj backend is useless (and VS can use make if needed).

This would get rid of an extra dependency, reduce the overall footprint of the project and remove one step in actually building it.

git clone https://github.com/nwnxee/unified && make -C unified

Just throwing it out there for now, it's low priority if even do want it.

jd28 commented 4 years ago

fwiw i was one of the people that helped delete makefiles and autoconf from nwnx2 in favor of cmake. I think that was the right choice at the time. cmake may be crap, but it's easy enough and ubiquitous enough that it's worthwhile skill to know, and that makes the extra dependency acceptable. Just my opinion.

mtijanic commented 4 years ago

That is an interesting point. I've always approached nwnx as primarily aimed at the users, not contributors, but it isn't quite true. In the industry it is generally frowned upon to pick your technologies based on what you want to learn instead of the best tool for the job. We often call this "resume oriented programming" :)

However, open source/volunteer work really is different in that regard. It is really good if contributors also learn valuable and interesting, or marketable skills. So we should figure out where to draw the line, but 'best tool for the job' is not always the answer. Of course, 'most demanded tech' is also not it, or we'd be writing this in node.js or something.

This is to say nothing about whether cmake is more or less valuable as a skill than make (which I'm willing to argue, but not right now). I wonder what others think of the whole thing.

mtijanic commented 4 years ago

Oh, also, I didn't mean autoconf, that's just Lovecraftian. I meant writing things like find_package in pure makefile instead.