diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 32825bb19..35ea2d488 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -65,7 +65,7 @@ prepare:debian-arm64:docker-dev: # Stage: build ############################################################################## -build:fedora:x86_64: +build:base: stage: build script: - mkdir -p build && cd build @@ -79,32 +79,38 @@ build:fedora:x86_64: tags: - docker +build:fedora:x86_64: + extends: build:base + build:fedora-minimal:x86_64: - extends: build:fedora:x86_64 + extends: build:base variables: CMAKE_OPTS: -DWITH_HOOKS=OFF -DWITH_WEB=OFF -DWITH_API=OFF -DWITH_CONFIG=OFF -DWITH_SRC=OFF -DWITH_TOOLS=OFF -DWITH_TESTS=OFF -DWITH_PLUGINS=OFF -DWITH_CLIENTS=OFF -DWITH_DOC=OFF build:ubuntu:x86_64: - extends: build:fedora:x86_64 + extends: build:base variables: DOCKER_IMAGE_DEV: villas/node-dev-ubuntu + CMAKE_OPTS: -DCMAKE_MODULE_PATH=/usr/local/lib64/cmake -DCMAKE_PREFIX_PATH=/usr/local build:raspbian:armv6l: - extends: build:fedora:x86_64 + extends: build:base variables: DOCKER_IMAGE_DEV: villas/node-dev-raspbian CMAKE_OPTS: -DWITH_NODE_INFINIBAND=OFF when: manual build:debian-multiarch:armhf: - extends: build:fedora:x86_64 + extends: build:base variables: DOCKER_IMAGE_DEV: villas/node-dev-debian-armhf + CMAKE_OPTS: -DCMAKE_MODULE_PATH=/usr/local/lib64/cmake -DCMAKE_PREFIX_PATH=/usr/local build:debian-multiarch:arm64: - extends: build:fedora:x86_64 + extends: build:base variables: DOCKER_IMAGE_DEV: villas/node-dev-debian-arm64 + CMAKE_OPTS: -DCMAKE_MODULE_PATH=/usr/local/lib64/cmake -DCMAKE_PREFIX_PATH=/usr/local build:docs: stage: build diff --git a/packaging/docker/Dockerfile.dev-debian-multiarch b/packaging/docker/Dockerfile.dev-debian-multiarch index 804c754d5..828a129cb 100644 --- a/packaging/docker/Dockerfile.dev-debian-multiarch +++ b/packaging/docker/Dockerfile.dev-debian-multiarch @@ -69,9 +69,7 @@ RUN apt-get update && apt-get install -y \ libibverbs-dev:${ARCH} \ librdmacm-dev:${ARCH} \ libre-dev:${ARCH} \ - libusb-1.0-0-dev:${ARCH} \ - libspdlog-dev:${ARCH} \ - libfmt-dev:${ARCH} + libusb-1.0-0-dev:${ARCH} ADD cmake/toolchains/debian-${ARCH}.cmake / @@ -79,7 +77,23 @@ ENV PKG_CONFIG_PATH=/usr/lib/${TRIPLET}/pkgconfig:/usr/local/lib/pkgconfig:/usr/ ENV PKG_CONFIG_LIBDIR=/usr/lib/${TRIPLET}/pkgconfig:/usr/share/pkgconfig ENV CMAKE_OPTS="-DCMAKE_TOOLCHAIN_FILE=/debian-${ARCH}.cmake \ - -DCMAKE_INSTALL_LIBDIR=/usr/lib/${TRIPLET}" + -DCMAKE_INSTALL_LIBDIR=/usr/lib/${TRIPLET}" + +# Build & Install fmtlib +RUN cd /tmp && \ + git clone --recursive https://github.com/fmtlib/fmt.git && \ + mkdir -p fmt/build && cd fmt/build && \ + git checkout 6.0.0 && \ + cmake -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 .. && make -j$(nproc) install && \ + rm -rf /tmp/* + +# Build & Install spdlog +RUN cd /tmp && \ + git clone --recursive https://github.com/gabime/spdlog.git && \ + mkdir -p spdlog/build && cd spdlog/build && \ + git checkout v1.3.1 && \ + cmake -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DSPDLOG_BUILD_BENCH=OFF .. && make -j$(nproc) install && \ + rm -rf /tmp/* # Build & Install libwebsockets RUN cd /tmp && \