-
Notifications
You must be signed in to change notification settings - Fork 189
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
Reorganize core library #2530
Comments
Also #2628. |
Would we have to update .codecov.yml? E.g. in the current state, changing codecov/project/tests to paths:
- src/core/unit_tests/
- src/pdbparser/unit_tests/
- src/utils/tests/ and codecov/project/core to paths:
- src/core/
- !src/core/unit_tests/ (I'm no expert in the codecov YAML syntax, and their docs aren't very helpful, so take these code blocks with a grain of salt.) |
PR #4541 re-organized
I think we should move forward with the Pitchfork layout. In the last 12 months, while refactoring the core and script interface, I found myself in situations where I had to create multiple header files for one source file to comply with separation of concerns or reduce compilation times. The Pitchfork layout automates this by having an include folder for header files of the public interface that is passed to Another benefit is that name collisions becomes impossible. This is important for the script interface, since interface classes sometimes have the same name as the corresponding core classes. This is probably why we have this crude workaround: espresso/src/script_interface/CMakeLists.txt Lines 54 to 55 in 18d49bf
The script interface includes the entire project structure, such that one can write |
The code in the core library should be split into src, include and tests folders. This allows for public (those in include) and private (those in src) header files and makes clear what is exported. In cmake one would then only expose the include folder to other targets.
The text was updated successfully, but these errors were encountered: