-
Notifications
You must be signed in to change notification settings - Fork 50
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 overhaul #41
CMake overhaul #41
Conversation
By not recompiling the same code for each executable we can save time. Before: time make -j4: 6m12s After: time make -j4 : 1m52s
Default behaviour unchanged. Again, build time is shortened. With tests: time make -j4: 1m52. Without tests: tume make j4: 1m19s The remaining time is mainly caused by Eigen headers, thus unavoidable.
Depending projects need this definition
Better when installing the library - avoid name clashes.
I see that some CI tests are failing, I'll get that fixed as soon as I can! |
Eigen can now be downloaded automatically if none is found. Other dependencies (pthread, OMP) clearly specified. MKL dependency also fixed, but remains optional.
I have made some quite drastic changes to the CMake code. |
I also just noticed that I added a lot of unintentional whitespace changes when I was modifying the include structure. |
Eigen installed with HODLR.
The test runs now, but fails with
The same happens on all machines I tested on - I assume it is an issue with the test itself. |
that's probably because of HOLDR_PATH:
or something like that |
This is the start of a CMake overhaul for HODLR (see #40)
The goal is to make the library more usable from a user standpoint and to reduce built time.
It would probably be better to also handle the dependencies of HODLR (OpenMP ...) in a more CMake-like fashion.
Mainly, using
find_package
would make it more clear what dependencies exist and would help depending libraries like the code I'm writing as well.I haven't made these changes yet though.
I would love any feedback on this and am happy to make/revert any changes.