-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The end of header only #16
Conversation
Hi, |
Ah I guess that's tricky to do, but the following should do what you request: |
Hi, |
Unit tests still run :-) |
Then should we merge? |
@krenzland is going to have a look at the cmake part then we merge |
How difficult would it be to have python bindings when the PR is merged? Would be quite useful ;-) |
Wouldn't do it with this PR but its a good idea! |
Python bindings are relatively easy and can even be auto-generated with e.g. https://github.com/pybind/pybind11 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some very small things. Not sure if everything is perfect but it is definitely better than the status quo :)
Thanks!
CMakeLists.txt
Outdated
project (easi) | ||
cmake_minimum_required (VERSION 3.8) | ||
cmake_minimum_required (VERSION 3.9) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't we require a more modern version? 3.9 is pretty old...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestions?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
3.16 is on NG. The workstations at LRZ have 3.10 at least. I have 3.20 on my laptop.
-> Use the version that you are using to test it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tested 3.13
The goal of this pull request is to make easi a non-header-only - i.e. classic - library. Why? Because header-only is essentially BS for easi and I dunno why I did that in the first place.
Pro:
This PR is pretty heavy but there are no actual code changes besides moving things around. (With the exception of YAMLComponentParsers.) However, almost every line of code changes, because
Moreover, I started to create some nice install stuff. The ultimate goal would be that you can write
in your user project. However, that does not quite work yet due to the dependencies. I'll further look into this but I would be nice to get some help from @krenzland here (after his vacation!!1).