No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

42 líneas
1.5KB

  1. SHELL:=/bin/bash
  2. ubuntu2004:
  3. git clone https://github.com/rayburgemeestre/fmt --branch 7.1.3
  4. bash ../ubuntu2004.sh make impl
  5. bash ../ubuntu2004.sh make impl-emscripten
  6. make package-ubuntu2004
  7. bash ../ubuntu2004.sh chown $$(id -u):$$(id -g) . -R # fix permissions
  8. impl:
  9. switch-to-latest-clang
  10. apt-get update && apt-get install libz-dev -y && \
  11. pushd fmt && \
  12. mkdir build && pushd build && \
  13. CXX=$$(which c++) cmake -DCMAKE_C_FLAGS=-fPIC -DFMT_TEST=off -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_INSTALL_PREFIX=$$PWD/fmt_out .. && \
  14. make -j $$(nproc) && \
  15. make install
  16. impl-emscripten:
  17. switch-to-latest-clang
  18. apt-get update && apt-get install libz-dev -y && \
  19. pushd fmt && \
  20. mkdir build2 && pushd build2 && \
  21. CXX=/emsdk/upstream/emscripten/em++ cmake -DFMT_TEST=off -DCMAKE_C_FLAGS=-fPIC -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_INSTALL_PREFIX=$$PWD/fmt_out .. && \
  22. make -j $$(nproc) && \
  23. make install
  24. package-ubuntu2004:
  25. rm -rf out
  26. mkdir -p out/opt/cppse/build/fmt
  27. cp -prv fmt/build/fmt_out/* out/opt/cppse/build/fmt/
  28. cp -prv fmt/build2/fmt_out/lib/libfmt.a out/opt/cppse/build/fmt/lib/libfmt-em.a
  29. rm -rf fmt_*_amd64.deb
  30. docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n fmt --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "fmt - build dependency" --url "https://github.com/mattgodbolt/fmt" --deb-generate-changes -C /src/out
  31. clean:
  32. rm -rf fmt
  33. rm -rf out
  34. shell:
  35. FLAGS="-i --privileged" bash ../ubuntu2004.sh /bin/bash