Our great sponsors
-
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.
-
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.
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 provides a function to do most of that for you: https://github.com/protocolbuffers/protobuf/blob/main/cmake/protobuf-config.cmake.in
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
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.
There actually is. https://github.com/Trick-17/clang-build
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.
Related posts
- Chalet: A cross-platform project format & build tool for C/C++
- Chalet: A cross-platform project format and build tool for C/C++
- Chalet: A cross-platform project format & build tool for C/C++
- How might software development have unfolded if CPU speeds were 20x slower?
- C++ Game Utility Libraries: for Game Dev Rustaceans