Closed mrexodia closed 3 years ago
Thanks for all the improvements :)
I know the changes are getting out of hand a bit š¬, but do you have some comments perhaps?
I started using cmkr for everything and I'm slowly integrating features I require. For features that are not yet implemented (or so custom that they should never be implemented) in cmkr I use include-after
or cmake-after
to inject CMake directly:
It still needs a lot of work, but it would be nice if you could take a look and see if this is going in a direction you like.
Hi Yeah I'm glad you're using it :) I also like the changes I'm seeing, especially the ability to inject CMake code in the toml. Also moving to terms closer to the CMake terms is probably better and should be more familiar to more developers. I'm generally not a fan of vendoring dependencies, but it's not a show-stopper for me.
Good to hear :)
Iām also not a big fan of vendoring dependencies, but in this case I think itās justified to keep the configure+compile times as low as possible. Iāve been thinking about doing amalgamation as well, but fetching+building cmkr takes only a few seconds now and there are more important things to solve...
Currently tests are definitely missing and I collected quite a few TODO comments that need to be addressed eventually. For conditional compilation and platform/compiler specific flags I have the following idea:
[conditions]
msvc = āMSVCā
osx = āOSX_SPECIFIC_CONDITIONā
[target.hello]
type = āexecutableā
sources = [āhello.cppā]
osx.sources = [āosx_hacks.cppā]
msvc.compile-flags = [...]
[msvc.target.msvc_only_target]
type = āexecutableā
sources = [...]
It will require a bit of work and because of the weird nature of toml tables you can also express this in a very strange alternative syntax, but it seems quite intuitive to me and additionally it allows infinite complexity by injecting cmake and using a variable set there as the condition.
Comments are welcome š