Serd subproject with meson
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

160 lines
4.8 KiB

stages:
- build
- deploy
.build_template: &build_definition
stage: build
arm32_dbg:
<<: *build_definition
image: lv2plugin/debian-arm32
script:
- meson setup build --cross-file=/usr/share/meson/cross/arm-linux-gnueabihf.ini -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true
- ninja -C build test
arm32_rel:
<<: *build_definition
image: lv2plugin/debian-arm32
script:
- meson setup build --cross-file=/usr/share/meson/cross/arm-linux-gnueabihf.ini -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true
- ninja -C build test
arm64_dbg:
<<: *build_definition
image: lv2plugin/debian-arm64
script:
- meson setup build --cross-file=/usr/share/meson/cross/aarch64-linux-gnu.ini -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true
- ninja -C build test
arm64_rel:
<<: *build_definition
image: lv2plugin/debian-arm64
script:
- meson setup build --cross-file=/usr/share/meson/cross/aarch64-linux-gnu.ini -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true
- ninja -C build test
x64_dbg:
<<: *build_definition
image: lv2plugin/debian-x64
script:
- meson setup build -Dbuildtype=debug -Ddocs=enabled -Dstrict=true -Dwerror=true
- ninja -C build test
artifacts:
paths:
- build/doc
x64_rel:
<<: *build_definition
image: lv2plugin/debian-x64
script:
- meson setup build -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true
- ninja -C build test
x64_static:
<<: *build_definition
image: lv2plugin/debian-x64
script:
- meson setup build -Ddefault_library=static -Ddocs=disabled -Dstrict=true -Dwerror=true
- ninja -C build test
x64_sanitize:
<<: *build_definition
image: lv2plugin/debian-x64-clang
script:
- meson setup build -Db_lundef=false -Dbuildtype=plain -Ddocs=disabled -Dstrict=true -Dwerror=true
- ninja -C build test
variables:
CC: "clang"
CXX: "clang++"
CFLAGS: "-fno-sanitize-recover=all -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=unsigned-integer-overflow -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability"
CXXFLAGS: "-fno-sanitize-recover=all -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=unsigned-integer-overflow -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability"
LDFLAGS: "-fno-sanitize-recover=all -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=unsigned-integer-overflow -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability"
mingw32_dbg:
<<: *build_definition
image: lv2plugin/debian-mingw32
script:
- meson setup build --cross-file=/usr/share/meson/cross/i686-w64-mingw32.ini -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true
- ninja -C build test
variables:
MESON_TESTTHREADS: "1"
WINEPATH: "Z:\\usr\\lib\\gcc\\i686-w64-mingw32\\8.3-win32"
mingw32_rel:
<<: *build_definition
image: lv2plugin/debian-mingw32
script:
- meson setup build --cross-file=/usr/share/meson/cross/i686-w64-mingw32.ini -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true
- ninja -C build test
variables:
MESON_TESTTHREADS: "1"
WINEPATH: "Z:\\usr\\lib\\gcc\\i686-w64-mingw32\\8.3-win32"
mingw64_dbg:
<<: *build_definition
image: lv2plugin/debian-mingw64
script:
- meson setup build --cross-file=/usr/share/meson/cross/x86_64-w64-mingw32.ini -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true
- ninja -C build test
variables:
MESON_TESTTHREADS: "1"
mingw64_rel:
<<: *build_definition
image: lv2plugin/debian-mingw64
script:
- meson setup build --cross-file=/usr/share/meson/cross/x86_64-w64-mingw32.ini -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true
- ninja -C build test
variables:
MESON_TESTTHREADS: "1"
mac_dbg:
<<: *build_definition
tags: [macos]
script:
- meson setup build -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true
- ninja -C build test
mac_rel:
<<: *build_definition
tags: [macos]
script:
- meson setup build -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true
- ninja -C build test
win_dbg:
<<: *build_definition
tags: [windows,meson]
script:
- meson setup build -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true
- ninja -C build test
win_rel:
<<: *build_definition
tags: [windows,meson]
script:
- meson setup build -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true
- ninja -C build test
pages:
stage: deploy
script:
- mkdir public
- mkdir public/c
- mv build/doc/c/singlehtml/ public/c/singlehtml/
dependencies:
- x64_dbg
artifacts:
paths:
- public
only:
- master