aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShadowNinja <shadowninja@minetest.net>2022-01-31 19:42:24 -0500
committerrubenwardy <rw@rubenwardy.com>2022-04-08 14:55:21 +0100
commit24a0f55c9c84b2625a564fd07d9da75eaac9c60d (patch)
tree36d704d98a7605ffae40e025ea3f88fd1cb058d5
parentf5e54cd39845aeeff50cdbebf625abf3c4a5b92d (diff)
downloadminetest-24a0f55c9c84b2625a564fd07d9da75eaac9c60d.tar.gz
minetest-24a0f55c9c84b2625a564fd07d9da75eaac9c60d.tar.bz2
minetest-24a0f55c9c84b2625a564fd07d9da75eaac9c60d.zip
Use CMake's -B, --build, and --install options
-rw-r--r--.gitlab-ci.yml4
-rw-r--r--Dockerfile17
-rwxr-xr-xutil/buildbot/buildwin32.sh8
-rwxr-xr-xutil/buildbot/buildwin64.sh8
-rwxr-xr-xutil/ci/build.sh8
-rwxr-xr-xutil/ci/clang-tidy.sh10
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 \