diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 9ceec91..6d85dc6 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -40,7 +40,7 @@ jobs: run: | for build_type in Debug RelWithDebInfo Release; do conan install . --remote=bigfootpackages \ - -pr:h=./ConanProfiles/clang -pr:b=./ConanProfiles/clang \ + -pr:h=./ConanProfiles/clang -pr:b=./ConanProfiles/Tools/clang \ --build=missing \ -s build_type=$build_type \ -o bigfoot/*:build_tests=True \ @@ -48,7 +48,7 @@ jobs: -o bigfoot/*:vulkan=True done conan install . --remote=bigfootpackages \ - -pr:h=./ConanProfiles/clang_asan -pr:b=./ConanProfiles/clang_asan \ + -pr:h=./ConanProfiles/clang_asan -pr:b=./ConanProfiles/Tools/clang \ --build=missing \ -s build_type=$build_type \ -o bigfoot/*:build_tests=True \ @@ -93,7 +93,7 @@ jobs: - name: Build run: | - conan install . --remote=bigfootpackages -pr:h=${{ matrix.conan_profile }} -pr:b=${{ matrix.conan_profile }} --build=never -s build_type=${{ matrix.build_type }} -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=False -o bigfoot/*:vulkan=True + conan install . --remote=bigfootpackages -pr:h=${{ matrix.conan_profile }} -pr:b=./ConanProfiles/Tools/clang --build=never -s build_type=${{ matrix.build_type }} -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=False -o bigfoot/*:vulkan=True 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 ceb7c4d..4aebf0c 100644 --- a/.gitea/workflows/sonarqube.yml +++ b/.gitea/workflows/sonarqube.yml @@ -39,7 +39,7 @@ on: run: | for build_type in Debug RelWithDebInfo Release; do conan install . --remote=bigfootpackages \ - -pr:h=./ConanProfiles/clang -pr:b=./ConanProfiles/clang \ + -pr:h=./ConanProfiles/clang -pr:b=./ConanProfiles/Tools/clang \ --build=missing \ -s build_type=$build_type \ -o bigfoot/*:build_tests=True \ @@ -47,7 +47,7 @@ on: -o bigfoot/*:vulkan=True done conan install . --remote=bigfootpackages \ - -pr:h=./ConanProfiles/clang_asan -pr:b=./ConanProfiles/clang_asan \ + -pr:h=./ConanProfiles/clang_asan -pr:b=./ConanProfiles/Tools/clang \ --build=missing \ -s build_type=$build_type \ -o bigfoot/*:build_tests=True \ @@ -88,7 +88,7 @@ jobs: - name: Build run: | - conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/clang_coverage -pr:b=./ConanProfiles/clang_coverage --build=never -s build_type=Debug -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=False -o bigfoot/*:build_tools=True -o bigfoot/*:vulkan=True + conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/clang_coverage -pr:b=./ConanProfiles/Tools/clang --build=never -s build_type=Debug -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=False -o bigfoot/*:build_tools=True -o bigfoot/*:vulkan=True 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/ConanProfiles/ccache.cmake b/ConanProfiles/Toolchains/ccache.cmake similarity index 100% rename from ConanProfiles/ccache.cmake rename to ConanProfiles/Toolchains/ccache.cmake diff --git a/ConanProfiles/ipo.cmake b/ConanProfiles/Toolchains/ipo.cmake similarity index 59% rename from ConanProfiles/ipo.cmake rename to ConanProfiles/Toolchains/ipo.cmake index ab67528..7e83475 100644 --- a/ConanProfiles/ipo.cmake +++ b/ConanProfiles/Toolchains/ipo.cmake @@ -1,5 +1,5 @@ include_guard() -cmake_policy(CMAKE_POLICY_DEFAULT_CMP0069 NEW) +set(CMAKE_POLICY_DEFAULT_CMP0069 NEW) set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE TRUE) \ No newline at end of file diff --git a/ConanProfiles/Tools/clang b/ConanProfiles/Tools/clang new file mode 100644 index 0000000..50233aa --- /dev/null +++ b/ConanProfiles/Tools/clang @@ -0,0 +1,27 @@ +[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/ccache.cmake +tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/../Toolchains/ipo.cmake + +tools.system.package_manager:mode=install +tools.system.package_manager:sudo=True + +tools.build:exelinkflags=["-fuse-ld=mold"] +tools.build:sharedlinkflags=["-fuse-ld=mold"] + +tools.build:compiler_executables={"c": "clang", "cpp": "clang++"} + +tools.cmake.cmaketoolchain:generator=Ninja + +[tool_requires] +!cmake/*: cmake/[>=4.2] \ No newline at end of file diff --git a/ConanProfiles/Tools/msvc b/ConanProfiles/Tools/msvc new file mode 100644 index 0000000..27ce7bb --- /dev/null +++ b/ConanProfiles/Tools/msvc @@ -0,0 +1,22 @@ +[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/ccache.cmake +tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/../Toolchains/ipo.cmake + +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"] + +[tool_requires] +!cmake/*: cmake/[>=4.2] + +[options] +Bigfoot/*:build_tests=True \ No newline at end of file diff --git a/ConanProfiles/clang b/ConanProfiles/clang index 44f844d..d66e323 100644 --- a/ConanProfiles/clang +++ b/ConanProfiles/clang @@ -10,8 +10,8 @@ compiler.runtime=static build_type=Release [conf] -tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/ccache.cmake -tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/ipo.cmake +tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ccache.cmake +tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ipo.cmake tools.system.package_manager:mode=install tools.system.package_manager:sudo=True diff --git a/ConanProfiles/clang_asan b/ConanProfiles/clang_asan index ed68cf6..55d5f9d 100644 --- a/ConanProfiles/clang_asan +++ b/ConanProfiles/clang_asan @@ -10,8 +10,8 @@ compiler.runtime=static build_type=Debug [conf] -tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/ccache.cmake -tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/ipo.cmake +tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ccache.cmake +tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ipo.cmake tools.system.package_manager:mode=install tools.system.package_manager:sudo=True diff --git a/ConanProfiles/clang_coverage b/ConanProfiles/clang_coverage index b873609..b4e016e 100644 --- a/ConanProfiles/clang_coverage +++ b/ConanProfiles/clang_coverage @@ -10,8 +10,8 @@ compiler.runtime=static build_type=Debug [conf] -tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/ccache.cmake -tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/ipo.cmake +tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ccache.cmake +tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ipo.cmake tools.system.package_manager:mode=install tools.system.package_manager:sudo=True diff --git a/ConanProfiles/msvc b/ConanProfiles/msvc index 0902914..88667b0 100644 --- a/ConanProfiles/msvc +++ b/ConanProfiles/msvc @@ -9,8 +9,8 @@ compiler.runtime=static build_type=Release [conf] -tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/ccache.cmake -tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/ipo.cmake +tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ccache.cmake +tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ipo.cmake 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", "/EHs-c-", "/GR-"] diff --git a/ConanProfiles/msvc_asan b/ConanProfiles/msvc_asan index 1c538e8..120bc3f 100644 --- a/ConanProfiles/msvc_asan +++ b/ConanProfiles/msvc_asan @@ -9,8 +9,8 @@ compiler.runtime=static build_type=Debug [conf] -tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/ccache.cmake -tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/ipo.cmake +tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ccache.cmake +tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ipo.cmake 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", "/EHs-c-", "/GR-", "/fsanitize=address"] diff --git a/conanfile.py b/conanfile.py index 3441d4c..812686e 100644 --- a/conanfile.py +++ b/conanfile.py @@ -78,7 +78,7 @@ class Bigfoot(ConanFile): self.requires("glm/1.0.1", transitive_headers=True) self.requires("lodepng/cci.20260210@bigfootdev/main", transitive_headers=True) - self.requires("imgui/1.92.5-docking", transitive_headers=True) + self.requires("imgui/1.92.6-docking@bigfootdev/main", transitive_headers=True) if(self.options.vulkan): self.requires("vulkan-headers/1.4.341.0@bigfootdev/main", override=True) diff --git a/generate_dependencies.bat b/generate_dependencies.bat index 0daf111..75d0638 100644 --- a/generate_dependencies.bat +++ b/generate_dependencies.bat @@ -23,8 +23,8 @@ REM Add the remote conan remote add bigfootpackages https://conan.romainboullard.com/artifactory/api/conan/BigfootPackages REM Install dependencies with the specified build option -conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/msvc -pr:b=./ConanProfiles/msvc %build_option% -of build -s build_type=Release -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True -conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/msvc -pr:b=./ConanProfiles/msvc %build_option% -of build -s build_type=RelWithDebInfo -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True -conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/msvc -pr:b=./ConanProfiles/msvc %build_option% -of build -s build_type=Debug -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True +conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/msvc -pr:b=./ConanProfiles/Tools/msvc %build_option% -of build -s build_type=Release -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True +conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/msvc -pr:b=./ConanProfiles/Tools/msvc %build_option% -of build -s build_type=RelWithDebInfo -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True +conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/msvc -pr:b=./ConanProfiles/Tools/msvc %build_option% -of build -s build_type=Debug -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True endlocal diff --git a/generate_dependencies.sh b/generate_dependencies.sh index 7f01e9d..9b48fac 100644 --- a/generate_dependencies.sh +++ b/generate_dependencies.sh @@ -11,13 +11,13 @@ conan remote add bigfootpackages https://conan.romainboullard.com/artifactory/ap # Set the build option based on the argument if [ "$1" == "force" ]; then - conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/clang -pr:b=./ConanProfiles/clang --build='*' -of build -s build_type=Release -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True - conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/clang -pr:b=./ConanProfiles/clang --build='*' -of build -s build_type=RelWithDebInfo -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True - conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/clang -pr:b=./ConanProfiles/clang --build='*' -of build -s build_type=Debug -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True + conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/clang -pr:b=./ConanProfiles/Tools/clang --build='*' -of build -s build_type=Release -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True + conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/clang -pr:b=./ConanProfiles/Tools/clang --build='*' -of build -s build_type=RelWithDebInfo -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True + conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/clang -pr:b=./ConanProfiles/Tools/clang --build='*' -of build -s build_type=Debug -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True elif [ "$1" == "missing" ]; then - conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/clang -pr:b=./ConanProfiles/clang --build=missing -of build -s build_type=Release -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True - conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/clang -pr:b=./ConanProfiles/clang --build=missing -of build -s build_type=RelWithDebInfo -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True - conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/clang -pr:b=./ConanProfiles/clang --build=missing -of build -s build_type=Debug -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True + conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/clang -pr:b=./ConanProfiles/Tools/clang --build=missing -of build -s build_type=Release -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True + conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/clang -pr:b=./ConanProfiles/Tools/clang --build=missing -of build -s build_type=RelWithDebInfo -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True + conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/clang -pr:b=./ConanProfiles/Tools/clang --build=missing -of build -s build_type=Debug -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True else echo "Invalid argument: $1" echo "Usage: $0 [force|missing]"