CI: allow environment to select Qt version for release and ABI
This commit is contained in:
parent
389429cd10
commit
ffc37872c3
@ -34,6 +34,7 @@
|
|||||||
# * BUILD_CLANG set to `false` to avoid second build with clang
|
# * BUILD_CLANG set to `false` to avoid second build with clang
|
||||||
# * BUILD_ONLY set to `true` to break after building
|
# * BUILD_ONLY set to `true` to break after building
|
||||||
# * TEST_TARBALL set to 'false' to skip build-and-test phase after tarring
|
# * TEST_TARBALL set to 'false' to skip build-and-test phase after tarring
|
||||||
|
# * QT_VERSION set to nothing (uses default), 5 or 6
|
||||||
#
|
#
|
||||||
### END USAGE
|
### END USAGE
|
||||||
|
|
||||||
@ -70,11 +71,18 @@ while getopts "hBbPT" opt ; do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
if $STRING_FREEZE ; then
|
if $STRING_FREEZE ; then
|
||||||
sh ci/txcheck.sh || { echo "! String freeze failed." ; exit 1 ; }
|
sh ci/txcheck.sh || { echo "! String freeze failed." ; exit 1 ; }
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Via environment, not command-line
|
||||||
|
case "$QT_VERSION" in
|
||||||
|
5) extra_cmake_args="-DWITH_QT6=OFF" ;;
|
||||||
|
6) extra_cmake_args="-DWITH_QT6=ON" ;;
|
||||||
|
"") extra_cmake_args="" ;;
|
||||||
|
*) echo "Invalid QT_VERSION environment '${QT_VERSION}'" ; exit 1 ; ;;
|
||||||
|
esac
|
||||||
|
|
||||||
### Setup
|
### Setup
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
@ -102,7 +110,7 @@ test -n "$V" || { echo "Could not obtain version in $BUILDDIR ." ; exit 1 ; }
|
|||||||
if test "x$BUILD_DEFAULT" = "xtrue" ; then
|
if test "x$BUILD_DEFAULT" = "xtrue" ; then
|
||||||
rm -rf "$BUILDDIR"
|
rm -rf "$BUILDDIR"
|
||||||
mkdir "$BUILDDIR" || { echo "Could not create build directory." ; exit 1 ; }
|
mkdir "$BUILDDIR" || { echo "Could not create build directory." ; exit 1 ; }
|
||||||
( cd "$BUILDDIR" && cmake .. && make -j4 ) || { echo "Could not perform test-build in $BUILDDIR." ; exit 1 ; }
|
( cd "$BUILDDIR" && cmake .. $extra_cmake_args && make -j4 ) || { echo "Could not perform test-build in $BUILDDIR." ; exit 1 ; }
|
||||||
( cd "$BUILDDIR" && make test ) || { echo "Tests failed in $BUILDDIR ." ; exit 1 ; }
|
( cd "$BUILDDIR" && make test ) || { echo "Tests failed in $BUILDDIR ." ; exit 1 ; }
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -114,7 +122,7 @@ if test "x$BUILD_CLANG" = "xtrue" ; then
|
|||||||
# Do build again with clang
|
# Do build again with clang
|
||||||
rm -rf "$BUILDDIR"
|
rm -rf "$BUILDDIR"
|
||||||
mkdir "$BUILDDIR" || { echo "Could not create build directory." ; exit 1 ; }
|
mkdir "$BUILDDIR" || { echo "Could not create build directory." ; exit 1 ; }
|
||||||
( cd "$BUILDDIR" && CC=clang CXX=clang++ cmake .. && make -j4 ) || { echo "Could not perform test-build in $BUILDDIR." ; exit 1 ; }
|
( cd "$BUILDDIR" && CC=clang CXX=clang++ cmake .. $extra_cmake_args && make -j4 ) || { echo "Could not perform test-build in $BUILDDIR." ; exit 1 ; }
|
||||||
( cd "$BUILDDIR" && make test ) || { echo "Tests failed in $BUILDDIR (clang)." ; exit 1 ; }
|
( cd "$BUILDDIR" && make test ) || { echo "Tests failed in $BUILDDIR (clang)." ; exit 1 ; }
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@ -131,7 +139,7 @@ else
|
|||||||
# Presumably -B was given; just do the cmake part
|
# Presumably -B was given; just do the cmake part
|
||||||
rm -rf "$BUILDDIR"
|
rm -rf "$BUILDDIR"
|
||||||
mkdir "$BUILDDIR" || { echo "Could not create build directory." ; exit 1 ; }
|
mkdir "$BUILDDIR" || { echo "Could not create build directory." ; exit 1 ; }
|
||||||
( cd "$BUILDDIR" && cmake .. ) || { echo "Could not run cmake in $BUILDDIR ." ; exit 1 ; }
|
( cd "$BUILDDIR" && cmake .. $extra_cmake_args ) || { echo "Could not run cmake in $BUILDDIR ." ; exit 1 ; }
|
||||||
fi
|
fi
|
||||||
|
|
||||||
### Create signed tag
|
### Create signed tag
|
||||||
|
@ -10,6 +10,16 @@
|
|||||||
# least once, maybe twice (if it needs the base-version ABI information
|
# least once, maybe twice (if it needs the base-version ABI information
|
||||||
# and hasn't cached it).
|
# and hasn't cached it).
|
||||||
|
|
||||||
|
# The build settings can be influenced via environment variables:
|
||||||
|
# * QT_VERSION set to nothing (uses default), 5 or 6
|
||||||
|
|
||||||
|
case "$QT_VERSION" in
|
||||||
|
5) extra_cmake_args="-DWITH_QT6=OFF" ;;
|
||||||
|
6) extra_cmake_args="-DWITH_QT6=ON" ;;
|
||||||
|
"") extra_cmake_args="" ;;
|
||||||
|
*) echo "Invalid QT_VERSION environment '${QT_VERSION}'" ; exit 1 ; ;;
|
||||||
|
esac
|
||||||
|
|
||||||
# The base version can be a tag or git-hash; it will be checked-out
|
# The base version can be a tag or git-hash; it will be checked-out
|
||||||
# in a worktree.
|
# in a worktree.
|
||||||
#
|
#
|
||||||
@ -28,7 +38,7 @@ do_build() {
|
|||||||
rm -f $BUILD_DIR.log
|
rm -f $BUILD_DIR.log
|
||||||
|
|
||||||
echo "# Running CMake for $LABEL"
|
echo "# Running CMake for $LABEL"
|
||||||
cmake -S $SOURCE_DIR -B $BUILD_DIR -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-Og -g -gdwarf" -DCMAKE_C_FLAGS="-Og -g -gdwarf" > /dev/null 2>&1
|
cmake -S $SOURCE_DIR -B $BUILD_DIR -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-Og -g -gdwarf" -DCMAKE_C_FLAGS="-Og -g -gdwarf" $extra_cmake_args > /dev/null 2>&1
|
||||||
test -f $BUILD_DIR/Makefile || { echo "! failed to CMake $LABEL" ; exit 1 ; }
|
test -f $BUILD_DIR/Makefile || { echo "! failed to CMake $LABEL" ; exit 1 ; }
|
||||||
|
|
||||||
echo "# Running make for $LABEL"
|
echo "# Running make for $LABEL"
|
||||||
|
Loading…
Reference in New Issue
Block a user