[CMake] creating a new generator

Vincent Scheib vsglists at gmail.com
Tue Nov 21 16:08:20 EST 2006

I'm interested in creating builds for 2 platforms not supported by
default in cmake. I haven't found much information / guidelines for
doing this. I've started looking at cmake source (doxygen too), but
things aren't clear to me yet.

- Does anyone have pointers for information on how to make these changes?

- Here are some details of what I'm doing, any thoughts?

(Non disclosure agreements prohibit me from explicitly saying what I'm
trying to support, sorry to be vague.)

(A): Visual Studio 8 variant:
This is a custom Visual Studio platform type. The project files are
very similar to normal Win32 targets
- Several keywords in the .vcproj have a slight variation
- Several Tools are named differently, or only exist on win32 or (A)
- Compile options differ only slightly between projects built for win32 and (A)

My early thoughts:
- Derive from local and global generators for VS8, try to find places
to replace text as needed.
- Edit CMakeLists.txt to include new variables for slight variations
in project build settings.

(B) GCC based compilers:
This platform uses GCC based compilers. GNU Make can be configured to
build for it.

- I don't care what cmake generates to get the job done, if I can
configure a Visual Studio project file to do it, fine. JAM, that's
cool. We'll always be compiling on windows.

- A single target depends on not only libraries, but also other
compiled executables that must be embeded. Ah, those other executables
use another variant of GCC to build them, so I'll need to switch
compilers for sub-projects

My early thoughts:
- Derive from the makefile generator, giving it a new build system
name. Mostly configure the differences in the build via variables.

More information about the CMake mailing list