Skip to content

Add msvc configuration for Conan #39

Add msvc configuration for Conan

Add msvc configuration for Conan #39

Workflow file for this run

name: VCMI - dependencies
on:
push:
workflow_dispatch:
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
# - platform: mac-intel
# os: macos-13
# preset: macos-conan-ninja-release
# conan_profile: macos-intel
# conan_options: --options with_apple_system_libs=True
# artifact_platform: intel
# - platform: mac-arm
# os: macos-13
# preset: macos-arm-conan-ninja-release
# conan_profile: macos-arm
# conan_options: --options with_apple_system_libs=True
# artifact_platform: arm
# - platform: ios
# os: macos-13
# preset: ios-release-conan-ccache
# conan_profile: ios-arm64
# conan_options: --options with_apple_system_libs=True
- platform: msvc-conan-64
os: windows-2019
conan_profile: windows-msvc-64
preset: windows-msvc-release
- platform: msvc-conan-32
os: windows-2019
conan_profile: windows-msvc-32
preset: windows-msvc-release
# - platform: mingw
# os: ubuntu-22.04
# preset: windows-mingw-conan-linux
# conan_profile: mingw64-linux.jinja
# - platform: mingw-32
# os: ubuntu-22.04
# preset: windows-mingw-conan-linux
# conan_profile: mingw32-linux.jinja
# - platform: android-32
# os: macos-14
# preset: android-conan-ninja-release
# conan_profile: android-32-ndk
# conan_options: --conf tools.android:ndk_path=$ANDROID_NDK_ROOT
# artifact_platform: armeabi-v7a
# - platform: android-64
# os: macos-14
# preset: android-conan-ninja-release
# conan_profile: android-64-ndk
# conan_options: --conf tools.android:ndk_path=$ANDROID_NDK_ROOT
# artifact_platform: arm64-v8a
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dependencies
run: source '${{github.workspace}}/CI/${{matrix.platform}}/before_install.sh'
env:
VCMI_BUILD_PLATFORM: x64
- name: Remove old packages
run: rm -rf ~/.conan/data/ffmpeg/4.4.3/_/_/package
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Setup Conan
run: pip3 install 'conan<2.0'
- name: Generate conan profile
run: |
conan profile new default --detect
conan install . \
--install-folder=conan-generated \
--no-imports \
--build=missing \
--profile:build=default \
--profile:host=CI/conan/${{ matrix.conan_profile }} \
${{ matrix.conan_options }}
env:
GENERATE_ONLY_BUILT_CONFIG: 1
- name: Remove builds and source code
run: "conan remove --builds --src --force '*'"
- name: Remove Android SDK
run: rm -rf ~/.conan/data/android-ndk
- name: Create dependencies archive
run: "tar -czvf dependencies.tgz -C ~/.conan data"
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.platform }}
compression-level: 0
path: 'dependencies.tgz'
- name: Create additional dependencies archive
if: ${{ startsWith(matrix.platform, 'msvc') }}
run: "tar -czvf dependencies-2.tgz /c/.conan"
- name: Upload additional artifacts
if: ${{ startsWith(matrix.platform, 'msvc') }}
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.platform }}-2
compression-level: 0
path: 'dependencies-2.tgz'