summaryrefslogtreecommitdiffstats
path: root/src/implot/.github/workflows/build.yml
blob: 2f9388f55f800c2d186355b13ee0a2ac124905e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
name: build

on:
  push:
  pull_request:

jobs:
  Linux:
    runs-on: ubuntu-22.04

    strategy:
      fail-fast: false
      matrix:
        build_type:
          - debug
          - release
        compiler:
          - gcc
          - clang
        arch:
          - x86
          - x64

    steps:
      - uses: actions/checkout@v3

      - uses: actions/checkout@v3
        with:
          repository: ocornut/imgui
          path: imgui

      - name: Dependencies
        run: sudo apt-get install g++-multilib

      - name: Configure
        run: cmake -DCMAKE_CXX_COMPILER=${{ matrix.compiler }} -DCMAKE_C_COMPILER=${{ matrix.compiler }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DGCC_ARCH=${{ matrix.arch }} -B cmake-build -S .github

      - name: Build
        run: cmake --build cmake-build --parallel $(nproc)

      - name: Run
        run: |
          file cmake-build/example_implot
          cmake-build/example_implot

  MacOS:
    runs-on: macos-11

    strategy:
      fail-fast: false
      matrix:
        build_type:
          - debug
          - release
        arch:
          - x86_64
          - arm64

    steps:
      - uses: actions/checkout@v3

      - uses: actions/checkout@v3
        with:
          repository: ocornut/imgui
          path: imgui

      - name: Configure
        shell: bash
        run: cmake -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DOSX_ARCH=${{ matrix.arch }} -B cmake-build -S .github

      - name: Build
        shell: bash
        run: cmake --build cmake-build --parallel $(sysctl -n hw.ncpu)

      - name: Run
        if: matrix.arch == 'x86_64' # github's CI hosts seem to be running intel and can not run ARM
        run: |
          file cmake-build/example_implot
          cmake-build/example_implot

  Windows_MSVC:
    runs-on: windows-2022

    strategy:
      fail-fast: false
      matrix:
        build_type:
          - debug
          - release
        arch:
          - Win32
          - x64

    steps:
      - uses: actions/checkout@v3

      - uses: actions/checkout@v3
        with:
          repository: ocornut/imgui
          path: imgui

      - name: Configure
        shell: bash
        run: cmake -G 'Visual Studio 17 2022' -A ${{ matrix.arch }} -B cmake-build -S .github

      - name: Build
        shell: bash
        run: cmake --build cmake-build -- -p:Configuration=${{ matrix.build_type }} -maxcpucount:$NUMBER_OF_PROCESSORS

      - name: Run
        run: .\cmake-build\${{matrix.build_type}}\example_implot.exe

  Windows_MingW: # MingW on Github CI does not fully support 32 bits: link fails when it tries to link 64 bits system libraries.
    runs-on: windows-2022

    strategy:
      fail-fast: false
      matrix:
        build_type:
          - debug
          - release
        arch:
          - x64
          # - Win32

    steps:
      - uses: actions/checkout@v3

      - uses: actions/checkout@v3
        with:
          repository: ocornut/imgui
          path: imgui

      - name: Configure
        shell: bash
        run: cmake -G 'MinGW Makefiles' -DGCC_ARCH=${{ matrix.arch }} -B cmake-build -S .github

      - name: Build
        shell: bash
        run: cmake --build cmake-build --parallel $NUMBER_OF_PROCESSORS

      - name: Run (MingW)
        run: .\cmake-build\example_implot.exe