Skip to content

Commit bee4759

Browse files
committed
doc: adds howto_build_paradiseo script for apptainer
1 parent e14220f commit bee4759

1 file changed

Lines changed: 54 additions & 0 deletions

File tree

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
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

Comments
 (0)