novelrt / NovelRT

A cross-platform 2D game engine accompanied by a strong toolset for visual novels.
MIT License
185 stars 42 forks source link

Improve cross-target dependency handling #385

Closed FiniteReality closed 2 years ago

FiniteReality commented 2 years ago

(I hate CMake so much)

This improves cross-target dependency handling, much like #214 was supposed to. Unlike that effort, which died because CMake sucks, this one actually somewhat succeeded.

Ultimately, this should fix the incremental build issues we're seeing on Windows.

FiniteReality commented 2 years ago

CMake really just had to have the last laugh, huh.

FiniteReality commented 2 years ago

LGTM but we need to update CMake minimum version and the README to reflect the correct version. AFAIK we are still set to CMake 3.13, which is, uh, wrong.

EDIT: Could we also make the file handling function names contain "NovelRT" or "novelrt" or "NOVELRT" or whatever is more appropriate as a prefix? I want to avoid CMake clashes with other dependencies if possible and this seems like a good way to do it.

I bumped the minimum CMake version to 3.18, but I honestly don't think that we'll have any clashes because as far as I can tell, CMake's policy is to require projects to write this stuff themselves rather than do anything in any sort of sane manner.

FiniteReality commented 2 years ago

This just in: IT WORKED! We did it, GitHub!

:tada: