From 24a0f55c9c84b2625a564fd07d9da75eaac9c60d Mon Sep 17 00:00:00 2001 From: ShadowNinja Date: Mon, 31 Jan 2022 19:42:24 -0500 Subject: Use CMake's -B, --build, and --install options --- .gitlab-ci.yml | 4 +++- Dockerfile | 17 +++++++---------- util/buildbot/buildwin32.sh | 8 +++----- util/buildbot/buildwin64.sh | 8 +++----- util/ci/build.sh | 8 +++----- util/ci/clang-tidy.sh | 10 +++------- 6 files changed, 22 insertions(+), 33 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 04b70737d..81007d7c7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,7 +20,9 @@ variables: - DEBIAN_FRONTEND=noninteractive apt-get -y install build-essential git cmake libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libleveldb-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev libzstd-dev script: - git clone https://github.com/minetest/irrlicht -b $IRRLICHT_TAG lib/irrlichtmt - - make -j$(($(nproc) + 1)) + - cmake -B build -DCMAKE_INSTALL_PREFIX=../artifact/minetest/usr/ -DCMAKE_BUILD_TYPE=Release -DRUN_IN_PLACE=FALSE -DENABLE_GETTEXT=TRUE -DBUILD_SERVER=TRUE .. + - cmake --build build --parallel $(($(nproc) + 1)) + - cmake --install build artifacts: when: on_success expire_in: 1h diff --git a/Dockerfile b/Dockerfile index 8d1008fa2..3dd82e772 100644 --- a/Dockerfile +++ b/Dockerfile @@ -27,23 +27,20 @@ RUN apk add --no-cache git build-base cmake sqlite-dev curl-dev zlib-dev zstd-de WORKDIR /usr/src/ RUN git clone --recursive https://github.com/jupp0r/prometheus-cpp/ && \ - mkdir prometheus-cpp/build && \ - cd prometheus-cpp/build && \ - cmake .. \ + cd prometheus-cpp && \ + cmake -B build \ -DCMAKE_INSTALL_PREFIX=/usr/local \ -DCMAKE_BUILD_TYPE=Release \ -DENABLE_TESTING=0 \ -GNinja && \ - ninja && \ - ninja install + cmake --build build && \ + cmake --install build RUN git clone --depth=1 https://github.com/minetest/irrlicht/ -b ${IRRLICHT_VERSION} && \ cp -r irrlicht/include /usr/include/irrlichtmt WORKDIR /usr/src/minetest -RUN mkdir build && \ - cd build && \ - cmake .. \ +RUN cmake -B build \ -DCMAKE_INSTALL_PREFIX=/usr/local \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SERVER=TRUE \ @@ -51,8 +48,8 @@ RUN mkdir build && \ -DBUILD_UNITTESTS=FALSE \ -DBUILD_CLIENT=FALSE \ -GNinja && \ - ninja && \ - ninja install + cmake --build build && \ + cmake --install build ARG DOCKER_IMAGE=alpine:3.14 FROM $DOCKER_IMAGE AS runtime diff --git a/util/buildbot/buildwin32.sh b/util/buildbot/buildwin32.sh index 78b87ec57..bf5c9a0f2 100755 --- a/util/buildbot/buildwin32.sh +++ b/util/buildbot/buildwin32.sh @@ -116,14 +116,12 @@ git_hash=$(cd $sourcedir && git rev-parse --short HEAD) # Build the thing cd $builddir [ -d build ] && rm -rf build -mkdir build -cd build irr_dlls=$(echo $libdir/irrlicht/lib/*.dll | tr ' ' ';') vorbis_dlls=$(echo $libdir/libvorbis/bin/libvorbis{,file}-*.dll | tr ' ' ';') gettext_dlls=$(echo $libdir/gettext/bin/lib{intl,iconv}-*.dll | tr ' ' ';') -cmake -S $sourcedir -B . \ +cmake -S $sourcedir -B build \ -DCMAKE_TOOLCHAIN_FILE=$toolchain_file \ -DCMAKE_INSTALL_PREFIX=/tmp \ -DVERSION_EXTRA=$git_hash \ @@ -184,9 +182,9 @@ cmake -S $sourcedir -B . \ -DLEVELDB_LIBRARY=$libdir/leveldb/lib/libleveldb.dll.a \ -DLEVELDB_DLL=$libdir/leveldb/bin/libleveldb.dll -make -j$(nproc) +cmake --build build -j$(nproc) -[ -z "$NO_PACKAGE" ] && make package +[ -z "$NO_PACKAGE" ] && cmake --build build --target package exit 0 # EOF diff --git a/util/buildbot/buildwin64.sh b/util/buildbot/buildwin64.sh index 7526cc200..30920cf53 100755 --- a/util/buildbot/buildwin64.sh +++ b/util/buildbot/buildwin64.sh @@ -113,14 +113,12 @@ git_hash=$(cd $sourcedir && git rev-parse --short HEAD) # Build the thing cd $builddir [ -d build ] && rm -rf build -mkdir build -cd build irr_dlls=$(echo $libdir/irrlicht/lib/*.dll | tr ' ' ';') vorbis_dlls=$(echo $libdir/libvorbis/bin/libvorbis{,file}-*.dll | tr ' ' ';') gettext_dlls=$(echo $libdir/gettext/bin/lib{intl,iconv}-*.dll | tr ' ' ';') -cmake -S $sourcedir -B . \ +cmake -S $sourcedir -B build \ -DCMAKE_TOOLCHAIN_FILE=$toolchain_file \ -DCMAKE_INSTALL_PREFIX=/tmp \ -DVERSION_EXTRA=$git_hash \ @@ -181,9 +179,9 @@ cmake -S $sourcedir -B . \ -DLEVELDB_LIBRARY=$libdir/leveldb/lib/libleveldb.dll.a \ -DLEVELDB_DLL=$libdir/leveldb/bin/libleveldb.dll -make -j$(nproc) +cmake --build build -j$(nproc) -[ -z "$NO_PACKAGE" ] && make package +[ -z "$NO_PACKAGE" ] && cmake --build build --target package exit 0 # EOF diff --git a/util/ci/build.sh b/util/ci/build.sh index fb2ec945f..435cc11da 100755 --- a/util/ci/build.sh +++ b/util/ci/build.sh @@ -1,8 +1,6 @@ #! /bin/bash -e -mkdir build -cd build -cmake -DCMAKE_BUILD_TYPE=Debug \ +cmake -B build -DCMAKE_BUILD_TYPE=Debug \ -DRUN_IN_PLACE=TRUE -DENABLE_GETTEXT=TRUE \ - -DBUILD_SERVER=TRUE ${CMAKE_FLAGS} .. -make -j$(($(nproc) + 1)) + -DBUILD_SERVER=TRUE ${CMAKE_FLAGS} +cmake --build build --parallel $(($(nproc) + 1)) diff --git a/util/ci/clang-tidy.sh b/util/ci/clang-tidy.sh index 74578eeac..e678cf3b9 100755 --- a/util/ci/clang-tidy.sh +++ b/util/ci/clang-tidy.sh @@ -1,15 +1,11 @@ #! /bin/bash -eu -mkdir -p build -cd build -cmake -DCMAKE_BUILD_TYPE=Debug \ +cmake -B build -DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ -DRUN_IN_PLACE=TRUE \ -DENABLE_{GETTEXT,SOUND}=FALSE \ - -DBUILD_SERVER=TRUE .. -make GenerateVersion - -cd .. + -DBUILD_SERVER=TRUE +cmake --build build --target GenerateVersion ./util/ci/run-clang-tidy.py \ -clang-tidy-binary=clang-tidy-9 -p build \ -- cgit v1.2.3