solenum / exengine

A C99 3D game engine
https://oods.net
MIT License
551 stars 31 forks source link

Cmake buildscript for exengine. #22

Closed cppdvl closed 3 years ago

cppdvl commented 4 years ago

Wonder if you could use this.

solenum commented 4 years ago

I'm AFK over the holidays but I'll check this out when I return in early January.

ddevault commented 4 years ago

NACK, cmake is a trap. Awful, awful, awful build system. Stick with makefiles or use meson.

ghost commented 4 years ago

Nothing wrong with CMake.. Using it for my own engine, the fault is that the turorials online are dated and use bad implementations. CMake realy shines in it simplicity to do complex stuff like recursive searching through an folder to get sources, linking an creating libraries, using precompiled headers etc. Doing this advanced kind of stuff in Make is possible but and absolute nightmare.

If you dont like CMake, at least use something like premake, in stead of using pure Make.

solenum commented 4 years ago

in stead of using pure Make.

Nothing wrong with using Make on its own, I think its appropriate for this project and it can do most of the things you have brought up already. I have always been in the CMake over-complicates things group, personally.

I'll leave this open for now, I'm skeptical about merging it because I know for sure I wont maintain it and the build system will need to change a lot over time, we'll see.

ghost commented 4 years ago

What will happen when you only depend on Make, is that it will be harder for people that want to contribute to maintain the code. Let say for example i was contributer and made some physics library that has some dynamic and static libraries as depencies, use different pre and post hooks and some other modern build thingies.

If i wanted to add it to your project i'd have to rewrite my code completely to make it compatible with your code. But if you would use something like premake or cmake i could easily just add some cmake/premake files that use your cmake/premake files and then the only thing i would have to change is those cmake/premake files.

Saves me such an hassle. Otherwise i would have to learn how your makefile is configured which i realy dont want to.

So i if you want people in the future to be able to help, contribute and maintain your code, use something like cmake/premake. If its your personal project and you want to do everything yourself Make should be good enough.

ddevault commented 4 years ago

cmake would discourage me from contributing, because I want nothing to do with that dumpster fire of a project.

ghost commented 4 years ago

Are you one of those hipsters that needs to do everything differently because the have no other value in their life... Like at least explain why cmake/premake is "such a dumpster fire".

You probably read on some forum "Cmake bad, rolf" and have never used it yourself, so i cant take you serious at all m8.

monolifed commented 4 years ago

build/macos/CMakeLists.txt this seems to be the only relevant file .gitignore is a good idea but not relevant And I have no idea why data.ex is modified.

solenum commented 4 years ago

cmake would discourage me from contributing, because I want nothing to do with that dumpster fire of a project.

I have no intention of ever adding a CMake build system to be honest, I appreciate the effort of this pr and I understand if others want to use it, but actually implementing it on my end would be pointless because I wont ever maintain it, I'm happy with a simple Make script, its not complicated.

Let say for example i was contributer and made some physics library that has some dynamic and static libraries as depencies, use different pre and post hooks and some other modern build thingies.

This is entirely against the goal of exengine, I have put a lot of work into making any sort of external library or dynamic linkage redundant in exengine over time, my goal is for it to eventually be a self-contained all-included engine/template.

Are you one of those hipsters that needs to do everything differently because the have no other value in their life...

Bring the attitude down a little, this is no way to get your point across and only makes me want to mute you on this PR entirely. Nobody is going to listen to your argument if you open with insults.