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