]> gerrit.simantics Code Review - simantics/fmil.git/blob - org.simantics.fmil.core/Dockerfile
Updates to FMILibrary and its build process
[simantics/fmil.git] / org.simantics.fmil.core / Dockerfile
1 #First build it:
2 #docker build -f Dockerfile -t fmilibrary:build .
3 #Then COPY the .so files (and logs) to your org.simantics.fmil.linux64:
4 #docker run -v /path/to/org.simantics.fmil.linux64/libraries:/output fmilibrary:build
5
6 FROM ubuntu:16.04
7
8 MAINTAINER miro.eklund@semantum.fi
9
10 ARG fmi='http://www.jmodelica.org/downloads/FMIL/FMILibrary-2.0.3-src.zip'
11
12 RUN apt-get update && \
13         apt-get -y upgrade
14
15 RUN apt-get install -y wget cmake unzip build-essential patchelf
16
17 RUN mkdir /builds && \
18         mkdir /builds/fmilsrc && \
19         mkdir /builds/fmil && \
20         mkdir /builds/fmildebug
21
22 RUN wget -O /builds/fmilsrc/fmil.zip $fmi
23
24 WORKDIR /builds/fmilsrc
25
26 RUN unzip /builds/fmilsrc/fmil.zip && \
27         rm /builds/fmilsrc/fmil.zip
28
29 WORKDIR /builds/fmil
30
31 RUN rm /builds/fmilsrc/FMILibrary-2.0.3/src/Util/src/FMI/fmi_util.c
32 COPY /native/FMUSimulator/fmi_util.c.txt /builds/fmilsrc/FMILibrary-2.0.3/src/Util/src/FMI/fmi_util.c
33
34 RUN cat /builds/fmilsrc/FMILibrary-2.0.3/src/Util/src/FMI/fmi_util.c
35
36 RUN cmake /builds/fmilsrc/FMILibrary-2.0.3 >> /fmil.log 2>&1
37
38 RUN make >> /fmil.log 2>&1
39 RUN make install test >> /fmil.log 2>&1
40
41 WORKDIR /builds/fmildebug
42
43 RUN cmake -DFMILIB_ENABLE_LOG_LEVEL_DEBUG=ON /builds/fmilsrc/FMILibrary-2.0.3 >> /fmildebug.log 2>&1
44
45 RUN make >> /fmildebug.log 2>&1
46 RUN make install test >> /fmildebug.log 2>&1
47
48 COPY native /builds/native
49 WORKDIR /builds/native/FMUSimulator
50
51 COPY ./linuxbuild/copytovolume.sh /copytovolume.sh
52 COPY ./linuxbuild/linuxbuild.sh /linuxbuild.sh
53 COPY ./linuxbuild/linuxdebugbuild.sh /linuxdebugbuild.sh
54
55 RUN chmod 755 /linuxbuild.sh && \
56         chmod 755 /linuxdebugbuild.sh
57
58 RUN /linuxbuild.sh >> /builds/native/fmusimulator.log 2>&1
59 RUN /linuxdebugbuild.sh >> /builds/native/fmusimulatordebug.log 2>&1
60
61 RUN chmod 755 /copytovolume.sh
62 ENTRYPOINT /copytovolume.sh