Over the years, CMake has become the de facto standard build tool for C, and sooner or later almost all C developers have to deal with it in one way or another. For many developers it will stop at entering the right CMake commands to kick off a build, and, maybe, occasionally add a new source file to the build. But somebody has to set up that build in the first place. This talk is directed at those (soon to be) experts. In a case study I will show some ideas and tricks to use a library and tools for which there is no support in CMake yet.
In the case study, we will look at a C-application that uses embedded SQL to talk to an Oracle SQL-database. To build the application, it needs to link against Oracle’s client library and the files with embedded SQL need to be converted to pure C before they can be compiled. How can we find that library when there is no CMake module for it yet? (We write our own!) How can we execute Oracle’s preprocessor to convert files with embedded SQL in a structured way when there are tens, or hundreds, of those files, possibly spread over different CMake targets? Come to my talk and I will tell you.