Skip to content

Commit 03004d3

Browse files
authored
Merge pull request #130 from cschreib/cschreib/update-deps
Update dependencies
2 parents 7383238 + b54a5ec commit 03004d3

File tree

76 files changed

+788
-3422
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+788
-3422
lines changed

.github/workflows/cmake.yml

+104-55
Original file line numberDiff line numberDiff line change
@@ -4,107 +4,146 @@ on: push
44

55
env:
66
BUILD_TYPE: Release
7-
EM_VERSION: 2.0.34
8-
EM_CACHE_FOLDER: 'emsdk-cache'
97

108
jobs:
119
build:
1210
strategy:
1311
fail-fast: false
1412
matrix:
1513
platform:
16-
- { name: Ubuntu GCC, os: ubuntu-latest, compiler: g++, arch: "64", cmakepp: "", suffix: "", flags: "-DCMAKE_CXX_COMPILER=g++"}
17-
- { name: Ubuntu Clang, os: ubuntu-latest, compiler: clang++, arch: "64", cmakepp: "", suffix: "", flags: "-DCMAKE_CXX_COMPILER=clang++"}
18-
- { name: Windows 32, os: windows-latest, compiler: vs2019, arch: "32", cmakepp: "", suffix: "", flags: "-DCMAKE_PREFIX_PATH=`pwd`/../dependencies -A Win32"}
19-
- { name: Windows 64, os: windows-latest, compiler: vs2019, arch: "64", cmakepp: "", suffix: "", flags: "-DCMAKE_PREFIX_PATH=`pwd`/../dependencies -A x64"}
20-
- { name: MacOS, os: macos-latest, compiler: clang++, arch: "64", cmakepp: "", suffix: "", flags: ""}
21-
- { name: WebAssembly, os: ubuntu-latest, compiler: em++, arch: "32", cmakepp: "emcmake", suffix: "-emscripten", flags: "-DCMAKE_PREFIX_PATH=`pwd`/../dependencies -DCMAKE_FIND_ROOT_PATH=/ -DLXGUI_TEST_IMPLEMENTATION=OPENGL_SDL"}
14+
- name: Ubuntu GCC
15+
os: ubuntu-latest
16+
compiler: g++
17+
arch: "64"
18+
suffix: ""
19+
cmake-flags: ""
20+
- name: Ubuntu Clang
21+
os: ubuntu-latest
22+
compiler: clang++
23+
arch: "64"
24+
suffix: ""
25+
cmake-flags: ""
26+
- name: Windows
27+
os: windows-latest
28+
compiler: msvc
29+
arch: "64"
30+
suffix: ""
31+
cmake-flags: ""
32+
- name: MacOS
33+
os: macos-latest
34+
compiler: clang++
35+
arch: "64"
36+
suffix: ""
37+
cmake-flags: ""
38+
- name: WebAssembly
39+
os: ubuntu-latest
40+
compiler: em++
41+
arch: "32"
42+
suffix: "-emscripten"
43+
cmake-flags: "-DLXGUI_BUILD_GUI_SFML_IMPL=OFF -DLXGUI_BUILD_INPUT_SFML_IMPL=OFF -DLXGUI_TEST_IMPLEMENTATION=OPENGL_SDL"
2244

2345
name: ${{matrix.platform.name}}
2446
runs-on: ${{matrix.platform.os}}
2547

2648
steps:
2749
- name: Checkout code
28-
uses: actions/checkout@v2
50+
uses: actions/checkout@v4
2951
with:
3052
submodules: 'recursive'
3153

