|
- SHELL:=/bin/bash
-
- UBUNTU_VERSION ?= 2404
- CODENAME ?= noble
-
- VERSION:=3.0.1
-
- build: $(CODENAME)/cppse-vivid_$(VERSION)_amd64.deb
-
- $(CODENAME)/cppse-vivid_$(VERSION)_amd64.deb:
- mkdir -p $(CODENAME)
- make ubuntu$(UBUNTU_VERSION)
-
- ubuntu$(UBUNTU_VERSION):
- git clone -b v3.0.1 https://github.com/gurki/vivid || true
- bash ../ubuntu$(UBUNTU_VERSION).sh make impl
- bash ../ubuntu$(UBUNTU_VERSION).sh make impl-emscripten
- make package-ubuntu$(UBUNTU_VERSION)
- bash ../ubuntu$(UBUNTU_VERSION).sh chown $$(id -u):$$(id -g) . -R # fix permissions
-
- impl:
- git config --global --add safe.directory '*'
- switch-to-latest-clang
- # patch away issue of adding tests, currently catch is broken in clang 14.
- cat vivid/CMakeLists.txt | head -n -1 > vivid/CMakeLists.txt.new
- mv vivid/CMakeLists.txt.new vivid/CMakeLists.txt
- # build without tests for now
- mkdir -p vivid_out && \
- pushd vivid && \
- mkdir -p build && \
- pushd build && \
- cmake -DCMAKE_C_FLAGS=-fPIC -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=$$PWD/../vivid_out .. && \
- make -j $$(nproc) && \
- make install
-
- impl-emscripten:
- git config --global --add safe.directory '*'
- switch-to-latest-clang
- # patch away issue of adding tests, currently catch is broken in clang 14.
- cat vivid/CMakeLists.txt | head -n -1 > vivid/CMakeLists.txt.new
- mv vivid/CMakeLists.txt.new vivid/CMakeLists.txt
- # build without tests for now
- mkdir -p vivid_out && \
- pushd vivid && \
- mkdir -p build2 && \
- pushd build2 && \
- CXX=/emsdk/upstream/emscripten/em++ cmake -DCMAKE_C_FLAGS=-fPIC -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=$$PWD/../vivid_out2 .. && \
- make -j $$(nproc) && \
- make install
-
- package-ubuntu$(UBUNTU_VERSION):
- rm -rf out
- mkdir -p out/opt/cppse/build/vivid/
- cp -prv vivid/vivid_out/* out/opt/cppse/build/vivid/
- # emscripten version
- cp -prv vivid/vivid_out2/lib/libvivid.a out/opt/cppse/build/vivid/lib/libvivid-em.a
- cp -prv vivid/build/_deps/glm-src/glm out/opt/cppse/build/vivid/include/
- rm -rf $(CODENAME)/cppse-vivid_*_amd64.deb
- docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-vivid --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "vivid - build dependency" --url "https://github.com/gurki/vivid.git" --deb-generate-changes -C /src/out
- mv -v cppse-vivid_*_amd64.deb $(CODENAME)/
-
- clean:
- rm -rf vivid
- rm -rf out
-
- shell:
- FLAGS="-i --privileged" bash ../ubuntu2204.sh /bin/bash
|