diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index a3c5419..0388cab 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -25,9 +25,15 @@ jobs: - build_type: Debug conan_profile: ./ConanProfiles/clangd name: Debug (ASAN, LSAN, UBSAN) + - build_type: Debug + conan_profile: ./ConanProfiles/clangd2 + name: Debug (MSAN) - build_type: RelWithDebInfo conan_profile: ./ConanProfiles/clangd name: RelWithDebInfo (ASAN, LSAN, UBSAN) + - build_type: RelWithDebInfo + conan_profile: ./ConanProfiles/clangd2 + name: RelWithDebInfo (MSAN) name: "Build & Test ${{ matrix.name }}" steps: - name: Install Node.js diff --git a/ConanProfiles/clangd2 b/ConanProfiles/clangd2 new file mode 100644 index 0000000..4192a88 --- /dev/null +++ b/ConanProfiles/clangd2 @@ -0,0 +1,34 @@ +[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:extra_variables={'CMAKE_CXX_COMPILER_LAUNCHER': 'ccache', 'CMAKE_C_COMPILER_LAUNCHER': 'ccache'} +tools.cmake.cmaketoolchain:extra_variables*={'BIN2CPP_CXX_FLAGS': {'value': '-Wall;-Wextra;-Wpedantic;-Werror', 'cache': True, 'type': 'STRING', 'docstring': 'CXX flags for Bin2CPP', 'force': True}} + +tools.system.package_manager:mode=install +tools.system.package_manager:sudo=True + +tools.build:cflags=["-fsanitize=memory", "-fno-sanitize-recover=all"] +tools.build:cxxflags=["-fsanitize=memory", "-fno-sanitize-recover=all"] + +tools.build:exelinkflags=["-fuse-ld=mold", "-fsanitize=memory"] +tools.build:sharedlinkflags=["-fuse-ld=mold", "-fsanitize=memory"] + +tools.cmake.cmaketoolchain:generator=Ninja + +tools.build:compiler_executables={"c": "clang", "cpp": "clang++"} + +[tool_requires] +!cmake/*: cmake/[>=4.2] + +[options] +Bin2CPP/*:asan=True +Bin2CPP/*:build_tests=True \ No newline at end of file