]> git.jsancho.org Git - lugaru.git/blob - .gitlab-ci.yml
Remove zlib from documentation and CI setup
[lugaru.git] / .gitlab-ci.yml
1 image: fedora:latest
2
3 cache:
4   paths:
5   - /var/cache/dnf
6   - /var/cache/yum
7
8 variables:
9   YUMDNF: dnf
10   EXTRA_REPO_INST_COMMAND: /bin/true
11   JPEG_PACKAGE: "pkgconfig(libjpeg)"
12   CMAKE_PACKAGE: "/usr/bin/cmake"
13   DEPENDENCY_PACKAGES: "pkgconfig(openal) pkgconfig(sdl2) pkgconfig(glu) pkgconfig(libpng) pkgconfig(vorbis) pkgconfig(vorbisfile) pkgconfig(ogg)"
14   COMMON_PACKAGES: "$COMPILER_PACKAGES $CMAKE_PACKAGE make $DEPENDENCY_PACKAGES $JPEG_PACKAGE"
15
16 before_script:
17   - $EXTRA_REPO_INST_COMMAND
18   - $YUMDNF --quiet --assumeyes install $COMMON_PACKAGES
19
20 build_oldgcc:
21   image: centos:7
22   variables:
23     YUMDNF: yum
24     EXTRA_REPO_INST_COMMAND: "yum --quiet --assumeyes install epel-release"
25     JPEG_PACKAGE: "libjpeg-devel"
26     CMAKE_PACKAGE: "/usr/bin/cmake3"
27     COMPILER_PACKAGES: "gcc gcc-c++"
28   stage: build
29   script:
30     - export CC=gcc; export CXX=g++
31     - mkdir -p x86_64-linux-gnu-oldgcc oldgcc-build; cd x86_64-linux-gnu-oldgcc
32     - cmake3 .. -DCMAKE_INSTALL_PREFIX=/builds/osslugaru/lugaru/oldgcc-build
33     - make -j4; make install
34   artifacts:
35     expire_in: 14d
36     paths:
37       - ./oldgcc-build
38   tags:
39     - shared
40
41 build_gcc:
42   stage: build
43   variables:
44     COMPILER_PACKAGES: "gcc gcc-c++"
45   script:
46     - export CC=gcc; export CXX=g++
47     - mkdir -p x86_64-linux-gnu-gcc gcc-build; cd x86_64-linux-gnu-gcc
48     - cmake .. -DCMAKE_INSTALL_PREFIX=/builds/osslugaru/lugaru/gcc-build
49     - make -j4; make install
50   artifacts:
51     expire_in: 14d
52     paths:
53       - ./gcc-build
54   tags:
55     - shared
56
57 build_clang:
58   stage: build
59   variables:
60     COMPILER_PACKAGES: "clang"
61   script:
62     - export CC=clang; export CXX=clang++
63     - mkdir -p x86_64-linux-gnu-clang clang-build; cd x86_64-linux-gnu-clang
64     - cmake .. -DCMAKE_INSTALL_PREFIX=/builds/osslugaru/lugaru/clang-build
65     - make -j4; make install
66   artifacts:
67     expire_in: 14d
68     paths:
69       - ./clang-build
70   tags:
71     - shared
72
73 build_mingw32:
74   stage: build
75   variables:
76     COMPILER_PACKAGES: "mingw32-gcc mingw32-gcc-c++ mingw32-binutils mingw32-headers"
77     DEPENDENCY_PACKAGES: "mingw32-libjpeg-turbo mingw32-libpng mingw32-SDL2 mingw32-libvorbis mingw32-libogg mingw32-openal-soft"
78   script:
79     - export PKG_CONFIG_LIBDIR="/usr/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/i686-w64-mingw32/sys-root/mingw/share/pkgconfig"
80     - export PATH=/usr/i686-w64-mingw32/bin:$PATH
81     - mkdir -p i686-w64-mingw32 mingw32-build; cd i686-w64-mingw32
82     - cmake .. -DCMAKE_TOOLCHAIN_FILE=/usr/share/mingw/toolchain-mingw32.cmake -DCMAKE_INSTALL_PREFIX=/builds/osslugaru/lugaru/mingw32-build
83     - make -j4; make install
84   artifacts:
85     expire_in: 14d
86     paths:
87       - ./mingw32-build
88   tags:
89     - shared
90
91 build_mingw64:
92   stage: build
93   variables:
94     COMPILER_PACKAGES: "mingw64-gcc mingw64-gcc-c++ mingw64-binutils mingw64-headers"
95     DEPENDENCY_PACKAGES: "mingw64-libjpeg-turbo mingw64-libpng mingw64-SDL2 mingw64-libvorbis mingw64-libogg mingw64-openal-soft"
96   script:
97     - export PKG_CONFIG_LIBDIR="/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/x86_64-w64-mingw32/sys-root/mingw/share/pkgconfig"
98     - export PATH=/usr/x86_64-w64-mingw32/bin:$PATH
99     - mkdir -p x86_64-w64-mingw32 mingw64-build; cd x86_64-w64-mingw32
100     - cmake .. -DCMAKE_TOOLCHAIN_FILE=/usr/share/mingw/toolchain-mingw64.cmake -DCMAKE_INSTALL_PREFIX=/builds/osslugaru/lugaru/mingw64-build
101     - make -j4; make install
102   artifacts:
103     expire_in: 14d
104     paths:
105       - ./mingw64-build
106   tags:
107     - shared
108