-
Notifications
You must be signed in to change notification settings - Fork 10
cmake: add more headers used from public interface #172
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
cmake: add more headers used from public interface #172
Conversation
|
Thanks. I agree about stuff like Some of the headers in the original commit were also I am confused about your last comment however. As written, CMake will install the EXP libraries in |
It's probably fine as-is; I get the sense that
It's that the dependencies (highfive and yaml-cpp) also have directories in |
|
Got it. It would be trivial to put the EXP header install at |
|
I would actually keep it in |
|
All good points. I appreciate the thoughts. Wrote a quick Python script to do this for every ".H" and ".h" file in the tree (excluding the See new commit. Maybe try this for your Gala+EXP build to see if the |
|
Oh, I can't push this commit to your repo! Doh. I'll cherry-pick back to the originating PR. |
|
You should be able to push to this branch in my repo, "Allow edits by maintainers" is checked! Upstream is fine too. |
|
Huh. Maybe my error somewhere? Couldn't authenticate in the usual way for some reason. Anyway, please merge upstream from |
6024be4 to
a69518f
Compare
|
That's perfect; I can confirm that Gala+EXP builds and runs with just the |
|
Okay, let's merge this. |
As requested in #170. With these headers, Gala-EXP builds and runs against just the install directory.
I noticed that some headers, like
StringTok.H, appear to be included in public headers, likeParticleReader.H, but not actually used there. In other words, I think we might be able to reduce the footprint of installed headers by moving "internal" includes to the.ccfiles rather than the.Hfiles.I just lumped all the new headers into the existing list of
expuiheaders, but I think some of them technically apply toexputilrather thanexpui. It seemed like there were already headers for both in this list, though.Also, most of the headers seem to be including each other using system-include style (
<>instead of""), e.g.ParticleReader.Hhas#include <Particle.H>. System includes will not search the current directory, so this means we need to add two paths to the include path:EXP/install/includeandEXP/install/include/EXP. I think the usual style would be to use double-quote includes for your own project's headers; then we could just use the former include path.