Use mold Linker with CMake

Use mold Linker with CMake

The mold is a linker for Unix systems, designed as a fast, drop-in replacement for tools like GNU ld and LLVM lld. By optimizing parallelism and memory usage, it delivers...
Deprecate Code in C++

Deprecate Code in C++

In software development, maintaining a large codebase often involves updating APIs, replacing old functions, or removing unsafe code. However, simply deleting old code can break existing programs that still rely...
Use Sccache with CMake

Use Sccache with CMake

Compiling large applications can take a lot of time, especially during development when small changes often trigger rebuilds. Sccache, a modern caching tool and an alternative to Ccache, helps mitigate...
Set Build Type using CMake

Set Build Type using CMake

When working with CMake-based projects, one important aspect to control is the build configuration. CMake supports multiple build types that influence compiler options, optimizations, and whether debug information is generated...
Suppress CMake Warnings

Suppress CMake Warnings

Warnings in build systems are often useful: they alert you to deprecated features, suspicious patterns, or potential future breakage. But not every warning is something you can address - especially...
Treat CMake Warnings as Errors

Treat CMake Warnings as Errors

Warnings in build systems are often ignored because they don't break the build. But ignoring them can lead to hidden problems and future breakage - especially when CMake deprecates features...
Use Ninja Build System with CMake

Use Ninja Build System with CMake

When configuring projects with CMake, you're not limited to the default build backends like Unix Makefile or MSBuild. Another popular option is Ninja, a small, fast build system designed for...