aboutsummaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml114
1 files changed, 71 insertions, 43 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c0d0330..f48f1ab 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,48 +2,45 @@ stages:
- build
- deploy
-variables:
- GIT_SUBMODULE_STRATEGY: normal
-
.build_template: &build_definition
stage: build
arm32_dbg:
<<: *build_definition
image: lv2plugin/debian-arm32
- script: python ./waf configure build -dST --werror --no-coverage
- variables:
- CC: "arm-linux-gnueabihf-gcc"
- CXX: "arm-linux-gnueabihf-g++"
+ script:
+ - meson setup build --cross-file=/usr/share/meson/cross/arm-linux-gnueabihf.ini -Dbuildtype=debug -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true
+ - ninja -C build
arm32_rel:
<<: *build_definition
image: lv2plugin/debian-arm32
- script: python ./waf configure build -ST --werror --no-coverage
- variables:
- CC: "arm-linux-gnueabihf-gcc"
- CXX: "arm-linux-gnueabihf-g++"
+ script:
+ - meson setup build --cross-file=/usr/share/meson/cross/arm-linux-gnueabihf.ini -Dbuildtype=release -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true
+ - ninja -C build
+
arm64_dbg:
<<: *build_definition
image: lv2plugin/debian-arm64
- script: python ./waf configure build -dST --werror --no-coverage
- variables:
- CC: "aarch64-linux-gnu-gcc"
- CXX: "aarch64-linux-gnu-g++"
+ script:
+ - meson setup build --cross-file=/usr/share/meson/cross/aarch64-linux-gnu.ini -Dbuildtype=debug -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true
+ - ninja -C build
arm64_rel:
<<: *build_definition
image: lv2plugin/debian-arm64
- script: python ./waf configure build -ST --werror --no-coverage
- variables:
- CC: "aarch64-linux-gnu-gcc"
- CXX: "aarch64-linux-gnu-g++"
+ script:
+ - meson setup build --cross-file=/usr/share/meson/cross/aarch64-linux-gnu.ini -Dbuildtype=release -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true
+ - ninja -C build
+
x64_dbg:
<<: *build_definition
image: lv2plugin/debian-x64
- script: python3 ./waf configure build -dST --werror --no-coverage --docs
+ script:
+ - meson setup build -Dbuildtype=debug -Ddocs=enabled -Dwerror=true -Dexamples=true -Dtests=true
+ - ninja -C build
artifacts:
paths:
- build/doc
@@ -51,60 +48,91 @@ x64_dbg:
x64_rel:
<<: *build_definition
image: lv2plugin/debian-x64
- script: python ./waf configure build -ST --werror --no-coverage
+ script:
+ - meson setup build -Dbuildtype=release -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true
+ - ninja -C build
+
+
+x64_static:
+ <<: *build_definition
+ image: lv2plugin/debian-x64
+ script:
+ - meson setup build -Ddefault_library=static -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true
+ - ninja -C build
+
+
+x64_sanitize:
+ <<: *build_definition
+ image: lv2plugin/debian-x64-clang
+ script:
+ - meson setup build -Db_lundef=false -Dbuildtype=plain -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true
+ - ninja -C build
+ 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: python ./waf configure build -dST --werror --no-coverage --target=win32
- variables:
- CC: "i686-w64-mingw32-gcc"
- CXX: "i686-w64-mingw32-g++"
+ script:
+ - meson setup build --cross-file=/usr/share/meson/cross/i686-w64-mingw32.ini -Dbuildtype=debug -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true
+ - ninja -C build
mingw32_rel:
<<: *build_definition
image: lv2plugin/debian-mingw32
- script: python ./waf configure build -ST --werror --no-coverage --target=win32
- variables:
- CC: "i686-w64-mingw32-gcc"
- CXX: "i686-w64-mingw32-g++"
+ script:
+ - meson setup build --cross-file=/usr/share/meson/cross/i686-w64-mingw32.ini -Dbuildtype=release -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true
+ - ninja -C build
+
mingw64_dbg:
<<: *build_definition
image: lv2plugin/debian-mingw64
- script: python ./waf configure build -dST --werror --no-coverage --target=win32
- variables:
- CC: "x86_64-w64-mingw32-gcc"
- CXX: "x86_64-w64-mingw32-g++"
+ script:
+ - meson setup build --cross-file=/usr/share/meson/cross/x86_64-w64-mingw32.ini -Dbuildtype=debug -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true
+ - ninja -C build
mingw64_rel:
<<: *build_definition
image: lv2plugin/debian-mingw64
- script: python ./waf configure build -ST --werror --no-coverage --target=win32
- variables:
- CC: "x86_64-w64-mingw32-gcc"
- CXX: "x86_64-w64-mingw32-g++"
+ script:
+ - meson setup build --cross-file=/usr/share/meson/cross/x86_64-w64-mingw32.ini -Dbuildtype=release -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true
+ - ninja -C build
+
mac_dbg:
<<: *build_definition
- script: python ./waf configure build -dST --werror --no-coverage
tags: [macos]
+ script:
+ - meson setup build -Dbuildtype=debug -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true
+ - ninja -C build
mac_rel:
<<: *build_definition
- script: python ./waf configure build -ST --werror --no-coverage
tags: [macos]
+ script:
+ - meson setup build -Dbuildtype=release -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true
+ - ninja -C build
+
win_dbg:
<<: *build_definition
+ tags: [windows,meson]
script:
- - python ./waf configure build -dST --werror --no-coverage
- tags: [windows,msvc,python]
+ - meson setup build -Dbuildtype=debug -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true
+ - ninja -C build
win_rel:
<<: *build_definition
- script: python ./waf configure build -ST --werror --no-coverage
- tags: [windows,msvc,python]
+ tags: [windows,meson]
+ script:
+ - meson setup build -Dbuildtype=release -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true
+ - ninja -C build
pages:
stage: deploy