diff options
author | David Robillard <d@drobilla.net> | 2022-06-27 12:59:34 -0400 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2022-07-10 13:39:53 -0400 |
commit | 5e78edf6e09373938a796cf44fb38d2309d04b4d (patch) | |
tree | e80618e5e092dcb3d9501a2568cf67489fe3d1bd /.gitlab-ci.yml | |
parent | bcc1c936b15782d8fa59e2ebf471cf686527135c (diff) | |
download | serd-5e78edf6e09373938a796cf44fb38d2309d04b4d.tar.gz serd-5e78edf6e09373938a796cf44fb38d2309d04b4d.tar.bz2 serd-5e78edf6e09373938a796cf44fb38d2309d04b4d.zip |
Switch to meson build system
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 125 |
1 files changed, 56 insertions, 69 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 41438bd3..764055b4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,174 +5,161 @@ variables: .build_template: &build_definition stage: build - artifacts: - paths: ["build/", ".lock-waf*"] - arm32_dbg: <<: *build_definition image: lv2plugin/debian-arm32 script: - - python3 ./waf configure build test -dST --no-coverage --werror --wrapper=qemu-arm-static - variables: - AR: "arm-linux-gnueabihf-ar" - CC: "arm-linux-gnueabihf-gcc" - CFLAGS: "-O0 -g -D_FILE_OFFSET_BITS=64" - CXX: "arm-linux-gnueabihf-g++" - CXXFLAGS: "-O0 -g -D_FILE_OFFSET_BITS=64" + - 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: - - python3 ./waf configure build -ST --werror --no-coverage --wrapper=qemu-arm-static - variables: - AR: "arm-linux-gnueabihf-ar" - CC: "arm-linux-gnueabihf-gcc" - CFLAGS: "-O2 -DNDEBUG -D_FILE_OFFSET_BITS=64" - CXX: "arm-linux-gnueabihf-g++" - CXXFLAGS: "-O2 -DNDEBUG -D_FILE_OFFSET_BITS=64" + - 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: - - python3 ./waf configure build test -dST --werror --no-coverage --wrapper=qemu-aarch64-static - variables: - AR: "aarch64-linux-gnu-ar" - CC: "aarch64-linux-gnu-gcc" - CXX: "aarch64-linux-gnu-g++" + - 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: - - python3 ./waf configure build test -ST --werror --no-coverage --wrapper=qemu-aarch64-static - variables: - AR: "aarch64-linux-gnu-ar" - CC: "aarch64-linux-gnu-gcc" - CXX: "aarch64-linux-gnu-g++" + - 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: - - python3 ./waf configure build test -dST --werror --docs + - meson setup build -Dbuildtype=debug -Ddocs=enabled -Dstrict=true -Dwerror=true -Db_coverage=true + - ninja -C build test + - ninja -C build coverage-html - mkdir -p build/doc/ - cp doc/*.svg build/doc/ - - cp doc/mandoc.css build/doc/ - - mandoc -Thtml -Werror -O style=mandoc.css doc/serdi.1 > build/doc/serdi.html artifacts: paths: - build/doc - - build/coverage + - build/meson-logs/coveragereport x64_rel: <<: *build_definition image: lv2plugin/debian-x64 script: - - python3 ./waf configure build test -ST --werror + - meson setup build -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true + - ninja -C build test + x64_static: <<: *build_definition image: lv2plugin/debian-x64 script: - - python3 ./waf configure build test -ST --werror --no-posix --static-progs + - meson setup build -Ddocs=disabled -Dstrict=true -Dwerror=true -Dstatic=true -Ddefault_library=static + - ninja -C build test + x64_sanitize: <<: *build_definition image: lv2plugin/debian-x64-clang script: - - python3 ./waf configure build test -ST --werror --no-coverage + - meson setup build -Db_lundef=false -Dbuildtype=plain -Ddocs=disabled -Dstrict=true -Dwerror=true + - ninja -C build test variables: CC: "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" 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" - LINKFLAGS: "-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: - - python3 ./waf configure build -dST --werror --no-coverage --wrapper=wine + - meson setup build --cross-file=/usr/share/meson/cross/i686-w64-mingw32.ini -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true + - ninja -C build variables: - AR: "i686-w64-mingw32-ar" - CC: "i686-w64-mingw32-gcc" - CXX: "i686-w64-mingw32-g++" + WINEPATH: "Z:\\usr\\lib\\gcc\\i686-w64-mingw32\\10-win32" mingw32_rel: <<: *build_definition image: lv2plugin/debian-mingw32 script: - - python3 ./waf configure build -ST --werror --no-coverage --wrapper=wine + - meson setup build --cross-file=/usr/share/meson/cross/i686-w64-mingw32.ini -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true + - ninja -C build variables: - AR: "i686-w64-mingw32-ar" - CC: "i686-w64-mingw32-gcc" - CXX: "i686-w64-mingw32-g++" + WINEPATH: "Z:\\usr\\lib\\gcc\\i686-w64-mingw32\\10-win32" mingw64_dbg: <<: *build_definition image: lv2plugin/debian-mingw64 script: - - python3 ./waf configure build -dST --werror --no-coverage --wrapper=wine + - 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: - AR: "x86_64-w64-mingw32-ar" - CC: "x86_64-w64-mingw32-gcc" - CXX: "x86_64-w64-mingw32-g++" + WINEPATH: "Z:\\usr\\lib\\gcc\\x86_64-w64-mingw32\\8.3-win32" mingw64_rel: <<: *build_definition image: lv2plugin/debian-mingw64 script: - - python3 ./waf configure build -ST --werror --no-coverage --wrapper=wine + - 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: - AR: "x86_64-w64-mingw32-ar" - CC: "x86_64-w64-mingw32-gcc" - CXX: "x86_64-w64-mingw32-g++" + WINEPATH: "Z:\\usr\\lib\\gcc\\x86_64-w64-mingw32\\8.3-win32" mac_dbg: <<: *build_definition - script: - - python ./waf configure build test -dST --werror --no-coverage tags: [macos] + script: + - meson setup build -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true + - ninja -C build test mac_rel: <<: *build_definition - script: - - python ./waf configure build test -ST --werror --no-coverage 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: - - python ./waf configure build test -dST --werror --no-coverage - tags: [windows,msvc,python] + - meson setup build -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true + - ninja -C build test win_rel: <<: *build_definition + tags: [windows,meson] script: - - python ./waf configure build test -ST --werror --no-coverage - tags: [windows,msvc,python] - + - meson setup build -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true + - ninja -C build test pages: stage: deploy script: - - mkdir -p .public/doc - - mkdir -p .public/man - - mkdir -p .public/c - - mv build/doc/c/singlehtml .public/c/singlehtml - - mv build/doc/c/html .public/c/html - - mv build/doc/serdi.html .public/man/serdi.html - - mv build/doc/mandoc.css .public/man/mandoc.css - - mv .public public + - mkdir public + - mkdir public/c + - mkdir public/man + - mv build/meson-logs/coveragereport/ public/coverage + - mv build/doc/c/html/ public/c/html/ + - mv build/doc/c/singlehtml/ public/c/singlehtml/ + - mv build/doc/serdi.html public/man/serdi.html + - mv build/doc/mandoc.css public/man/mandoc.css + needs: + - x64_dbg artifacts: paths: - public |