Compare commits

...

4 Commits

Author SHA1 Message Date
Joshua Ashton 4332f0c9fd build: Add .gitlab-ci
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-29 15:49:12 +01:00
Joshua Ashton 15d273d9ea build: Add package-release helper
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-29 15:47:00 +01:00
Joshua Ashton 77cec90b0b build: Disable some extra warnings
Disabled -Wmissing-field-initializers and -Wunused-parameters

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-29 15:47:00 +01:00
Joshua Ashton 7ba71a0df8 build: Only find demo dependencies if building demos
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-29 15:43:17 +01:00
3 changed files with 91 additions and 5 deletions

9
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,9 @@
vkd3d:
variables:
GIT_SUBMODULE_STRATEGY: recursive
script:
- ./package-release.sh release build --no-package
artifacts:
name: "vkd3d-${CI_COMMIT_REF_NAME}.${CI_COMMIT_SHA}"
paths:
- build/vkd3d-release

View File

@ -34,10 +34,6 @@ threads_dep = dependency('threads')
vkd3d_platform = target_machine.system()
if vkd3d_platform == 'linux'
lib_dl = vkd3d_compiler.find_library('dl')
# For the demos...
lib_m = vkd3d_compiler.find_library('m')
lib_xcb = vkd3d_compiler.find_library('xcb')
lib_xcbkeysyms = vkd3d_compiler.find_library('xcb-keysyms')
vkd3d_extra_libs = [ lib_dl, threads_dep ]
elif vkd3d_platform == 'windows'
lib_dxgi = vkd3d_compiler.find_library('dxgi')
@ -51,7 +47,9 @@ add_project_arguments(vkd3d_compiler.get_supported_arguments([
'-Wno-format',
'-Wno-discarded-qualifiers',
'-Wno-incompatible-pointer-types',
'-Wno-missing-braces']),
'-Wno-missing-braces',
'-Wno-missing-field-initializers',
'-Wno-unused-parameter']),
language : 'c')
vkd3d_version = vcs_tag(
@ -73,6 +71,10 @@ if enable_tests
endif
if enable_extras
lib_m = vkd3d_compiler.find_library('m')
lib_xcb = vkd3d_compiler.find_library('xcb')
lib_xcbkeysyms = vkd3d_compiler.find_library('xcb-keysyms')
if not lib_d3d12.found()
lib_d3d12 = vkd3d_utils_dep
warning('No d3d12 lib, falling back to vkd3d_utils for extras...')

75
package-release.sh Executable file
View File

@ -0,0 +1,75 @@
#!/bin/bash
set -e
shopt -s extglob
if [ -z "$1" ] || [ -z "$2" ]; then
echo "Usage: $0 version destdir [--no-package] [--dev-build]"
exit 1
fi
VKD3D_VERSION="$1"
VKD3D_SRC_DIR=`dirname $(readlink -f $0)`
VKD3D_BUILD_DIR=$(realpath "$2")"/vkd3d-$VKD3D_VERSION"
VKD3D_ARCHIVE_PATH=$(realpath "$2")"/vkd3d-$VKD3D_VERSION.tar.zst"
if [ -e "$VKD3D_BUILD_DIR" ]; then
echo "Build directory $VKD3D_BUILD_DIR already exists"
exit 1
fi
shift 2
opt_nopackage=0
opt_devbuild=0
crossfile="build-win"
while [ $# -gt 0 ]; do
case "$1" in
"--no-package")
opt_nopackage=1
;;
"--dev-build")
opt_nopackage=1
opt_devbuild=1
;;
*)
echo "Unrecognized option: $1" >&2
exit 1
esac
shift
done
function build_arch {
cd "$VKD3D_SRC_DIR"
meson $2 \
--buildtype "release" \
--prefix "$VKD3D_BUILD_DIR" \
--strip \
--bindir "x$1" \
--libdir "x$1" \
"$VKD3D_BUILD_DIR/build.$1"
cd "$VKD3D_BUILD_DIR/build.$1"
ninja install
if [ $opt_devbuild -eq 0 ]; then
rm -R "$VKD3D_BUILD_DIR/build.$1"
fi
}
function package {
cd "$VKD3D_BUILD_DIR/.."
tar -caf "$VKD3D_ARCHIVE_PATH" "vkd3d-$VKD3D_VERSION"
rm -R "vkd3d-$VKD3D_VERSION"
}
build_arch 64
build_arch 86 "--cross-file x86-linux-gnu"
if [ $opt_nopackage -eq 0 ]; then
package
fi