From 3f61602e303423a1b0ff52b83095cffeb327128a Mon Sep 17 00:00:00 2001 From: Andrey Filipenkov Date: Sat, 13 Jun 2026 16:40:54 +0300 Subject: [PATCH 1/5] remove `compiler.update` from msvc-intel profile --- conan_profiles/base/msvc-intel | 1 - 1 file changed, 1 deletion(-) diff --git a/conan_profiles/base/msvc-intel b/conan_profiles/base/msvc-intel index f7e5f7b..bf5e2b2 100644 --- a/conan_profiles/base/msvc-intel +++ b/conan_profiles/base/msvc-intel @@ -7,7 +7,6 @@ include(msvc) # https://learn.microsoft.com/en-us/cpp/overview/compiler-versions # v142 / 14.29 / 19.29 compiler.version=192 -compiler.update=9 [conf] {% set _WIN32_WINNT_WIN7 = '0x0601' %} From dc8b42b5cfaec85e116cd8103743429cff5be678 Mon Sep 17 00:00:00 2001 From: Andrey Filipenkov Date: Sat, 13 Jun 2026 20:39:32 +0300 Subject: [PATCH 2/5] [CI] fetch VS version in a single step --- .github/workflows/rebuildDependencies.yml | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/.github/workflows/rebuildDependencies.yml b/.github/workflows/rebuildDependencies.yml index 853c363..8bf537e 100644 --- a/.github/workflows/rebuildDependencies.yml +++ b/.github/workflows/rebuildDependencies.yml @@ -78,15 +78,6 @@ jobs: windowsPerl=$(which -a perl | fgrep Strawberry) echo "WINDOWS_PERL_DIR=$(dirname "$windowsPerl")" >> "$GITHUB_ENV" - - name: Detect Visual Studio version (Windows) - if: ${{ startsWith(matrix.platform, 'windows') }} - shell: pwsh - run: | - $vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" - $vsInstallationVersion = & $vswhere -latest -products * -requires Microsoft.Component.MSBuild -property installationVersion - $vsMajor = ($vsInstallationVersion -split '\.')[0] - echo "MSBUILD_VS_VERSION=$vsMajor" >> $env:GITHUB_ENV - - name: Install MSVC v142 toolset (Windows non-ARM) if: ${{ startsWith(matrix.platform, 'windows') && matrix.platform != 'windows-arm64' }} shell: pwsh @@ -112,14 +103,17 @@ jobs: run: | BUILD_ACTION=prepare ./build.sh >> "$GITHUB_ENV" - - name: Configure VS version for Conan (Windows) + - name: Configure VS version for Conan if: ${{ startsWith(matrix.platform, 'windows') }} shell: pwsh run: | + $vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" + $vsInstallationVersion = & $vswhere -latest -products * -requires Microsoft.Component.MSBuild -property installationVersion + $vsMajor = ($vsInstallationVersion -split '\.')[0] + $platformToolsPath = Join-Path -Path $env:RUNNER_TEMP -ChildPath platformTools # appends to [conf] - Add-Content -Path $platformToolsPath -Value "tools.microsoft.msbuild:vs_version=$env:MSBUILD_VS_VERSION" - Write-Host "Configured tools.microsoft.msbuild:vs_version=$env:MSBUILD_VS_VERSION" + Add-Content -Path $platformToolsPath -Value "tools.microsoft.msbuild:vs_version=$vsMajor" - name: Configure MSYS2 if: ${{ startsWith(matrix.platform, 'windows') && matrix.platform != 'windows-arm64' }} From d1e5903d8956eedd40344cf2fda0636aa204b66a Mon Sep 17 00:00:00 2001 From: Andrey Filipenkov Date: Sat, 13 Jun 2026 20:41:21 +0300 Subject: [PATCH 3/5] [build] check for `luajit` option instead of `lua` fixes passing `None` to ignore Lua building --- build.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/build.sh b/build.sh index af1915d..1334601 100755 --- a/build.sh +++ b/build.sh @@ -10,7 +10,6 @@ tempDir="${tempDir//\\//}" # for Windows scriptDir=$(cd "$(dirname "$0")" && pwd) cciRecipePathQt='recipes/qt' cciRepoName='conan-center-index' -conanOptionOrdinaryLuaLib='&:lua_lib=lua' conanOptionTargetPreWindows10='&:target_pre_windows10=True' if command -v python3 >/dev/null ; then python=python3 @@ -187,7 +186,9 @@ build_recipes_from_cci_pull_requests() { # - https://github.com/conan-io/conan-center-index/pull/28251 # - https://github.com/conan-io/conan-center-index/pull/29299 - [[ "${CONAN_OPTIONS:-}" == *"$conanOptionOrdinaryLuaLib"* ]] || buildLuaJit=1 + if [[ -z "${CONAN_OPTIONS:-}" || "$CONAN_OPTIONS" == *"lua_lib=luajit"* ]]; then + buildLuaJit=1 + fi clone_repo "https://github.com/kambala-decapitator/$cciRepoName" cci-fork vcmi \ ${buildLuaJit:+ recipes/luajit} \ @@ -268,7 +269,7 @@ case "$platform" in ;; windows-arm64) CONAN_PROFILES_JSON_ARRAY='["msvc-arm64"]' - CONAN_OPTIONS="--options '$conanOptionOrdinaryLuaLib'" + CONAN_OPTIONS="--options '&:lua_lib=lua'" ;; windows-x64) CONAN_PROFILES_JSON_ARRAY='["msvc-x64"]' From af218419609232abcc1dad2eb1f753f326d11cc1 Mon Sep 17 00:00:00 2001 From: Andrey Filipenkov Date: Sat, 13 Jun 2026 21:01:05 +0300 Subject: [PATCH 4/5] add special MSVC profile to be used by end user in conjunction with one of our profiles --- conan_profiles/base/msvc-user | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 conan_profiles/base/msvc-user diff --git a/conan_profiles/base/msvc-user b/conan_profiles/base/msvc-user new file mode 100644 index 0000000..ba0ba8c --- /dev/null +++ b/conan_profiles/base/msvc-user @@ -0,0 +1,3 @@ +[settings] +{% set compiler, version, _ = detect_api.detect_default_compiler() %} +&:compiler.version={{ detect_api.default_compiler_version(compiler, version) }} From eb170f83455c4509cbda3bf627b5d55e4c56342f Mon Sep 17 00:00:00 2001 From: Andrey Filipenkov Date: Sun, 14 Jun 2026 10:56:32 +0300 Subject: [PATCH 5/5] require opus < 1.6 1.6 doesn't build for Windows ARM --- conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/conanfile.py b/conanfile.py index 689222d..ccfd7cb 100644 --- a/conanfile.py +++ b/conanfile.py @@ -124,6 +124,7 @@ def requirements(self): # client if self.options.with_ffmpeg: + self.requires("opus/[<1.6]") # 1.6 doesn't build for Windows ARM: https://github.com/xiph/opus/pull/478 self.requires("ffmpeg/[>=4.4]") if self.options.get_safe("with_discord_presence", False):