Chapter 15: Migrating to CMake
While CMake is evolving into a de facto industry standard for C++ and C projects, there are still projects—sometimes large ones—that use different build systems. Of course, there is nothing wrong with that as long as it fits your needs. However, at some point, and for whatever reason, you might wish to switch to CMake. For instance, maybe the software should be buildable by different IDEs or on different platforms, or the dependency management has become cumbersome. Another common situation is when the repository structure changes from a big mono-repo, where all libraries are checked in, to distributed repositories for each library project. Whatever the reason, migrating to CMake can be a challenge, especially for large projects, but the results could be worth it.
While converting a project in one go would be the preferred way, often, there are non-technical requirements that might not make this possible. For instance, development might...