Skip to content
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

[Refactor] Add paradiseo paths on the all #include directives #40

Open
ropinho opened this issue Jun 27, 2019 · 3 comments
Open

[Refactor] Add paradiseo paths on the all #include directives #40

ropinho opened this issue Jun 27, 2019 · 3 comments

Comments

@ropinho
Copy link
Contributor

ropinho commented Jun 27, 2019

Absolute includes considers the system paths

The includes within source files is in the form:

#include <eoVector.h>

I believe this form considers the install path of EO, but when ParadisEO was installed, the include path is */paradiseo/eo/.
It forces us to use the -I flag on g++ command, including the complete path on compile command.
Add the paradiseo path improvements these situation.

In this case:

#include <paradiseo/eo/eoVector.h>

... in all source files.

@ropinho ropinho changed the title [Refactoring] Replace absolute includes with relative [Refactoring] Add paradiseo paths on the all #include directives Jun 27, 2019
@ropinho ropinho changed the title [Refactoring] Add paradiseo paths on the all #include directives [Refactor] Add paradiseo paths on the all #include directives Jun 29, 2019
@nojhan
Copy link
Owner

nojhan commented Jun 29, 2019

Yes, it's an historic remaining. I believe the firsts authors planned to only use <eo> includes in third parties files and I remember that there was problem with includes when we merged EO and all other projects within ParadisEO.

The classical organization would be to use relative includes within the framework, and use full paths <paradiseo/eo> or <paradiseo/eo/eoVector.h out of the framework (i.e. tests, examples and end users). But one should proceed with caution as this may have deep impacts everywhere.

@ropinho
Copy link
Contributor Author

ropinho commented Jun 29, 2019

So, an adaptation for relative include paths would help in utilization of the EO module? Or it isn't needed?

Another question: What the impact of this modification in relation to original EvolvingObjects project? ParadisEO can modify the original source code?

I proppose me to carefully reorganize the include structure using relative #include "file.h" and absolute #include <paradiseo/eo/file.h> where needed within "eofiles" if be interesting to the project. I believe it would improvements on usability of this module, and i would like contribuite to the project. ;)

@nojhan
Copy link
Owner

nojhan commented Jul 19, 2019

The EO project have been merged within ParadisEO and is now maintained here. As it's Free Software, anyone can actually modify the (licensed) source code in its own fork. So far, I'm not aware of another EO fork, anyway.

For the relative include update, I think one should explain the plan on the mailing-list, because I fear I'm missing something here. Can you subscribe to ParadisEO devel ML and post a description of your proposed refactoring, to get some comments?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants