|
| 1 | +Bootstrap: docker |
| 2 | +From: ubuntu:24.04 |
| 3 | + |
| 4 | +%post |
| 5 | + # Update the available packages list. |
| 6 | + apt -y update |
| 7 | + # And add the "universe" repository (allow to install many more software). |
| 8 | + apt -y install software-properties-common |
| 9 | + add-apt-repository universe |
| 10 | + apt -y update |
| 11 | + # Update the operating systems (install last versions with bugfixes). |
| 12 | + apt -y dist-upgrade |
| 13 | + |
| 14 | + # Install dependencies for your project. |
| 15 | + apt -y install git g++ cmake ccache make libeigen3-dev libopenmpi-dev doxygen graphviz libgnuplot-iostream-dev |
| 16 | + |
| 17 | + # Download sources. |
| 18 | + git clone --branch master --single-branch --recurse-submodules https://github.com/nojhan/paradiseo |
| 19 | + cd paradiseo |
| 20 | + |
| 21 | + # Build directory that holds built binaries and cache. |
| 22 | + mkdir -p build |
| 23 | + cd build |
| 24 | + |
| 25 | + # Example of minimum build: |
| 26 | + # Use that if you want the minimal set of libraries needed to build a simple solver. |
| 27 | + # cmake -DCMAKE_BUILD_TYPE=Release -DEDO=ON .. && make |
| 28 | + |
| 29 | + # Example of trying to build everything: |
| 30 | + # Use that to test if everything can be built with your setup, |
| 31 | + # or if you modified something in Paradiseo and want to test it. |
| 32 | + cmake -DCMAKE_BUILD_TYPE=Release -DEDO=ON -DENABLE_CMAKE_EXAMPLE=ON -DENABLE_CMAKE_TESTING=ON -DENABLE_GNUPLOT=ON -DENABLE_OPENMP=ON -DMPI=ON -DSMP=ON .. && make |
| 33 | + |
| 34 | + # You may run the tests, to check if everything works: |
| 35 | + ctest |
| 36 | + |
| 37 | + # Make the documentation: |
| 38 | + make doc |
| 39 | + |
| 40 | + # Clean-up of the APT cache (will lighten the container). |
| 41 | + apt -y purge software-properties-common git g++ cmake ccache make libeigen3-dev libopenmpi-dev doxygen graphviz libgnuplot-iostream-dev |
| 42 | + apt -y --purge autoremove |
| 43 | + apt -y autoclean |
| 44 | + apt clean |
| 45 | + |
| 46 | +%environment |
| 47 | + |
| 48 | +%runscript |
| 49 | + # When executing the container, this will be called, |
| 50 | + # and pass all the command line arguments. |
| 51 | + ./paradiseo/build/edo/application/cmaes/cmaes $* |
| 52 | + |
| 53 | +%labels |
| 54 | + Author Johann Dreo |
0 commit comments