CMake is a hell of a software, period.

This page summarizes the projects mentioned and recommended in the original post on /r/cpp

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • meson

    The Meson Build System

  • I see you don't know the freedom CMake gives you. Ever wanted to use custom compile/link logic? In CMake you can inject that with CMAKE_USER_MAKE_RULES_OVERRIDE and custom rules. In Meson you are basically screwed, everything is hardcoded. Until https://github.com/mesonbuild/meson/commit/b19530bd7dc99e0b5d71acd5cdf85af915b9ddcc you couldn't even pass it full paths to the compiler

  • Protobuf

    Protocol Buffers - Google's data interchange format

  • Protobuf provides a function to do most of that for you: https://github.com/protocolbuffers/protobuf/blob/main/cmake/protobuf-config.cmake.in

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • Limes

    Discontinued C++ utilities and building blocks

  • I'm not sure what you mean about resources? If you're talking about embedded binary assets like images, you absolutely can build those into a static library. It's true that CMake does not provide this capability natively, you need an external tool to generate C++ source files that embed this data, like this little program I wrote: https://github.com/benthevining/Limes/tree/main/programs/binary_builder

  • Oranges

    Discontinued CMake modules, scripts, and utilities

  • Code signing - again, CMake doesn't support this out of the box, but it's not hard to write a reusable CMake module that does this for you. Here's one for Apple codesign and here's one for PACE wraptool.

  • clang-build

    Clang-based cross platform build system written in Python

  • There actually is. https://github.com/Trick-17/clang-build

  • bpt

    A C++ tool for a new decade

  • If you would like an alternative approach, there exists a tool called bpt. It’s a new build tool and I find it a bit more intuitive then Cmake (and makefiles all together). It’s is still a beta tool FYI.

  • codelite

    A multi purpose IDE specialized in C/C++/Rust/Python/PHP and Node.js. Written in C++

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts