Hi,

On Mon, Jun 14, 2010 at 05:00:47PM +0200, Andreas Mohr wrote:
> On Mon, Jun 14, 2010 at 09:54:58AM -0400, Bill Hoffman wrote:
> > To be compatible with CMake, I would say a BSD license would be the  
> > best.  gitorious might be a good starting place.  We tried the converter  
> > here, and it created some odd CMAKE_BUILD_TYPE stuff in the CMake files,  
> > that looked like it would not work with the IDE generators.  
> > CMAKE_BUILD_TYPE is NOT used for IDE project files.
> 
> Ah, right.
> That would perhaps need a solution like the (in)famous
> if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
> which I've been using at several other places but didn't think of
> correcting when working on this area of the original script.
> (to be fair, I haven't attempted a full-circle conversion to .vcproj on
> Windows yet)
> 
> Thinking more about it, I'm not quite sure how to reach 100%
> preservation of original .vcproj content this way (when doing a
> full-circle conversion, that is).
> After all in an original .vcproj file there are full configurations for
> Debug, Release etc. (which the user then selects in the IDE).
> Thus the converted CMakeLists.txt would _somehow_ have to contain the
> same entire content, like it now does with our - quite obviously insufficient 
> -
> CMAKE_BUILD_TYPE branching.

I've spent some time analyzing this, and indeed there of course is a clean way
to isolate this from single-configuration generators' CMAKE_BUILD_TYPE stuff,
e.g. by defining per-configuration settings such as
set_property(TARGET ... COMPILE_DEFINITIONS_MINSIZEREL ...)

**HOWEVER**, well, in fact it's all falling apart after all:

"[CMake] Add configuration support to include_directories()": 
http://www.mail-archive.com/cmake@cmake.org/msg18270.html

is the #1 reason that a full round-trip .vcproj --> CMakeLists.txt --> .vcproj
will _NOT_ retain all project content satisfactorily
(i.e. we will have to make the hard choice of hard-coding _either_ the Release
_or_ the Debug .vcproj Configuration's AdditionalIncludeDirectories setting
in the resulting converted CMakeLists.txt), since there isn't a
per-configuration include_directories() setup yet
(at least according to that thread's discussion).

Houston...

Hmm, create bug report?

Andreas Mohr
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to