3254
- name: Setup Clang
3355
if: matrix.platform.compiler == 'clang++' && matrix.platform.os == 'ubuntu-latest'
34-
run: sudo apt install clang
56+
run: |
57+
sudo apt install clang
58+
echo "CC=clang" >> $GITHUB_ENV
59+
echo "CXX=clang++" >> $GITHUB_ENV
3560
36-
- name: Setup Emscripten cache
37-
if: matrix.platform.compiler == 'em++'
38-
id: cache-system-libraries
39-
uses: actions/[email protected]
40-
with:
41-
path: ${{env.EM_CACHE_FOLDER}}
42-
key: ${{env.EM_VERSION}}-${{ runner.os }}
61+
- name: Setup Conan
62+
shell: bash
63+
working-directory: ${{github.workspace}}
64+
run: |
65+
pip install conan
66+
echo "CONAN_HOME=`pwd`/conan-cache" >> $GITHUB_ENV
4367
44-
- name: Setup Emscripten
45-
if: matrix.platform.compiler == 'em++'
46-
uses: mymindstorm/setup-emsdk@v11
68+
- name: Setup Conan cache
69+
id: cache-conan-packages
70+
uses: actions/cache@v4
4771
with:
48-
version: ${{env.EM_VERSION}}
49-
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
50-
51-
- name: Create Build Environment
52-
run: cmake -E make_directory ${{github.workspace}}/build
53-
54-
- name: Get Linux dependencies
55-
if: runner.os == 'Linux' && matrix.platform.compiler != 'em++'
56-
run: |
57-
sudo apt-get update
58-
sudo apt-get install libz-dev libpng-dev libfreetype6-dev libglew-dev libglu1-mesa-dev libsfml-dev liblua5.2-dev libsdl2-ttf-dev libsdl2-image-dev libsdl2-dev
72+
path: ${{env.CONAN_HOME}}
73+
key: ${{matrix.platform.name}}-${{matrix.platform.compiler}}
5974

60-
- name: Get Emscripten dependencies
61-
if: matrix.platform.compiler == 'em++'
75+
- name: Get Conan dependencies
6276
shell: bash
63-
working-directory: ${{github.workspace}}/dependencies
64-
run: unzip wasm.zip
65-
66-
- name: Get Windows dependencies
67-
if: runner.os == 'Windows'
68-
# Ideally (but too slow):
69-
#run: vcpkg install sfml lua zlib libpng freetype glew sdl2 sdl2-ttf sdl2-image
70-
# Pre-compiled dependencies:
71-
shell: bash
72-
working-directory: ${{github.workspace}}/dependencies
73-
run: unzip windows-dependencies-${{matrix.platform.compiler}}-${{matrix.platform.arch}}.zip
77+
working-directory: ${{github.workspace}}
78+
run: |
79+
conan profile detect --force
80+
conan create conan/observable_unique_ptr \
81+
-pr default \
82+
-pr ./conan/profiles/${{matrix.platform.os}}-${{matrix.platform.arch}}-${{matrix.platform.compiler}}
83+
conan install . \
84+
--build=missing \
85+
-c tools.system.package_manager:mode=install \
86+
-c tools.system.package_manager:sudo=true \
87+
--output-folder dependencies \
88+
-pr:b default \
89+
-pr:h default \
90+
-pr:h ./conan/profiles/${{matrix.platform.os}}-${{matrix.platform.arch}}-${{matrix.platform.compiler}}
7491
75-
- name: Get MacOS dependencies
76-
if: runner.os == 'macOS'
77-
run: brew install sfml lua zlib libpng freetype glew sdl2 sdl2_ttf sdl2_image
92+
- name: Create Build Environment
93+
run: cmake -E make_directory ${{github.workspace}}/build
7894

