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
8 MAINTAINER miro.eklund@semantum.fi
10 ARG fmi='http://www.jmodelica.org/downloads/FMIL/FMILibrary-2.0.3-src.zip'
12 RUN apt-get update && \
15 RUN apt-get install -y wget cmake unzip build-essential patchelf
17 RUN mkdir /builds && \
18 mkdir /builds/fmilsrc && \
19 mkdir /builds/fmil && \
20 mkdir /builds/fmildebug
22 RUN wget -O /builds/fmilsrc/fmil.zip $fmi
24 WORKDIR /builds/fmilsrc
26 RUN unzip /builds/fmilsrc/fmil.zip && \
27 rm /builds/fmilsrc/fmil.zip
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
34 RUN cat /builds/fmilsrc/FMILibrary-2.0.3/src/Util/src/FMI/fmi_util.c
36 RUN cmake /builds/fmilsrc/FMILibrary-2.0.3 >> /fmil.log 2>&1
38 RUN make >> /fmil.log 2>&1
39 RUN make install test >> /fmil.log 2>&1
41 WORKDIR /builds/fmildebug
43 RUN cmake -DFMILIB_ENABLE_LOG_LEVEL_DEBUG=ON /builds/fmilsrc/FMILibrary-2.0.3 >> /fmildebug.log 2>&1
45 RUN make >> /fmildebug.log 2>&1
46 RUN make install test >> /fmildebug.log 2>&1
48 COPY native /builds/native
49 WORKDIR /builds/native/FMUSimulator
51 COPY ./linuxbuild/copytovolume.sh /copytovolume.sh
52 COPY ./linuxbuild/linuxbuild.sh /linuxbuild.sh
53 COPY ./linuxbuild/linuxdebugbuild.sh /linuxdebugbuild.sh
55 RUN chmod 755 /linuxbuild.sh && \
56 chmod 755 /linuxdebugbuild.sh
58 RUN /linuxbuild.sh >> /builds/native/fmusimulator.log 2>&1
59 RUN /linuxdebugbuild.sh >> /builds/native/fmusimulatordebug.log 2>&1
61 RUN chmod 755 /copytovolume.sh
62 ENTRYPOINT /copytovolume.sh