From 34127f861a7757cf8ffe5b58e17ffad7319075bc Mon Sep 17 00:00:00 2001 From: Anurag Thakur Date: Sat, 16 Dec 2023 23:19:47 +0530 Subject: [PATCH] Msbuild test --- .gitlab-ci.yml | 355 +++++++++++++++++++++++++------------------------ 1 file changed, 181 insertions(+), 174 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bb078e244..aeee60710 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,46 +19,46 @@ variables: - '2022' - 'gstreamer-windows' -.build linux common: - # See - # https://gitlab.freedesktop.org/freetype/docker-images/container_registry/20896 - image: 'registry.freedesktop.org/freetype/docker-images/debian:latest' - stage: 'build' - -.build macos common: - stage: 'build' - tags: - - 'gst-macos-11.1' +# .build linux common: +# # See +# # https://gitlab.freedesktop.org/freetype/docker-images/container_registry/20896 +# image: 'registry.freedesktop.org/freetype/docker-images/debian:latest' +# stage: 'build' +# +# .build macos common: +# stage: 'build' +# tags: +# - 'gst-macos-11.1' .build windows meson: extends: '.build windows common' variables: # Make sure any failure in PowerShell scripts is fatal. - ErrorActionPreference: 'Stop' - WarningPreference: 'Stop' + # ErrorActionPreference: 'Stop' + # WarningPreference: 'Stop' # Uncomment the following key if you need to pass custom args, as well # with the `$env:MESON_ARGS` line in the `script:` blocks. # MESON_ARGS: >- # -Dfoo=enabled # -Dbar=disabled - before_script: - # Update RootCAs in order to access to some sites. - - certutil -generateSSTFromWU "C:\roots.sst" - - Import-Certificate -CertStoreLocation "Cert:\LocalMachine\Root" "C:\roots.sst" - # Make sure meson is up to date so we don't need to rebuild the image - # with each release. - - pip3 install -U 'meson==0.59.*' - - pip3 install --upgrade certifi - - pip3 install -U ninja - - # Generate a UWP cross-file in case it's used - - $PSDefaultParameterValues['Out-File:Encoding'] = 'ASCII' - - echo "[binaries]" > uwp-crossfile.meson - - echo "c = 'cl'" >> uwp-crossfile.meson - - echo "strip = ['true']" >> uwp-crossfile.meson - - echo "[built-in options]" >> uwp-crossfile.meson - - echo "c_args = ['-DWINAPI_FAMILY=WINAPI_FAMILY_APP', '-DUNICODE', '-D_WIN32_WINNT=0x0A00', '-we4013']" >> uwp-crossfile.meson - - echo "c_winlibs = ['windowsapp.lib']" >> uwp-crossfile.meson + # before_script: + # # Update RootCAs in order to access to some sites. + # - certutil -generateSSTFromWU "C:\roots.sst" + # - Import-Certificate -CertStoreLocation "Cert:\LocalMachine\Root" "C:\roots.sst" + # # Make sure meson is up to date so we don't need to rebuild the image + # # with each release. + # - pip3 install -U 'meson==0.59.*' + # - pip3 install --upgrade certifi + # - pip3 install -U ninja + # + # # Generate a UWP cross-file in case it's used + # - $PSDefaultParameterValues['Out-File:Encoding'] = 'ASCII' + # - echo "[binaries]" > uwp-crossfile.meson + # - echo "c = 'cl'" >> uwp-crossfile.meson + # - echo "strip = ['true']" >> uwp-crossfile.meson + # - echo "[built-in options]" >> uwp-crossfile.meson + # - echo "c_args = ['-DWINAPI_FAMILY=WINAPI_FAMILY_APP', '-DUNICODE', '-D_WIN32_WINNT=0x0A00', '-we4013']" >> uwp-crossfile.meson + # - echo "c_winlibs = ['windowsapp.lib']" >> uwp-crossfile.meson script: # For some reason, options are separated by newlines instead of spaces, # so we have to replace them first. @@ -69,10 +69,17 @@ variables: # script. Environment variables substitutions is done by PowerShell # before calling `cmd.exe`, that's why we use `$env:FOO` instead of # `%FOO%`. - - cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=$env:ARCH $env:VS_UWP && - meson setup build $env:MESON_ARGS_WINDOWS $env:MESON_ARGS_UWP && - meson compile --verbose -C build - $env:MESON_WINDOWS_TESTS" + # - cmd.exe /c "%VS120COMNTOOLS%\vsvars32.bat" + # - 'call "%VS120COMNTOOLS%\vsvars32.bat"' + # - call $env:VS120COMNTOOLS + - git submodule update --init --recursive + - cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=$env:ARCH && + MSBUILD.exe -t:Rebuild + -p:Configuration=Debug + -p:Platform=x64 + -p:UserDefines=FT_DEBUG_LOGGING + MSBuild.sln" + # Format of job names: @@ -87,144 +94,144 @@ windows meson vs2019 amd64: ARCH: 'amd64' MESON_WINDOWS_TESTS: '&& meson test -C build && meson test -C build --benchmark' -windows meson vs2019 x86: - extends: '.build windows meson' - variables: - ARCH: 'x86' - MESON_WINDOWS_TESTS: '&& meson test -C build && meson test -C build --benchmark' - -windows meson vs2019 amd64 uwp: - extends: '.build windows meson' - variables: - ARCH: 'amd64' - VS_UWP: '-app_platform=UWP' - MESON_ARGS_UWP: '--cross-file uwp-crossfile.meson -Dc_winlibs="windowsapp.lib"' - -# Linux Jobs. +# windows meson vs2019 x86: +# extends: '.build windows meson' +# variables: +# ARCH: 'x86' +# MESON_WINDOWS_TESTS: '&& meson test -C build && meson test -C build --benchmark' # -# Jobs with "libs" in the name force-enable libraries. -# They are disabled for the remaining jobs. - -linux autotools: - extends: '.build linux common' - script: | - ./autogen.sh - ./configure --with-brotli=no \ - --with-bzip2=no \ - --with-harfbuzz=no \ - --with-png=no \ - --with-zlib=no \ - CC=gcc - - make -j$(nproc) && make install - -linux autotools libs: - extends: '.build linux common' - script: | - ./autogen.sh - ./configure --with-brotli=yes \ - --with-bzip2=yes \ - --with-harfbuzz=yes \ - --with-png=yes \ - --with-zlib=yes \ - CC=gcc - - make -j$(nproc) && make install - -linux autotools libs clang: - extends: '.build linux common' - script: | - ./autogen.sh - ./configure --with-brotli=yes \ - --with-bzip2=yes \ - --with-harfbuzz=yes \ - --with-png=yes \ - --with-zlib=yes \ - CC=clang - - make -j$(nproc) && make install - -linux meson: - extends: '.build linux common' - script: | - meson setup build ${MESON_ARGS} \ - -Dbrotli=disabled \ - -Dbzip2=disabled \ - -Dharfbuzz=disabled \ - -Dpng=disabled \ - -Dzlib=disabled - - meson compile --verbose -C build - meson install -C build - -linux meson libs: - extends: '.build linux common' - script: | - meson setup build ${MESON_ARGS} \ - -Dbrotli=enabled \ - -Dbzip2=enabled \ - -Dharfbuzz=disabled \ - -Dpng=disabled \ - -Dzlib=disabled - - meson compile --verbose -C build - meson install -C build - -linux cmake: - extends: '.build linux common' - script: | - cmake -B build -D FT_DISABLE_BROTLI=TRUE \ - -D FT_DISABLE_BZIP2=TRUE \ - -D FT_DISABLE_HARFBUZZ=TRUE \ - -D FT_DISABLE_PNG=TRUE \ - -D FT_DISABLE_ZLIB=TRUE - - cmake --build build --target install - -linux cmake libs: - extends: '.build linux common' - script: | - cmake -B build -D FT_REQUIRE_BROTLI=TRUE \ - -D FT_REQUIRE_BZIP2=TRUE \ - -D FT_REQUIRE_HARFBUZZ=TRUE \ - -D FT_REQUIRE_PNG=TRUE \ - -D FT_REQUIRE_ZLIB=TRUE - - cmake --build build --target install - - -# MacOS jobs. - -macos autotools: - extends: '.build macos common' - before_script: - - '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"' - script: - - brew install autoconf automake libtool - - ./autogen.sh - - ./configure - - 'make -j$(sysctl -n hw.logicalcpu)' - - make install - -macos autotools clang: - extends: '.build macos common' - before_script: - - '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"' - script: - - brew install autoconf automake libtool - - ./autogen.sh - - './configure CC=clang' - - 'make -j$(sysctl -n hw.logicalcpu)' - - make install - -macos meson: - extends: '.build macos common' - script: - - pip3 install --upgrade pip - - pip3 install -U meson - - pip3 install --upgrade certifi - - pip3 install -U ninja - - - meson setup build ${MESON_ARGS} - - meson compile --verbose -C build - - sudo meson install -C build +# windows meson vs2019 amd64 uwp: +# extends: '.build windows meson' +# variables: +# ARCH: 'amd64' +# VS_UWP: '-app_platform=UWP' +# MESON_ARGS_UWP: '--cross-file uwp-crossfile.meson -Dc_winlibs="windowsapp.lib"' +# +# # Linux Jobs. +# # +# # Jobs with "libs" in the name force-enable libraries. +# # They are disabled for the remaining jobs. +# +# linux autotools: +# extends: '.build linux common' +# script: | +# ./autogen.sh +# ./configure --with-brotli=no \ +# --with-bzip2=no \ +# --with-harfbuzz=no \ +# --with-png=no \ +# --with-zlib=no \ +# CC=gcc +# +# make -j$(nproc) && make install +# +# linux autotools libs: +# extends: '.build linux common' +# script: | +# ./autogen.sh +# ./configure --with-brotli=yes \ +# --with-bzip2=yes \ +# --with-harfbuzz=yes \ +# --with-png=yes \ +# --with-zlib=yes \ +# CC=gcc +# +# make -j$(nproc) && make install +# +# linux autotools libs clang: +# extends: '.build linux common' +# script: | +# ./autogen.sh +# ./configure --with-brotli=yes \ +# --with-bzip2=yes \ +# --with-harfbuzz=yes \ +# --with-png=yes \ +# --with-zlib=yes \ +# CC=clang +# +# make -j$(nproc) && make install +# +# linux meson: +# extends: '.build linux common' +# script: | +# meson setup build ${MESON_ARGS} \ +# -Dbrotli=disabled \ +# -Dbzip2=disabled \ +# -Dharfbuzz=disabled \ +# -Dpng=disabled \ +# -Dzlib=disabled +# +# meson compile --verbose -C build +# meson install -C build +# +# linux meson libs: +# extends: '.build linux common' +# script: | +# meson setup build ${MESON_ARGS} \ +# -Dbrotli=enabled \ +# -Dbzip2=enabled \ +# -Dharfbuzz=disabled \ +# -Dpng=disabled \ +# -Dzlib=disabled +# +# meson compile --verbose -C build +# meson install -C build +# +# linux cmake: +# extends: '.build linux common' +# script: | +# cmake -B build -D FT_DISABLE_BROTLI=TRUE \ +# -D FT_DISABLE_BZIP2=TRUE \ +# -D FT_DISABLE_HARFBUZZ=TRUE \ +# -D FT_DISABLE_PNG=TRUE \ +# -D FT_DISABLE_ZLIB=TRUE +# +# cmake --build build --target install +# +# linux cmake libs: +# extends: '.build linux common' +# script: | +# cmake -B build -D FT_REQUIRE_BROTLI=TRUE \ +# -D FT_REQUIRE_BZIP2=TRUE \ +# -D FT_REQUIRE_HARFBUZZ=TRUE \ +# -D FT_REQUIRE_PNG=TRUE \ +# -D FT_REQUIRE_ZLIB=TRUE +# +# cmake --build build --target install +# +# +# # MacOS jobs. +# +# macos autotools: +# extends: '.build macos common' +# before_script: +# - '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"' +# script: +# - brew install autoconf automake libtool +# - ./autogen.sh +# - ./configure +# - 'make -j$(sysctl -n hw.logicalcpu)' +# - make install +# +# macos autotools clang: +# extends: '.build macos common' +# before_script: +# - '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"' +# script: +# - brew install autoconf automake libtool +# - ./autogen.sh +# - './configure CC=clang' +# - 'make -j$(sysctl -n hw.logicalcpu)' +# - make install +# +# macos meson: +# extends: '.build macos common' +# script: +# - pip3 install --upgrade pip +# - pip3 install -U meson +# - pip3 install --upgrade certifi +# - pip3 install -U ninja +# +# - meson setup build ${MESON_ARGS} +# - meson compile --verbose -C build +# - sudo meson install -C build