mirror of
https://gitlab.gnome.org/GNOME/libxslt
synced 2025-11-04 00:53:12 +03:00
Add CI for CMake on Linux and MinGW
This commit is contained in:
committed by
Nick Wellnhofer
parent
95714adb01
commit
b45a8d3e22
132
.gitlab-ci.yml
132
.gitlab-ci.yml
@@ -1,8 +1,6 @@
|
|||||||
default:
|
.test:
|
||||||
# Reuse libxml2 image
|
# Reuse libxml2 image
|
||||||
image: registry.gitlab.gnome.org/gnome/libxml2
|
image: registry.gitlab.gnome.org/gnome/libxml2
|
||||||
|
|
||||||
.test:
|
|
||||||
script:
|
script:
|
||||||
- |
|
- |
|
||||||
git clone --depth 1 https://gitlab.gnome.org/GNOME/libxml2.git
|
git clone --depth 1 https://gitlab.gnome.org/GNOME/libxml2.git
|
||||||
@@ -49,3 +47,131 @@ clang:msan:
|
|||||||
CC: clang
|
CC: clang
|
||||||
CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=memory -Wimplicit-int-conversion -Wno-error=cast-align"
|
CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=memory -Wimplicit-int-conversion -Wno-error=cast-align"
|
||||||
|
|
||||||
|
.cmake:linux:
|
||||||
|
image: registry.gitlab.gnome.org/gnome/libxml2
|
||||||
|
before_script:
|
||||||
|
- "[ ! -d libxml2-install ] && \
|
||||||
|
git clone --depth 1 https://gitlab.gnome.org/GNOME/libxml2.git libxml2-source && \
|
||||||
|
cmake -DBUILD_SHARED_LIBS=$BUILD_SHARED_LIBS -DCMAKE_INSTALL_PREFIX=libxml2-install -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLIBXML2_WITH_TESTS=OFF -S libxml2-source -B libxml2-build && \
|
||||||
|
cmake --build libxml2-build --target install && \
|
||||||
|
mkdir -p libxml2-install/share/libxml2 && \
|
||||||
|
cp libxml2-source/Copyright libxml2-install/share/libxml2"
|
||||||
|
- export CMAKE_PREFIX_PATH=$CI_PROJECT_DIR/libxml2-install:$CMAKE_PREFIX_PATH
|
||||||
|
- export PATH=$CI_PROJECT_DIR/libxml2-install/bin:$PATH
|
||||||
|
- export LD_LIBRARY_PATH=$CI_PROJECT_DIR/libxml2-install/bin:$LD_LIBRARY_PATH
|
||||||
|
script:
|
||||||
|
- cmake -DBUILD_SHARED_LIBS=$BUILD_SHARED_LIBS -DCMAKE_INSTALL_PREFIX=libxslt-install -DCMAKE_BUILD_TYPE=RelWithDebInfo -S . -B libxslt-build
|
||||||
|
- cmake --build libxslt-build --target install
|
||||||
|
- mkdir -p libxslt-install/share/libxslt
|
||||||
|
- cp Copyright libxslt-install/share/libxslt
|
||||||
|
after_script:
|
||||||
|
- cd libxslt-install
|
||||||
|
- tar -czf ../libxslt-$CI_COMMIT_SHORT_SHA-$CC-$SUFFIX.tar.gz *
|
||||||
|
cache:
|
||||||
|
key: "Linux-x86_64"
|
||||||
|
paths:
|
||||||
|
- libxml2-$Env:LIBXML2_VERSION-install/
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- libxslt-$CI_COMMIT_SHORT_SHA-$CC-$SUFFIX.tar.gz
|
||||||
|
expire_in: 1 day
|
||||||
|
|
||||||
|
cmake:linux:gcc:shared:
|
||||||
|
extends: .cmake:linux
|
||||||
|
variables:
|
||||||
|
BUILD_SHARED_LIBS: "ON"
|
||||||
|
CC: gcc
|
||||||
|
SUFFIX: shared
|
||||||
|
|
||||||
|
cmake:linux:gcc:static:
|
||||||
|
extends: .cmake:linux
|
||||||
|
variables:
|
||||||
|
BUILD_SHARED_LIBS: "OFF"
|
||||||
|
CC: gcc
|
||||||
|
SUFFIX: static
|
||||||
|
|
||||||
|
cmake:linux:clang:shared:
|
||||||
|
extends: .cmake:linux
|
||||||
|
variables:
|
||||||
|
BUILD_SHARED_LIBS: "ON"
|
||||||
|
CC: clang
|
||||||
|
SUFFIX: shared
|
||||||
|
|
||||||
|
cmake:linux:clang:static:
|
||||||
|
extends: .cmake:linux
|
||||||
|
variables:
|
||||||
|
BUILD_SHARED_LIBS: "OFF"
|
||||||
|
CC: clang
|
||||||
|
SUFFIX: static
|
||||||
|
|
||||||
|
.cmake:mingw:
|
||||||
|
tags:
|
||||||
|
- win32-ps
|
||||||
|
before_script:
|
||||||
|
- "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12"
|
||||||
|
- $Env:Path="C:\msys64\$Env:MINGW_PATH\bin;C:\msys64\usr\bin;$Env:Path"
|
||||||
|
- pacman --noconfirm -Syu
|
||||||
|
- pacman --noconfirm -S
|
||||||
|
$Env:MINGW_PACKAGE_PREFIX-cmake
|
||||||
|
$Env:MINGW_PACKAGE_PREFIX-python2
|
||||||
|
- if (-not (Test-Path 7za.exe)) {
|
||||||
|
Invoke-WebRequest -Uri https://www.7-zip.org/a/7z1900-extra.7z -OutFile 7z1900-extra.7z ;
|
||||||
|
cmake -E tar xf 7z1900-extra.7z 7za.exe
|
||||||
|
}
|
||||||
|
- if (-not (Test-Path libxml2-install)) {
|
||||||
|
git clone --depth 1 https://gitlab.gnome.org/GNOME/libxml2.git libxml2-source ;
|
||||||
|
cmake -G Ninja -DBUILD_SHARED_LIBS=$Env:BUILD_SHARED_LIBS -DCMAKE_INSTALL_PREFIX=libxml2-install -DLIBXML2_WITH_TESTS=OFF -S libxml2-source -B libxml2-build ;
|
||||||
|
cmake --build libxml2-build --config RelWithDebInfo --target install ;
|
||||||
|
New-Item -ItemType Directory libxml2-install\share\libxml2 ;
|
||||||
|
Copy-Item libxml2-source\Copyright libxml2-install\share\libxml2
|
||||||
|
}
|
||||||
|
- $Env:CMAKE_PREFIX_PATH="$Env:CI_PROJECT_DIR\libxml2-install;$Env:CMAKE_PREFIX_PATH"
|
||||||
|
- $Env:Path="$Env:CI_PROJECT_DIR\libxml2-install\bin;$Env:Path"
|
||||||
|
script:
|
||||||
|
- cmake -G Ninja -DBUILD_SHARED_LIBS=$Env:BUILD_SHARED_LIBS -DCMAKE_INSTALL_PREFIX=libxslt-install -DCMAKE_BUILD_TYPE=RelWithDebInfo -S . -B libxslt-build
|
||||||
|
- cmake --build libxslt-build --target install
|
||||||
|
- New-Item -ItemType Directory libxslt-install\share\libxslt
|
||||||
|
- Copy-Item Copyright libxslt-install\share\libxslt
|
||||||
|
after_script:
|
||||||
|
- .\7za.exe a libxslt-$Env:CI_COMMIT_SHORT_SHA-$Env:MINGW_PACKAGE_PREFIX-$Env:SUFFIX.7z .\libxslt-install\*
|
||||||
|
cache:
|
||||||
|
key: "$MINGW_PACKAGE_PREFIX"
|
||||||
|
paths:
|
||||||
|
- libxml2-install/
|
||||||
|
- 7za.exe
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- libxslt-$Env:CI_COMMIT_SHORT_SHA-$Env:MINGW_PACKAGE_PREFIX-$Env:SUFFIX.7z
|
||||||
|
expire_in: 1 day
|
||||||
|
|
||||||
|
cmake:mingw:w64-i686:shared:
|
||||||
|
extends: .cmake:mingw
|
||||||
|
variables:
|
||||||
|
BUILD_SHARED_LIBS: "ON"
|
||||||
|
MINGW_PACKAGE_PREFIX: mingw-w64-i686
|
||||||
|
MINGW_PATH: mingw32
|
||||||
|
SUFFIX: shared
|
||||||
|
|
||||||
|
cmake:mingw:w64-i686:static:
|
||||||
|
extends: .cmake:mingw
|
||||||
|
variables:
|
||||||
|
BUILD_SHARED_LIBS: "OFF"
|
||||||
|
MINGW_PACKAGE_PREFIX: mingw-w64-i686
|
||||||
|
MINGW_PATH: mingw32
|
||||||
|
SUFFIX: static
|
||||||
|
|
||||||
|
cmake:mingw:w64-x86_64:shared:
|
||||||
|
extends: .cmake:mingw
|
||||||
|
variables:
|
||||||
|
BUILD_SHARED_LIBS: "ON"
|
||||||
|
MINGW_PACKAGE_PREFIX: mingw-w64-x86_64
|
||||||
|
MINGW_PATH: mingw64
|
||||||
|
SUFFIX: shared
|
||||||
|
|
||||||
|
cmake:mingw:w64-x86_64:static:
|
||||||
|
extends: .cmake:mingw
|
||||||
|
variables:
|
||||||
|
BUILD_SHARED_LIBS: "OFF"
|
||||||
|
MINGW_PACKAGE_PREFIX: mingw-w64-x86_64
|
||||||
|
MINGW_PATH: mingw64
|
||||||
|
SUFFIX: static
|
||||||
|
|||||||
Reference in New Issue
Block a user