poco.dockerfile 959 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. FROM buildpack-deps:xenial
  2. RUN apt update -yqq && apt install -yqq software-properties-common unzip cmake
  3. RUN apt install -yqq g++-4.8 libjson0-dev
  4. RUN update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50
  5. ENV POCO_VERSION 1.6.1
  6. ENV POCO_HOME /poco
  7. WORKDIR ${POCO_HOME}
  8. RUN curl -sL http://pocoproject.org/releases/poco-${POCO_VERSION}/poco-${POCO_VERSION}-all.tar.gz | tar xz --strip-components=1
  9. RUN ./configure --no-tests --no-samples
  10. RUN make --quiet PageCompiler-libexec XML-libexec JSON-libexec
  11. ENV LD_LIBRARY_PATH ${POCO_HOME}/lib/Linux/x86_64
  12. COPY benchmark.cpp benchmark.cpp
  13. RUN g++-4.8 \
  14. -O3 \
  15. -DNDEBUG \
  16. -std=c++0x \
  17. -o \
  18. poco \
  19. benchmark.cpp \
  20. -I${POCO_HOME}/Foundation/include \
  21. -I${POCO_HOME}/Util/include \
  22. -I${POCO_HOME}/Net/include \
  23. -L${POCO_HOME}/lib/Linux/x86_64 \
  24. -lPocoNet \
  25. -lPocoUtil \
  26. -lPocoFoundation \
  27. -lPocoXML \
  28. -lPocoJSON
  29. CMD ./poco 8080 $(nproc)