One thing I've been wanting for a long time in the Introjucer is the ability to have it generate a cmake project rather than (or rather, in addition to) project files for specific IDE's. This may seem to be a bit redundant, since Introjucer and cmake essentially serve the same purpose -- to generate build files for a specific platform. However supporting cmake as a build target would have a number of advantages:
- You can specify preprocessor definitions once, and cmake will figure out how to translate them into the correct syntax needed by the compiler. With Introjucer you need to specify the same definitions in each platform, copy/pasting as needed.
- You would have access to build settings which Introjucer does not directly support. For instance, on Mac OSX, it is useful to be able to set the minimum supported version, which is stored in the Xcode project file and overwritten every time you re-generate the Xcode project with Introjucer.
- Cmake is really good at supporting tons of different IDE's, including new versions of Visual Studio and Xcode which tend to break builds.
- No more keeping enormous XML files for several IDE's in version control!
- Support for many more build systems, such as nmake on Windows and ninja on Unix.
- Easier integration with third-party submodules or other dependencies.
- Many IDE's (such as QT creator and NetBeans) provide native support for reading CMakeLists.txt files, so you wouldn't need to generate a project file to use these tools.
I'd be happy to contribute a patch, but I'm hesitant to start working on such a patch if I know that it would not be accepted and merged. What's the general feeling on cmake support for Introjucer?