7995
- name: Configure CMake
8096
shell: bash
8197
working-directory: ${{github.workspace}}/build
82-
run: ${{matrix.platform.cmakepp}} cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DLXGUI_BUILD_EXAMPLES=0 -DCMAKE_INSTALL_PREFIX=`pwd`/../dependencies ${{matrix.platform.flags}}
98+
run: |
99+
test -f ../dependencies/conanbuild.sh && source ../dependencies/conanbuild.sh
100+
cmake .. \
101+
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
102+
-DCMAKE_TOOLCHAIN_FILE=`pwd`/../dependencies/conan_toolchain.cmake \
103+
-DLXGUI_BUILD_EXAMPLES=OFF \
104+
-DLXGUI_DEV=ON \
105+
-DCMAKE_INSTALL_PREFIX=`pwd`/../install \
106+
-DCMAKE_POLICY_DEFAULT_CMP0091=NEW \
107+
${{matrix.platform.cmake-flags}}
83108
84109
- name: Build
85110
shell: bash
86111
working-directory: ${{github.workspace}}/build
87-
run: cmake --build . --config ${BUILD_TYPE} --parallel 2
112+
run: |
113+
test -f ../dependencies/conanbuild.sh && source ../dependencies/conanbuild.sh
114+
cmake --build . --config ${BUILD_TYPE} --parallel 2
88115
89116
- name: Install
90117
shell: bash
91118
working-directory: ${{github.workspace}}/build
92-
run: cmake --install . --config ${BUILD_TYPE}
119+
run: |
120+
test -f ../dependencies/conanbuild.sh && source ../dependencies/conanbuild.sh
121+
cmake --install . --config ${BUILD_TYPE}
93122
94123
- name: Build example SDL
95124
shell: bash
96125
working-directory: ${{github.workspace}}/build
97126
run: |
98127
rm -rf *
99-
${{matrix.platform.cmakepp}} cmake ../examples/sdl${{matrix.platform.suffix}} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_PREFIX_PATH=`pwd`/../dependencies ${{matrix.platform.flags}}
128+
test -f ../dependencies/conanbuild.sh && source ../dependencies/conanbuild.sh
129+
cmake ../examples/sdl${{matrix.platform.suffix}} \
130+
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
131+
-DCMAKE_TOOLCHAIN_FILE=`pwd`/../dependencies/conan_toolchain.cmake \
132+
-DCMAKE_PREFIX_PATH=`pwd`/../install \
133+
-DCMAKE_POLICY_DEFAULT_CMP0091=NEW
100134
cmake --build . --config ${BUILD_TYPE} --parallel 2
101135
102136
- name: Build example OpenGL-SDL
103137
shell: bash
104138
working-directory: ${{github.workspace}}/build
105139
run: |
106140
rm -rf *
107-
${{matrix.platform.cmakepp}} cmake ../examples/opengl-sdl${{matrix.platform.suffix}} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_PREFIX_PATH=`pwd`/../dependencies ${{matrix.platform.flags}}
141+
test -f ../dependencies/conanbuild.sh && source ../dependencies/conanbuild.sh
142+
cmake ../examples/opengl-sdl${{matrix.platform.suffix}} \
143+
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
144+
-DCMAKE_TOOLCHAIN_FILE=`pwd`/../dependencies/conan_toolchain.cmake \
145+
-DCMAKE_PREFIX_PATH=`pwd`/../install \
146+
-DCMAKE_POLICY_DEFAULT_CMP0091=NEW
108147
cmake --build . --config ${BUILD_TYPE} --parallel 2
109148
110149
- name: Build example SFML
@@ -113,7 +152,12 @@ jobs:
113152
working-directory: ${{github.workspace}}/build
114153
run: |
115154
rm -rf *
116-
${{matrix.platform.cmakepp}} cmake ../examples/sfml${{matrix.platform.suffix}} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_PREFIX_PATH=`pwd`/../dependencies ${{matrix.platform.flags}}
155+
test -f ../dependencies/conanbuild.sh && source ../dependencies/conanbuild.sh
156+
cmake ../examples/sfml${{matrix.platform.suffix}} \
157+
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
158+
-DCMAKE_TOOLCHAIN_FILE=`pwd`/../dependencies/conan_toolchain.cmake \
159+
-DCMAKE_PREFIX_PATH=`pwd`/../install \
160+
-DCMAKE_POLICY_DEFAULT_CMP0091=NEW
117161
cmake --build . --config ${BUILD_TYPE} --parallel 2
118162
119163
- name: Build example OpenGL-SFML
@@ -122,7 +166,12 @@ jobs:
122166
working-directory: ${{github.workspace}}/build
123167
run: |
124168
rm -rf *
125-
${{matrix.platform.cmakepp}} cmake ../examples/opengl-sfml${{matrix.platform.suffix}} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_PREFIX_PATH=`pwd`/../dependencies ${{matrix.platform.flags}}
169+
test -f ../dependencies/conanbuild.sh && source ../dependencies/conanbuild.sh
170+
cmake ../examples/opengl-sfml${{matrix.platform.suffix}} \
171+
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
172+
-DCMAKE_TOOLCHAIN_FILE=`pwd`/../dependencies/conan_toolchain.cmake \
173+
-DCMAKE_PREFIX_PATH=`pwd`/../install \
174+
-DCMAKE_POLICY_DEFAULT_CMP0091=NEW
126175
cmake --build . --config ${BUILD_TYPE} --parallel 2
127176
128177
- name: Prepare publish package
@@ -135,7 +184,7 @@ jobs:
135184
136185
- name: Publish
137186
if: matrix.platform.compiler == 'em++' && github.ref == 'refs/heads/main'
138-
uses: JamesIves/github-pages-deploy-action@4.1.0
187+
uses: JamesIves/github-pages-deploy-action@v4.7.3
139188
with:
140189
branch: gh-pages
141190
folder: ${{github.workspace}}/bin/demo

.github/workflows/codeql-analysis.yml

-79
This file was deleted.

.github/workflows/custom.ruleset

-9
This file was deleted.

0 commit comments

Comments
 (0)