Things I Learnt While Trying to Avoid Becoming a CMake Expert
I am absolutely not a CMake expert, but over the course of the past two years I have acquired the maintainership of a few of the most popular CMake modules at my employer.
During that time I have encountered a variety of patterns, practices and pitfalls, and I'd like to share what I've found works and things which I've learnt to avoid.
I'll start with a brief demonstration of CMake, using a simple project to explain fundamentals and some basic best practices.
I'll then examine some of the drivers that might lead one to seek more powerful constructs and use this as an opportunity to investigate variables, functions and macros. In this section, I'll go quite carefully over a few of the more surprising behaviours of the CMake language.
Finally, I'll demonstrate how to put some of the more powerful features together to build some sophisticated configure-time functionality.
CB is a software developer at Bloomberg. CB works in Bloomberg Application Services where they help application developers easily write and maintain software than integrates and communicates in robust and efficient ways.
CB’s previous career in software has included roles in such diverse areas as web technology, business intelligence, data warehousing, defence and radar.
CB understands the importance of optimal software practices and so has a keen interest in source control systems, build systems and best practices surrounding their use.