Skip to content
  1. Sep 26, 2024
  2. Sep 25, 2024
    • StableCoder's avatar
      Update Leak sanitizer examples · 4bc772c9
      StableCoder authored
      Expand from just a direct leak, to both a direct and indirect leak
      example programs.
      4bc772c9
    • StableCoder's avatar
      Add ASAN_OPTION for CI jobs · 6eb10c94
      StableCoder authored
      Turn off leak detection on address sanitizer, to better showcase
      address-specific detection and the leak sanitizer.
      6eb10c94
    • StableCoder's avatar
      Update CI jobs · 2ab6c58f
      StableCoder authored
      Change CMake calls for better option clarity, and sanitizer builds from
      release to debug builds for clearer errors.
      2ab6c58f
    • StableCoder's avatar
      Expand detected address sanitizer examples · 95693adb
      StableCoder authored
      Instead of just the one example that detected the use-after-free, added
      a number of new files to detect:
      - double free
      - out of bounds on global/heap/stack data
      - use after free
      - use after return
      - use after scope
      
      While compiler warnings have improved to detect some of these cases at
      compile time, they all do still compile.
      
      Apart from double-free, all of these programs also execute without
      issue, highlighting the usefulness of address sanitizer runs.
      95693adb
    • StableCoder's avatar
      Set EXAMPLE_USE_SANITIZER as a CMake cache option · bde099d0
      StableCoder authored
      Easier to find/use sanitizers with the examples.
      bde099d0
    • StableCoder's avatar
      Update Windows CI jobs · f86c35d1
      StableCoder authored
      Update for new ltsc based Windows container images.
      f86c35d1
  3. Sep 01, 2024
  4. Aug 31, 2024
    • StableCoder's avatar
      Run sanitizer single flag checks for all platforms · fe761d54
      StableCoder authored
      When checking for the availability of a sanitizer set, it would only run
      `check_cxx_source_compiles` for the full set of flags, and additionally
      `check_cxx_compiler_flag` on WIN32.
      
      Now, it performs both checks for all platforms.
      fe761d54
  5. Aug 26, 2024
  6. Aug 25, 2024
  7. Aug 24, 2024
    • StableCoder's avatar
      Updated C++ standards macros · 6a3fcab0
      StableCoder authored
      Each C++ version macro now uses version-specific variables instead of
      one general, to help prevent issues when changing versions and the
      variable being accidentally being used for a different version across
      configurations/generations.
      6a3fcab0
    • StableCoder's avatar
      Add Windows CI variant for sanitizer CI jobs · 749aef64
      StableCoder authored
      For Windows, add jobs testing the address sanitizer for MSVC, as no
      sanitizer is known to work with Clang or Clang-CL.
      749aef64
  8. Aug 23, 2024
    • StableCoder's avatar
      Add macOS variants for sanitizer CI jobs · 3d30823e
      StableCoder authored
      For macOS, add jobs testing sanitizer works both with AppleClang and
      Clang.
      3d30823e
    • StableCoder's avatar
      Add GCC variants of Linux/Sanitizer CI jobs · 09638749
      StableCoder authored
      While clang has the best support, GCC also supports a number of
      sanitizers, so verify via new CI jobs.
      09638749
    • StableCoder's avatar
      Modernize sanitizer scripts · 33a33ee8
      StableCoder authored
      The previous sanitizer support was implemented in a very rigid manner,
      with the compile options available for each sanitizer type been preset,
      and enabling of each sanitizer through a preset variable.
      
      This change makes it so that setting of compile options can be set on a
      per-sanitizer-type basis and then added to builds via functions. Use via
      the legacy `USE_SANITIZER` is available, but deprecated.
      
      This is also flexible enough to allow overriding of the compile options,
      via variables either in-script or passed in via the command-line.
      
      Results of checks for compile compatability are cached, reducing time
      on subsequent builds, provided the associated compile options are not
      updated.
      
      Checks for sanitizer availability/compatability are no longer platform
      dependent. It will check on all platforms.
      33a33ee8
  9. Apr 23, 2024
  10. Apr 12, 2024
  11. Aug 03, 2023
    • StableCoder's avatar
      Remove openSUSE analysis test jobs · 8a92770d
      StableCoder authored
      Analysis tools have been dropped from it since not all tools are
      available on all supported architectures.
    • StableCoder's avatar
      Rework of tools.cmake items · ba834211
      StableCoder authored
      Previously, the turning on/off clang-tidy, include-what-you-use and
      cppcheck was handled by a combination of an option and the use of macros
      for specific details. This has meant only straightforward usage was
      accomodated.
      
      Rather, there is a desire to be more flexible, to allow for difference
      code to be compiled with different options, or to turn on/off tools
      altogether for specific scopes.
      
      The options of `CLANG_TIDY`, `IWYU` and `CPPCHECK` have been removed.
      Instead, it is up to the including project on when/how to enable these
      tools. The ability to 'reset' the tools, to disable them for certain
      scopes has been accomodated via the use of `reset_*` macros.
      ba834211
  12. Jul 22, 2023
  13. Jun 12, 2023
  14. Apr 25, 2023
    • StableCoder's avatar
      Update CI jobs · 135a4784
      StableCoder authored
      Prefixed all code-coverage jobs with the operating system, added Windows
      all code coverage jobs.
      
      Add macOS AppleClang/Clang CI jobs
      
      Expand testing to other architectures, with Linux is
      amd64/arm64/ppc64le, macOS is amd64/arm64, and Windows is amd64.
    • StableCoder's avatar
      Add code coverage support on Apple llvm toolchain · 25fe881a
      StableCoder authored
      When on macOS, if using the Apple-provided toolchain from XCode, also
      use the same toolchain for code-coverage. The use of hybrid toolchains
      does not go well.
      25fe881a
  15. Apr 23, 2023
    • StableCoder's avatar
      Remove Findassimp module · 321dbc7f
      StableCoder authored
      The assimp library now has pkg-config and CMake config files installed
      by default, rendering this module script unnecessary.
      321dbc7f
  16. Mar 28, 2023
  17. Mar 16, 2023
    • StableCoder's avatar
      Remove several Find*.cmake files · 6873aff8
      StableCoder authored
      Since these files were originally added, the libraries themselves have
      added native CMake configuration files that can be used instead.
      6873aff8
  18. Jan 11, 2023
    • StableCoder's avatar
      Remove ccov-preprocessing target · 2c1576a7
      StableCoder authored
      The only purpose of the job was to create the 'ccov' directory in the
      binary directory to store all the generated code coverage files.
      
      Rather than generating the directory at build time using a target,t he
      directory is now created at CMake generation time, meaning the build-
      time target is no longer necessary.
      2c1576a7
    • StableCoder's avatar
      Format tools file · bc99f5ba
      StableCoder authored
      bc99f5ba
    • StableCoder's avatar
      Fix CI jobs on incorrect nodes · 7765742c
      StableCoder authored
      CI attempted to run jobs on riscv64 nodes when opensuse/fedora don't
      have supported container images for that architecture.
      7765742c
    • StableCoder's avatar
      Update CI job runner tags · a21acee8
      StableCoder authored
      Infrastructure/CI runners have been restructured.
      a21acee8
Loading