diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6eff1e82f..e13c2a31f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,9 +19,8 @@ Contribution Workflow The maintainer(s) will try to answer under a couple of weeks, if not, do not hesitate to send an e-mail. -If you're not familiar with Git and merge requests, start by cloning one of the main repository: +If you're not familiar with Git and merge requests, start by cloning the main repository: - `git clone https://github.com/nojhan/paradiseo.git` -- `git clone https://scm.gforge.inria.fr/anonscm/git/paradiseo/paradiseo.git` Git workflow @@ -38,7 +37,7 @@ git checkout -b # Always work on a dedicated branch. git commit mkdir build cd build -cmake -DCMAKE_BUILD_TYPE=Debug -BUILD_TESTING=ON -DENABLE_CMAKE_TESTING=ON .. && make && ctest # Always test. +cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DENABLE_CMAKE_TESTING=ON .. && make && ctest # Always test. cd .. git pull origin master # Always check that your modification still merges. ``` @@ -46,7 +45,7 @@ git pull origin master # Always check that your modification still merges. If everything went without error, you can either send the patch or submit a merge request. To do so, you can either: - submit a "pull request" on Github: [nojhan/paradiseo](https://github.com/nojhan/paradiseo), -- or send a patch on the [ParadisEO mailing list](https://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/paradiseo-users). +- or [open an issue](https://github.com/nojhan/paradiseo/issues) to discuss your proposed changes. See below for the details. @@ -79,6 +78,6 @@ git pull origin master git diff master > my_feature.patch ``` -Then send the `my_feature.patch` (along with your explanations about why the maintainer should merge your modifications) -to the [mailing list](https://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/paradiseo-users). +Then [open an issue](https://github.com/nojhan/paradiseo/issues) with `my_feature.patch` attached +(along with your explanations about why the maintainer should merge your modifications). diff --git a/INSTALL.md b/INSTALL.md index a3fb4e1b7..1064ecf09 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -9,9 +9,9 @@ Just put it somewhere on your development computer, compile it from here and ind Build ----- -Paradiseo is mainly developed for Linux, on which it is straightforward to install a C++ build chain. For example, on Ubuntu 18.04: +Paradiseo is mainly developed for Linux, on which it is straightforward to install a C++ build chain. For example, on Ubuntu: ```bash -sudo apt install g++-8 cmake make libeigen3-dev libopenmpi-dev doxygen graphviz libgnuplot-iostream-dev +sudo apt install g++ cmake make libeigen3-dev libopenmpi-dev doxygen graphviz libgnuplot-iostream-dev ``` Paradiseo use the CMake build system, so building it should be as simple as: @@ -67,7 +67,7 @@ Feel free to test with another compiler and to send us your report. As of today, we cannot guarantee that it will be easy to install ParadisEO under Windows if you're a beginner. -There is still some (possibly outdated) help about oldest version on the [Website](http://paradiseo.gforge.inria.fr/). +There is still some (possibly outdated) help about oldest version on the [Website](https://nojhan.github.io/paradiseo/). If you know how to install a working compiler and the dependencies, you may follow the same steps than the Linux process below. @@ -89,9 +89,9 @@ Some features are only available if some dependencies are installed: - Doxygen is needed to build the API documentation, and you should also install graphviz if you want the class relationship diagrams. - GNUplot is needed to have the… GNUplot graphs at checkpoints. -To install all those dependencies at once under Ubuntu (18.04), just type: +To install all those dependencies at once under Ubuntu, just type: ```bash -sudo apt install g++-8 cmake make libeigen3-dev libopenmpi-dev doxygen graphviz libgnuplot-iostream-dev. +sudo apt install g++ cmake make libeigen3-dev libopenmpi-dev doxygen graphviz libgnuplot-iostream-dev ``` @@ -144,20 +144,10 @@ this can be helpful if you don't need other modules with more complex dependenci Shared Memory Processing (SMP) module ------------------------------------- -The SMP module requires gcc 4.7 or higher. This is due to the fact that it uses the new C++ standard. - -At the moment, the SMP module does not work on Windows or Mac OS X since MinGW does not provide support for std::thread and Apple does not supply a recent version of gcc (but you can try to compile gcc 4.7 by yourself). +ParadisEO requires C++17, so any modern compiler (GCC, Clang) should work. To enable the compilation of the SMP module, just set the `SMP` option. -Depending on your distribution, you might have to give to CMake the path of gcc and g++ 4.7. -This is the case for Ubuntu 12.04 LTS for instance. - -If you are in that case and assuming you have a standard path for gcc et g++ 4.7: -```bash -cmake .. -DSMP=true -DCMAKE_C_COMPILER=/usr/bin/gcc-4.7 -DCMAKE_CXX_COMPILER=/usr/bin/g++-4.7 -``` - Estimating Distribution Objects (EDO) module -------------------------------------------- @@ -178,12 +168,12 @@ Targets for the build system (usually `make`) are: - `doc` for all documentations, - `doc-eo` for building EO documentation, - `doc-mo` for MO, -- `doc-edo` for MO, +- `doc-edo` for EDO, - `doc-moeo` for MOEO, - `doc-smp` for SMP. Each documentation are generated separatly in the module build folder. -For instance, after the generation of the MO documentation, you will find it in `build/paradise-mo/doc`. +For instance, after the generation of the MO documentation, you will find it in `build/mo/doc`. Examples -------- diff --git a/README.md b/README.md index 78f5c96fe..328a4a78f 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,8 @@ It focus on the efficiency of the implementation of solvers, by providing: # Very Quick Start -1. Use a recent Linux, like an Ubuntu. -2. `sudo apt install g++-8 cmake make libeigen3-dev libopenmpi-dev doxygen graphviz libgnuplot-iostream-dev` +1. Use a recent Linux, like Ubuntu. +2. `sudo apt install g++ cmake make libeigen3-dev libopenmpi-dev doxygen graphviz libgnuplot-iostream-dev` 3. From the Paradiseo directory: `mkdir build ; cd build ; cmake -D CMAKE_BUILD_TYPE=Release -DEDO=ON .. && make -j` 4. Copy-paste this CMA-ES code in `cmaes.cpp`: ```cpp @@ -173,7 +173,7 @@ Stable versions should however work on Windows and any Unix-like operating syste # Code -The latest stable version is on the official Git repository of INRIA: `git clone git://scm.gforge.inria.fr/paradiseo/paradiseo.git` +The latest version is on the official Git repository: `git clone https://github.com/nojhan/paradiseo.git` ## Dependencies @@ -187,7 +187,7 @@ Some features are only available if some dependencies are installed: - Doxygen is needed to build the API documentation, and you should also install graphviz if you want the class relationship diagrams. - GNUplot is needed to have the… GNUplot graphs at checkpoints. -To install all those dependencies at once under Ubuntu (18.04), just type: `sudo apt install g++-8 cmake make libeigen3-dev libopenmpi-dev doxygen graphviz libgnuplot-iostream-dev`. +To install all those dependencies at once under Ubuntu, just type: `sudo apt install g++ cmake make libeigen3-dev libopenmpi-dev doxygen graphviz libgnuplot-iostream-dev`. ## Compilation @@ -237,7 +237,7 @@ benchmark libraries are in `paradiseo/problems`. For academic articles, books, more tutorials, presentations slides, real life example of solvers and contact information, -please see the web site (available in `paradiseo/website/index.html`). +please see the web site (available in `docs/index.html`). # Citing Paradiseo