From d726da5d73cab433550ed8362a7248cf2f7b1082 Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Fri, 29 Nov 2024 09:17:04 -0600 Subject: [PATCH] Use conan profiles in CI --- .github/workflows/ci.yml | 20 +++++++++++--------- tools/conan/profiles/scwx-linux_clang-17 | 8 ++++++++ tools/conan/profiles/scwx-linux_gcc-11 | 8 ++++++++ tools/conan/profiles/scwx-linux_gcc-12 | 8 ++++++++ tools/conan/profiles/scwx-linux_gcc-13 | 8 ++++++++ tools/conan/profiles/scwx-linux_gcc-14 | 8 ++++++++ tools/conan/profiles/scwx-win64_msvc2022 | 8 ++++++++ 7 files changed, 59 insertions(+), 9 deletions(-) create mode 100644 tools/conan/profiles/scwx-linux_clang-17 create mode 100644 tools/conan/profiles/scwx-linux_gcc-11 create mode 100644 tools/conan/profiles/scwx-linux_gcc-12 create mode 100644 tools/conan/profiles/scwx-linux_gcc-13 create mode 100644 tools/conan/profiles/scwx-linux_gcc-14 create mode 100644 tools/conan/profiles/scwx-win64_msvc2022 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6a4bb39e..846d76da 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,6 +40,7 @@ jobs: conan_compiler_runtime: --settings compiler.runtime=dynamic conan_compiler_libcxx: '' conan_package_manager: '' + conan_profile: scwx-win64_msvc2022 artifact_suffix: windows-x64 - name: linux64_gcc os: ubuntu-22.04 @@ -59,6 +60,7 @@ jobs: conan_compiler_libcxx: --settings compiler.libcxx=libstdc++ conan_compiler_runtime: '' conan_package_manager: --conf tools.system.package_manager:mode=install --conf tools.system.package_manager:sudo=True + conan_profile: scwx-linux_gcc-11 artifact_suffix: linux-x64 compiler_packages: '' - name: linux64_clang @@ -79,6 +81,7 @@ jobs: conan_compiler_libcxx: --settings compiler.libcxx=libstdc++11 conan_compiler_runtime: '' conan_package_manager: --conf tools.system.package_manager:mode=install --conf tools.system.package_manager:sudo=True + conan_profile: scwx-linux_clang-17 artifact_suffix: linux-clang-x64 compiler_packages: clang-17 name: ${{ matrix.name }} @@ -132,17 +135,14 @@ jobs: shell: pwsh run: | pip install conan - conan profile detect + conan profile detect -e + conan config install ` + ./source/tools/conan/profiles/${{ matrix.conan_profile }} ` + -tf profiles conan install ./source/ ` --remote conancenter ` --build missing ` - --settings arch=${{ matrix.conan_arch }} ` - --settings build_type=${{ matrix.build_type }} ` - --settings compiler="${{ matrix.conan_compiler }}" ` - --settings compiler.version=${{ matrix.conan_compiler_version }} ` - --settings compiler.cppstd=${{ matrix.conan_compiler_cppstd }} ` - ${{ matrix.conan_compiler_libcxx }} ` - ${{ matrix.conan_compiler_runtime }} ` + --profile:all ${{ matrix.conan_profile }} ${{ matrix.conan_package_manager }} - name: Build Supercell Wx @@ -154,7 +154,9 @@ jobs: -G Ninja ` -DCMAKE_BUILD_TYPE="${{ matrix.build_type }}" ` -DCMAKE_PROJECT_TOP_LEVEL_INCLUDES="${{ github.workspace }}/source/external/cmake-conan/conan_provider.cmake" ` - -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/supercell-wx" + -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/supercell-wx" ` + -DCONAN_HOST_PROFILE="${{ matrix.conan_profile }}" ` + -DCONAN_BUILD_PROFILE="${{ matrix.conan_profile }}" ninja supercell-wx wxtest - name: Separate Debug Symbols (Linux) diff --git a/tools/conan/profiles/scwx-linux_clang-17 b/tools/conan/profiles/scwx-linux_clang-17 new file mode 100644 index 00000000..1ee9f30a --- /dev/null +++ b/tools/conan/profiles/scwx-linux_clang-17 @@ -0,0 +1,8 @@ +[settings] +arch=x86_64 +build_type=Release +compiler=clang +compiler.cppstd=20 +compiler.libcxx=libstdc++11 +compiler.version=17 +os=Linux \ No newline at end of file diff --git a/tools/conan/profiles/scwx-linux_gcc-11 b/tools/conan/profiles/scwx-linux_gcc-11 new file mode 100644 index 00000000..cc41b528 --- /dev/null +++ b/tools/conan/profiles/scwx-linux_gcc-11 @@ -0,0 +1,8 @@ +[settings] +arch=x86_64 +build_type=Release +compiler=gcc +compiler.cppstd=20 +compiler.libcxx=libstdc++11 +compiler.version=11 +os=Linux \ No newline at end of file diff --git a/tools/conan/profiles/scwx-linux_gcc-12 b/tools/conan/profiles/scwx-linux_gcc-12 new file mode 100644 index 00000000..a7db9371 --- /dev/null +++ b/tools/conan/profiles/scwx-linux_gcc-12 @@ -0,0 +1,8 @@ +[settings] +arch=x86_64 +build_type=Release +compiler=gcc +compiler.cppstd=20 +compiler.libcxx=libstdc++11 +compiler.version=12 +os=Linux \ No newline at end of file diff --git a/tools/conan/profiles/scwx-linux_gcc-13 b/tools/conan/profiles/scwx-linux_gcc-13 new file mode 100644 index 00000000..ef3ef064 --- /dev/null +++ b/tools/conan/profiles/scwx-linux_gcc-13 @@ -0,0 +1,8 @@ +[settings] +arch=x86_64 +build_type=Release +compiler=gcc +compiler.cppstd=20 +compiler.libcxx=libstdc++11 +compiler.version=13 +os=Linux \ No newline at end of file diff --git a/tools/conan/profiles/scwx-linux_gcc-14 b/tools/conan/profiles/scwx-linux_gcc-14 new file mode 100644 index 00000000..94220e3e --- /dev/null +++ b/tools/conan/profiles/scwx-linux_gcc-14 @@ -0,0 +1,8 @@ +[settings] +arch=x86_64 +build_type=Release +compiler=gcc +compiler.cppstd=20 +compiler.libcxx=libstdc++11 +compiler.version=14 +os=Linux \ No newline at end of file diff --git a/tools/conan/profiles/scwx-win64_msvc2022 b/tools/conan/profiles/scwx-win64_msvc2022 new file mode 100644 index 00000000..0c4513d8 --- /dev/null +++ b/tools/conan/profiles/scwx-win64_msvc2022 @@ -0,0 +1,8 @@ +[settings] +arch=x86_64 +build_type=Release +compiler=msvc +compiler.cppstd=20 +compiler.runtime=dynamic +compiler.version=194 +os=Windows \ No newline at end of file