Skip to content

Commit f93f0a1

Browse files
Merge pull request #121 from JacobDomagala/120-update-ci-to-use-conan-2
[#120] Update CI to work with conan 2.0
2 parents 2b18d52 + 9c17c31 commit f93f0a1

File tree

7 files changed

+45
-52
lines changed

7 files changed

+45
-52
lines changed

.github/workflows/code_quality.yml

+10-5
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,14 @@ jobs:
1717
root_dir=\${1}
1818
build_dir=\${2}
1919
20-
pip install conan==1.59.0
21-
conan install \$root_dir --install-folder=build --build=missing --settings=build_type=Release -c tools.system.package_manager:mode=install
20+
pip install conan --break-system-packages
21+
conan profile detect
22+
conan install \$root_dir --output-folder=build --build=missing --settings=build_type=Release -c tools.system.package_manager:mode=install
2223
2324
wget https://sdk.lunarg.com/sdk/download/1.3.216.0/linux/vulkansdk-linux-x86_64-1.3.216.0.tar.gz
24-
tar xf vulkansdk-linux-x86_64-1.3.216.0.tar.gz -C \$root_dir/lib
25-
source \$root_dir/lib/1.3.216.0/setup-env.sh" > init_script.sh
25+
mkdir vulkan
26+
tar xf vulkansdk-linux-x86_64-1.3.216.0.tar.gz -C \$root_dir/vulkan
27+
source \$root_dir/vulkan/1.3.216.0/setup-env.sh" > init_script.sh
2628
2729
- name: Run static analysis
2830
uses: JacobDomagala/StaticAnalysis@master
@@ -31,6 +33,9 @@ jobs:
3133
init_script: init_script.sh
3234
apt_pckgs: xorg-dev python3-pip
3335
report_pr_changes_only: false
36+
cmake_args: -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Release
3437
verbose: true
38+
clang_tidy_args: |
39+
-extra-arg=-std=c++20
3540
cppcheck_args: |
36-
--enable=all --suppress=functionStatic --suppress=unusedFunction --inline-suppr --inconclusive
41+
--enable=all --suppress=missingIncludeSystem --suppress=functionStatic --suppress=unusedFunction --inline-suppr --inconclusive --check-level=exhaustive

.github/workflows/ubuntu.yml

+14-12
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ on:
99

1010
env:
1111
BUILD_TYPE: Release
12-
CXX: clang++-14
13-
SDK_VERSION: 1.3.204.1
12+
SDK_VERSION: 1.3.268.0
13+
CXX: clang++-15
14+
CC: clang-15
1415

1516
jobs:
1617
build:
@@ -22,19 +23,22 @@ jobs:
2223
- name: Install dependencies
2324
run: |
2425
sudo apt-get update
25-
sudo apt-get install -y xorg-dev llvm-dev python3-pip libgl-dev libgl1-mesa-dev \
26+
sudo apt-get install -y xorg-dev clang++-15 llvm-dev python3-pip libgl-dev libgl1-mesa-dev \
2627
libx11-xcb-dev libxcb-render-util0-dev libxcb-xkb-dev libxcb-icccm4-dev \
2728
libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev \
2829
libxcb-sync-dev libxcb-xfixes0-dev libxcb-xinerama0-dev libxcb-dri3-dev \
2930
libx11-xcb-dev libxcb-render-util0-dev libxcb-xkb-dev libxcb-icccm4-dev \
3031
libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev \
3132
libxcb-sync-dev libxcb-xfixes0-dev libxcb-xinerama0-dev libxcb-dri3-dev \
32-
libxcb-util-dev libxcb-util0-dev
33+
libxcb-util-dev libxcb-util0-dev \
34+
libx11-dev libfontenc-dev libice-dev libsm-dev libxau-dev \
35+
libxaw7-dev libxcb-glx0-dev libxcb-cursor-dev libxcb-dri2-0-dev libxcb-present-dev \
36+
libxcb-composite0-dev libxcb-ewmh-dev libxcb-res0-dev
3337
34-
pip install conan==1.59.0
38+
pip install conan
3539
36-
wget https://sdk.lunarg.com/sdk/download/$SDK_VERSION/linux/vulkansdk-linux-x86_64-$SDK_VERSION.tar.gz
37-
tar xf vulkansdk-linux-x86_64-$SDK_VERSION.tar.gz
40+
wget https://sdk.lunarg.com/sdk/download/$SDK_VERSION/linux/vulkansdk-linux-x86_64-$SDK_VERSION.tar.xz
41+
tar xf vulkansdk-linux-x86_64-$SDK_VERSION.tar.xz
3842
3943
cmake -E make_directory ${{runner.workspace}}/build
4044
@@ -48,10 +52,8 @@ jobs:
4852
- name: Install dependencies with Conan
4953
working-directory: ${{runner.workspace}}/build
5054
run: |
51-
# Use newer ABI
52-
conan profile new default --detect
53-
conan profile update settings.compiler.libcxx=libstdc++11 default
54-
conan install $GITHUB_WORKSPACE --output-folder=build --build=missing --settings=build_type=$BUILD_TYPE
55+
conan profile detect
56+
conan install $GITHUB_WORKSPACE --output-folder=build --build=missing --settings=build_type=$BUILD_TYPE -s compiler.cppstd=gnu20
5557
5658
- name: Configure CMake and build
5759
shell: bash
@@ -60,7 +62,7 @@ jobs:
6062
source ${{runner.workspace}}/Shady/$SDK_VERSION/setup-env.sh
6163
6264
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DWARNINGS_AS_ERRORS=ON \
63-
-DENABLE_INCLUDE_WHAT_YOU_USE=OFF -DUNITY_BUILD=ON
65+
-DENABLE_INCLUDE_WHAT_YOU_USE=OFF -DUNITY_BUILD=ON -DCMAKE_TOOLCHAIN_FILE=build/conan_toolchain.cmake
6466
6567
cmake --build . --config $BUILD_TYPE 2> >(tee "output.txt")
6668

.github/workflows/windows.yml

+5-6
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99

1010
env:
1111
VULKAN_DIR: C:\VulkanSDK
12-
SDK_VERSION: 1.3.204.1
12+
SDK_VERSION: 1.3.268.0
1313
BUILD_TYPE: Release
1414

1515
jobs:
@@ -36,8 +36,6 @@ jobs:
3636
- name: Install Conan
3737
id: conan
3838
uses: turtlebrowser/get-conan@main
39-
with:
40-
version: 1.59.0
4139

4240
- name: Cache Conan packages
4341
id: cache-conan
@@ -53,14 +51,15 @@ jobs:
5351
- name: Install dependencies with Conan
5452
working-directory: ${{runner.workspace}}/build
5553
run: |
56-
conan install $env:GITHUB_WORKSPACE --output-folder=build --build=missing --settings=build_type=$env:BUILD_TYPE
54+
conan profile detect
55+
conan install $env:GITHUB_WORKSPACE --output-folder=build --build=missing --settings=build_type=$env:BUILD_TYPE -s compiler.cppstd=20
5756
5857
- name: Configure CMake and build
5958
working-directory: ${{runner.workspace}}/build
6059
run: |
6160
$env:VULKAN_SDK="$env:VULKAN_DIR\$env:SDK_VERSION"
6261
63-
cmake $env:GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$env:BUILD_TYPE
62+
cmake $env:GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$env:BUILD_TYPE -DCMAKE_TOOLCHAIN_FILE=${{runner.workspace}}\build\build\conan_toolchain.cmake
6463
cmake --build . --config $env:BUILD_TYPE > output.txt
6564
cat output.txt
6665
@@ -72,4 +71,4 @@ jobs:
7271
compile_result_file: ${{runner.workspace}}/build/output.txt
7372
compiler: MSVC
7473
exclude_dir: ${{github.workspace}}/lib
75-
debug_output: true
74+
debug_output: true

CMakeLists.txt

+7-5
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,17 @@ add_executable(${PROJECT_NAME}
5555
src/utils/file_manager.hpp src/utils/file_manager.cpp src/utils/assert.hpp src/utils/assert.cpp
5656
)
5757

58-
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
59-
conan_basic_setup(TARGETS)
60-
61-
add_subdirectory(lib)
6258
find_package(Vulkan REQUIRED)
59+
find_package(stb REQUIRED)
60+
find_package(fmt REQUIRED)
61+
find_package(glfw3 REQUIRED)
62+
find_package(imgui REQUIRED)
63+
find_package(glm REQUIRED)
64+
find_package(assimp REQUIRED)
6365

6466
target_include_directories(${PROJECT_NAME}
6567
PRIVATE src src/app src/app/input src/trace src/render src/utils src/scene src/time)
66-
target_link_libraries_system (${PROJECT_NAME} PRIVATE CONAN_PKG::fmt CONAN_PKG::glfw CONAN_PKG::assimp CONAN_PKG::imgui CONAN_PKG::glm Vulkan::Vulkan)
68+
target_link_libraries_system (${PROJECT_NAME} PRIVATE stb::stb fmt::fmt glfw imgui::imgui glm::glm assimp::assimp Vulkan::Vulkan)
6769
target_link_libraries(${PROJECT_NAME} PRIVATE project_warnings)
6870
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20)
6971

conanfile.txt

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
# Docs at https://docs.conan.io/en/latest/reference/conanfile_txt.html
22

33
[requires]
4-
fmt/9.1.0
4+
fmt/10.1.0
55
glfw/3.3.8
6-
assimp/5.2.2
7-
imgui/1.89.2
8-
stb/20200203
6+
assimp/5.3.1
7+
imgui/1.89.9
8+
stb/cci.20230920
99
glm/0.9.9.8
1010

1111
[options]
12-
glfw:shared=False
13-
assimp:with_gltf=True
14-
assimp:shared=False
12+
glfw/*:shared=False
13+
assimp/*:with_gltf=True
14+
assimp/*:shared=False
1515

1616
[generators]
17-
cmake_find_package_multi
18-
cmake
17+
CMakeToolchain
18+
CMakeDeps

lib/CMakeLists.txt

-11
This file was deleted.

lib/stb_image/CMakeLists.txt

-4
This file was deleted.

0 commit comments

Comments
 (0)