[CMake] Evaluating CMake for My Project, some questions

Peter.Wright at microchip.com Peter.Wright at microchip.com
Wed Feb 26 17:16:34 EST 2014


I'm trying to see if CMake would be right for a project I'm working on.  We're in need of a configuration tool but there are a few things that I'm not sure if CMake can do for us.

1. The first deals with the GUI for configuration.  I'm wanting a fully nestable tree for the various sections.  The 'Group' check box gives one level of nesting, but it doesn't seem to go farther than that first level, is it possible to get a deeper tree?  I'm talking about haven't lots and lots of options.  Kconfig looks to handle the sort of things we need in that area, but it's not the best solution since it requires a few too many things in the way things are set up just right.

2. Which brings up the second part, there is the 'Advanced' check box.  That will hide some options from the tree, and that's what I'm looking for, but is there any finer granularity possible than just on and off?  

3. Is there a way of getting more advanced option selection?  There's binary check boxes, arbitrary strings and directories.  Is there a way to put limits on integer selections, or drop down boxes of different options?

4. How hard is it to add in a new IDE generator?  CMake is missing netbeans, at least I can't find a way of selecting it, how hard would it be to add in Netbeans to CMake generation?  The recommendations are to go cmake->make->import into netbeans.  That's really not going to work for us unfortunately since adding in more steps makes my users scream, and that will probably be one of the biggest factors in getting acceptance of Cmake.

5. I've been having a read through the various samples, and I haven't been able to figure out how to add in different configurations, I don't mean Debug, release, etc, but things like different processor families.  Visual Studio has the options for different configurations, can I get Cmake to populate that type of thing?  For example x64 or i386 code generation.  Having the different configurations in the project is another thing that will be necessary.  And I'd like to turn off inclusion of C source files based on which configuration is active, this way I won't have to have multiple projects/solutions with exactly the same code except for a few differences like the compiler to use, the switches and a few file differences.  The closes I've been able to find is that to have different configurations you need to have different generators.


thanks









More information about the CMake mailing list