From 8a36af6bcbf8aadd6e5037cca026f99bbdf21303 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 19 Aug 2026 10:09:58 +0200 Subject: [PATCH] Update profiles --- .gitea/workflows/ci.yml | 4 +-- .gitea/workflows/sonarqube.yml | 2 +- .gitignore | 2 ++ ConanProfiles/{Tools => build}/clang | 0 ConanProfiles/{Tools => build}/msvc | 0 ConanProfiles/clang | 32 ----------------- ConanProfiles/clang_asan | 35 ------------------- .../{clang_coverage => host/Common/clang} | 11 +----- ConanProfiles/host/Common/msvc | 16 +++++++++ ConanProfiles/host/clang | 14 ++++++++ ConanProfiles/host/clang_asan | 17 +++++++++ ConanProfiles/host/clang_coverage | 13 +++++++ ConanProfiles/{ => host}/msvc | 22 +++--------- ConanProfiles/{ => host}/msvc_asan | 16 ++------- generate_bigfoot.bat | 2 +- generate_bigfoot.sh | 4 +-- 16 files changed, 76 insertions(+), 114 deletions(-) rename ConanProfiles/{Tools => build}/clang (100%) rename ConanProfiles/{Tools => build}/msvc (100%) delete mode 100644 ConanProfiles/clang delete mode 100644 ConanProfiles/clang_asan rename ConanProfiles/{clang_coverage => host/Common/clang} (67%) create mode 100644 ConanProfiles/host/Common/msvc create mode 100644 ConanProfiles/host/clang create mode 100644 ConanProfiles/host/clang_asan create mode 100644 ConanProfiles/host/clang_coverage rename ConanProfiles/{ => host}/msvc (52%) rename ConanProfiles/{ => host}/msvc_asan (63%) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 0754b8d..b4c719d 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: matrix: build_type: ["Debug", "RelWithDebInfo", "Release"] unity_build: ["ON", "OFF"] - conan_profile: ["./ConanProfiles/clang", "./ConanProfiles/clang_asan"] + conan_profile: ["./ConanProfiles/host/clang", "./ConanProfiles/host/clang_asan"] name: "Build & Test ${{ matrix.build_type }} with ${{ matrix.conan_profile }} (Unity Build: ${{ matrix.unity_build }})" steps: - name: Install Node.js @@ -30,7 +30,7 @@ jobs: - name: Build run: | - conan install . --remote=bigfootpackages -pr:h=${{ matrix.conan_profile }} -pr:b=./ConanProfiles/Tools/clang --build=* -s build_type=${{ matrix.build_type }} -o bigfoot/*:build_tests=True -o bigfoot/*:build_benchmarks=True -o bigfoot/*:tracy=False -o bigfoot/*:vulkan=True + conan install . --remote=bigfootpackages -pr:h=${{ matrix.conan_profile }} -pr:b=./ConanProfiles/build/clang --build=* -s build_type=${{ matrix.build_type }} -o bigfoot/*:build_tests=True -o bigfoot/*:build_benchmarks=True -o bigfoot/*:tracy=False -o bigfoot/*:vulkan=True . ./build/${{ matrix.build_type }}/generators/conanbuild.sh cmake -S . -B ./build/${{ matrix.build_type }} --toolchain ./build/${{ matrix.build_type }}/generators/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_UNITY_BUILD=${{ matrix.unity_build }} -G "Ninja" cmake --build build/${{ matrix.build_type }} --parallel $(nproc) diff --git a/.gitea/workflows/sonarqube.yml b/.gitea/workflows/sonarqube.yml index 50c20ae..e5e663c 100644 --- a/.gitea/workflows/sonarqube.yml +++ b/.gitea/workflows/sonarqube.yml @@ -26,7 +26,7 @@ jobs: - name: Build run: | - conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/clang_coverage -pr:b=./ConanProfiles/Tools/clang --build=* -s build_type=Debug -o bigfoot/*:build_tests=True -o bigfoot/*:build_benchmarks=True -o bigfoot/*:tracy=False -o bigfoot/*:build_tools=True -o bigfoot/*:vulkan=True + conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/host/clang_coverage -pr:b=./ConanProfiles/build/clang --build=* -s build_type=Debug -o bigfoot/*:build_tests=True -o bigfoot/*:build_benchmarks=True -o bigfoot/*:tracy=False -o bigfoot/*:build_tools=True -o bigfoot/*:vulkan=True . ./build/Debug/generators/conanbuild.sh cmake -S . -B ./build/Debug --toolchain ./build/Debug/generators/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Debug -G "Ninja" cmake --build build/Debug --parallel $(nproc) diff --git a/.gitignore b/.gitignore index ac60dd1..7e16e03 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ [Bb]uild* +!ConanProfiles/build/ +!ConanProfiles/build/** Environment/output *.generated.h diff --git a/ConanProfiles/Tools/clang b/ConanProfiles/build/clang similarity index 100% rename from ConanProfiles/Tools/clang rename to ConanProfiles/build/clang diff --git a/ConanProfiles/Tools/msvc b/ConanProfiles/build/msvc similarity index 100% rename from ConanProfiles/Tools/msvc rename to ConanProfiles/build/msvc diff --git a/ConanProfiles/clang b/ConanProfiles/clang deleted file mode 100644 index 99256b0..0000000 --- a/ConanProfiles/clang +++ /dev/null @@ -1,32 +0,0 @@ -[settings] -os=Linux -arch=x86_64 -compiler=clang -compiler.version=20 -compiler.libcxx=libstdc++11 -compiler.cppstd=20 -compiler.cstd=17 -compiler.runtime=static -build_type=Release - -[conf] -tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/mold.cmake -tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ipo.cmake -tools.meson.mesontoolchain:extra_machine_files+={{profile_dir}}/Toolchains/ipo.ini - -tools.system.package_manager:mode=install -tools.system.package_manager:sudo=True - -tools.build:cxxflags=["-fno-exceptions", "-fno-rtti"] - -tools.build:compiler_executables={"c": "clang", "cpp": "clang++"} - -tools.cmake.cmaketoolchain:generator=Ninja - -[tool_requires] -!cmake/*:cmake/4.3.2 -!mold/*:mold/2.41.0@bigfootdev/main -!ninja/*:ninja/1.13.2 - -[options] -bigfoot/*:build_tests=True \ No newline at end of file diff --git a/ConanProfiles/clang_asan b/ConanProfiles/clang_asan deleted file mode 100644 index 266cc86..0000000 --- a/ConanProfiles/clang_asan +++ /dev/null @@ -1,35 +0,0 @@ -[settings] -os=Linux -arch=x86_64 -compiler=clang -compiler.version=20 -compiler.libcxx=libstdc++11 -compiler.cppstd=20 -compiler.cstd=17 -compiler.runtime=static -build_type=Debug - -[conf] -tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/mold.cmake - -tools.system.package_manager:mode=install -tools.system.package_manager:sudo=True - -tools.build:exelinkflags=["-fsanitize=address,undefined,leak"] -tools.build:sharedlinkflags=["-fsanitize=address,undefined,leak"] - -tools.build:cflags=["-fsanitize=address,undefined,leak", "-fno-sanitize-recover=all"] -tools.build:cxxflags=["-fno-exceptions", "-fno-rtti", "-fsanitize=address,undefined,leak", "-fno-sanitize-recover=all"] - -tools.cmake.cmaketoolchain:generator=Ninja - -tools.build:compiler_executables={"c": "clang", "cpp": "clang++"} - -[tool_requires] -!cmake/*: cmake/4.3.2 -!mold/*: mold/2.41.0@bigfootdev/main -!ninja/*: ninja/1.13.2 - -[options] -bigfoot/*:asan=True -bigfoot/*:build_tests=True \ No newline at end of file diff --git a/ConanProfiles/clang_coverage b/ConanProfiles/host/Common/clang similarity index 67% rename from ConanProfiles/clang_coverage rename to ConanProfiles/host/Common/clang index 0ee4944..7c98f04 100644 --- a/ConanProfiles/clang_coverage +++ b/ConanProfiles/host/Common/clang @@ -7,25 +7,16 @@ compiler.libcxx=libstdc++11 compiler.cppstd=20 compiler.cstd=17 compiler.runtime=static -build_type=Debug [conf] -tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/mold.cmake - tools.system.package_manager:mode=install tools.system.package_manager:sudo=True -tools.build:cxxflags=["-fno-exceptions", "-fno-rtti"] +tools.build:compiler_executables={"c": "clang", "cpp": "clang++"} tools.cmake.cmaketoolchain:generator=Ninja -tools.build:compiler_executables={"c": "clang", "cpp": "clang++"} - [tool_requires] !cmake/*: cmake/4.3.2 !mold/*: mold/2.41.0@bigfootdev/main !ninja/*: ninja/1.13.2 - -[options] -bigfoot/*:build_tests=True -bigfoot/*:coverage=True \ No newline at end of file diff --git a/ConanProfiles/host/Common/msvc b/ConanProfiles/host/Common/msvc new file mode 100644 index 0000000..cf4b02b --- /dev/null +++ b/ConanProfiles/host/Common/msvc @@ -0,0 +1,16 @@ +[settings] +os=Windows +arch=x86_64 +compiler=msvc +compiler.version=195 +compiler.cppstd=20 +compiler.cstd=17 +compiler.runtime=static + +[conf] +tools.build:defines=["_HAS_EXCEPTIONS=0"] + +tools.env.virtualenv:powershell=powershell.exe + +[tool_requires] +!cmake/*: cmake/4.3.2 diff --git a/ConanProfiles/host/clang b/ConanProfiles/host/clang new file mode 100644 index 0000000..6bf0597 --- /dev/null +++ b/ConanProfiles/host/clang @@ -0,0 +1,14 @@ +include(Common/clang) + +[settings] +build_type=Release + +[conf] +tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/../Toolchains/mold.cmake +tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/../Toolchains/ipo.cmake +tools.meson.mesontoolchain:extra_machine_files+={{profile_dir}}/../Toolchains/ipo.ini + +tools.build:cxxflags=["-fno-exceptions", "-fno-rtti"] + +[options] +bigfoot/*:build_tests=True diff --git a/ConanProfiles/host/clang_asan b/ConanProfiles/host/clang_asan new file mode 100644 index 0000000..776b50f --- /dev/null +++ b/ConanProfiles/host/clang_asan @@ -0,0 +1,17 @@ +include(Common/clang) + +[settings] +build_type=Debug + +[conf] +tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/../Toolchains/mold.cmake + +tools.build:exelinkflags=["-fsanitize=address,undefined,leak"] +tools.build:sharedlinkflags=["-fsanitize=address,undefined,leak"] + +tools.build:cflags=["-fsanitize=address,undefined,leak", "-fno-sanitize-recover=all"] +tools.build:cxxflags=["-fno-exceptions", "-fno-rtti", "-fsanitize=address,undefined,leak", "-fno-sanitize-recover=all"] + +[options] +bigfoot/*:asan=True +bigfoot/*:build_tests=True diff --git a/ConanProfiles/host/clang_coverage b/ConanProfiles/host/clang_coverage new file mode 100644 index 0000000..5d3075c --- /dev/null +++ b/ConanProfiles/host/clang_coverage @@ -0,0 +1,13 @@ +include(Common/clang) + +[settings] +build_type=Debug + +[conf] +tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/../Toolchains/mold.cmake + +tools.build:cxxflags=["-fno-exceptions", "-fno-rtti"] + +[options] +bigfoot/*:build_tests=True +bigfoot/*:coverage=True diff --git a/ConanProfiles/msvc b/ConanProfiles/host/msvc similarity index 52% rename from ConanProfiles/msvc rename to ConanProfiles/host/msvc index 17a698e..2fc8f45 100644 --- a/ConanProfiles/msvc +++ b/ConanProfiles/host/msvc @@ -1,26 +1,14 @@ +include(Common/msvc) + [settings] -os=Windows -arch=x86_64 -compiler=msvc -compiler.version=195 -compiler.cppstd=20 -compiler.cstd=17 -compiler.runtime=static build_type=Release [conf] -tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ipo.cmake -tools.meson.mesontoolchain:extra_machine_files+={{profile_dir}}/Toolchains/ipo.ini +tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/../Toolchains/ipo.cmake +tools.meson.mesontoolchain:extra_machine_files+={{profile_dir}}/../Toolchains/ipo.ini tools.build:cflags=["/Zc:preprocessor", "/Zc:__STDC__", "/D_CRT_DECLARE_NONSTDC_NAMES=1"] tools.build:cxxflags=["/Zc:preprocessor", "/permissive-", "/Zc:__cplusplus", "/Zc:enumTypes", "/Zc:templateScope", "/Zc:externConstexpr", "/Zc:lambda", "/Zc:throwingNew", "/volatile:iso", "/EHs-c-", "/GR-"] -tools.build:defines=["_HAS_EXCEPTIONS=0"] - -tools.env.virtualenv:powershell=powershell.exe - -[tool_requires] -!cmake/*: cmake/4.3.2 - [options] -bigfoot/*:build_tests=True \ No newline at end of file +bigfoot/*:build_tests=True diff --git a/ConanProfiles/msvc_asan b/ConanProfiles/host/msvc_asan similarity index 63% rename from ConanProfiles/msvc_asan rename to ConanProfiles/host/msvc_asan index c022b32..1d0f535 100644 --- a/ConanProfiles/msvc_asan +++ b/ConanProfiles/host/msvc_asan @@ -1,24 +1,12 @@ +include(Common/msvc) + [settings] -os=Windows -arch=x86_64 -compiler=msvc -compiler.version=195 -compiler.cppstd=20 -compiler.cstd=17 -compiler.runtime=static build_type=Debug [conf] tools.build:cflags=["/Zc:preprocessor", "/Zc:__STDC__", "/D_CRT_DECLARE_NONSTDC_NAMES=1", "/fsanitize=address"] tools.build:cxxflags=["/Zc:preprocessor", "/permissive-", "/Zc:__cplusplus", "/Zc:enumTypes", "/Zc:templateScope", "/Zc:externConstexpr", "/Zc:lambda", "/Zc:throwingNew", "/volatile:iso", "/EHs-c-", "/GR-", "/fsanitize=address"] -tools.build:defines=["_HAS_EXCEPTIONS=0"] - -tools.env.virtualenv:powershell=powershell.exe - -[tool_requires] -!cmake/*: cmake/4.3.2 - [options] bigfoot/*:asan=True bigfoot/*:build_tests=True diff --git a/generate_bigfoot.bat b/generate_bigfoot.bat index 5ec1ffb..4d92455 100644 --- a/generate_bigfoot.bat +++ b/generate_bigfoot.bat @@ -25,7 +25,7 @@ if errorlevel 1 ( ) REM ─── Shared flags ──────────────────────────────────────────────────────────── -set "conan_common=--remote=bigfootpackages -pr:h=./ConanProfiles/msvc -pr:b=./ConanProfiles/Tools/msvc -of build-windows -o bigfoot/*:build_tests=True -o bigfoot/*:build_benchmarks=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True" +set "conan_common=--remote=bigfootpackages -pr:h=./ConanProfiles/host/msvc -pr:b=./ConanProfiles/build/msvc -of build-windows -o bigfoot/*:build_tests=True -o bigfoot/*:build_benchmarks=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True" REM ─── Install dependencies for each build type ──────────────────────────────── for %%C in (Release RelWithDebInfo Debug) do ( diff --git a/generate_bigfoot.sh b/generate_bigfoot.sh index c0d1161..81982bd 100644 --- a/generate_bigfoot.sh +++ b/generate_bigfoot.sh @@ -53,8 +53,8 @@ fi # ─── Shared flags ───────────────────────────────────────────────────────────── conan_common=( --remote=bigfootpackages - -pr:h=./ConanProfiles/clang - -pr:b=./ConanProfiles/Tools/clang + -pr:h=./ConanProfiles/host/clang + -pr:b=./ConanProfiles/build/clang -of build-linux -o "bigfoot/*:build_tests=True" -o "bigfoot/*:build_benchmarks=True"