Re: CMAKE_CONFIGURATION_TYPES considered harmful

2008-11-06 Thread David Faure
On Thursday 06 November 2008, Andreas Pakulat wrote:
 So just remove the setting of CMAKE_CONFIGURATION_TYPES completely.
 
I thought it was useful for showing that debugfull is available, in ccmake?

-- 
David Faure, [EMAIL PROTECTED], sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).
___
Kde-buildsystem mailing list
Kde-buildsystem@kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem


Re: CMAKE_CONFIGURATION_TYPES considered harmful

2008-11-06 Thread Andreas Pakulat
On 06.11.08 09:58:18, David Faure wrote:
 On Thursday 06 November 2008, Andreas Pakulat wrote:
  So just remove the setting of CMAKE_CONFIGURATION_TYPES completely.
  
 I thought it was useful for showing that debugfull is available, in ccmake?

Only if it is not set I think. At least here I only have options: None
when trying to use that. 

Andreas
 
-- 
Break into jail and claim police brutality.
___
Kde-buildsystem mailing list
Kde-buildsystem@kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem


Re: CMAKE_CONFIGURATION_TYPES considered harmful

2008-11-06 Thread Andreas Pakulat
On 06.11.08 18:20:44, Alexander Neundorf wrote:
 On Thursday 06 November 2008, Andreas Pakulat wrote:
  On 06.11.08 09:58:18, David Faure wrote:
   On Thursday 06 November 2008, Andreas Pakulat wrote:
So just remove the setting of CMAKE_CONFIGURATION_TYPES completely.
  
   I thought it was useful for showing that debugfull is available, in
   ccmake?
 
 I don't think so.
 
  Only if it is not set I think. At least here I only have options: None
  when trying to use that.
 
 Where do you see that ?

Oh, apparently my terminal was to small when I tried that. In fact in a
kdelibs that has the set(CMAKE_CONFIGURATION_TYPES
${CMAKE_CONFIGURATION_TYPES} Debugfull) I do see:

Choose the type of build, options are: None(CMAKE_CXX_FLAGS or
CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.

So apparently the text of that is simply hardcoded in ccmake. Its shown
when going to the CMAKE_BUILD_TYPE entry.

Andreas

-- 
After your lover has gone you will still have PEANUT BUTTER!
___
Kde-buildsystem mailing list
Kde-buildsystem@kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem


Re: CMAKE_CONFIGURATION_TYPES considered harmful

2008-11-05 Thread Brad King
Manuel Sput Nickschas wrote:
 Hi guys,
 
 we at Gentoo have recently discovered that KDE's packages always use the 
 Debugfull configuration for installation:
 
 -- Install configuration: Debugfull
 
 This happens also if CMAKE_BUILD_TYPE=Release. We have hunted down that 
 issue and traced it back to FindKDE4Internal.cmake line 1033:
 
 set (CMAKE_CONFIGURATION_TYPES ${CMAKE_CONFIGURATION_TYPES} Debugfull)

That should be more like

if(CMAKE_CONFIGURATION_TYPES)
  list(APPEND CMAKE_CONFIGURATION_TYPES Debugfull)
endif(CMAKE_CONFIGURATION_TYPES)

 While in theory and according to cmake docs this should just add the 
 additional build configuration to a list of existing ones, in reality this 
 adds Debugfull to an empty list, since CMake does not set this variable 
 (anymore? Dunno if that was always the case...). This results in CMake always 
 installing Debugfull, since it's set to be the only valid type.

The variable is used by the IDE generators like VS and Xcode which have
multiple configurations in a single build tree.  It should not be set
for Makefile generators.

-Brad
___
Kde-buildsystem mailing list
Kde-buildsystem@kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem


Re: CMAKE_CONFIGURATION_TYPES considered harmful

2008-11-05 Thread Brad King
Alexander Neundorf wrote:
 On Wednesday 05 November 2008, Brad King wrote:
 Manuel Sput Nickschas wrote:
 ...
 While in theory and according to cmake docs this should just add the
 additional build configuration to a list of existing ones, in reality
 this adds Debugfull to an empty list, since CMake does not set this
 variable (anymore? Dunno if that was always the case...). This results in
 CMake always installing Debugfull, since it's set to be the only valid
 type.
 The variable is used by the IDE generators like VS and Xcode which have
 multiple configurations in a single build tree.  It should not be set
 for Makefile generators.
 
 So you would recommend checking the generator over setting 
 CMAKE_CONFIGURATION_TYPES to CMAKE_BUILD_TYPE initially ?
 
 This is what I was about to do:
 
 if (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE RelWithDebInfo)
set(CMAKE_CONFIGURATION_TYPES ${CMAKE_CONFIGURATION_TYPES}  
  ${CMAKE_BUILD_TYPE} )
 endif (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)

The way to identify whether a generator is multi-configuration is to
check whether CMAKE_CONFIGURATION_TYPES is set.  The VS/XCode generators
set it (and ignore CMAKE_BUILD_TYPE).  The Makefile generators do not
set it (and use CMAKE_BUILD_TYPE).  If CMAKE_CONFIGURATION_TYPES is not
already set, don't set it.

-Brad
___
Kde-buildsystem mailing list
Kde-buildsystem@kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem


Re: CMAKE_CONFIGURATION_TYPES considered harmful

2008-11-05 Thread Andreas Pakulat
On 06.11.08 00:25:39, Alexander Neundorf wrote:
 On Wednesday 05 November 2008, Brad King wrote:
  Manuel Sput Nickschas wrote:
 ...
   While in theory and according to cmake docs this should just add the
   additional build configuration to a list of existing ones, in reality
   this adds Debugfull to an empty list, since CMake does not set this
   variable (anymore? Dunno if that was always the case...). This results in
   CMake always installing Debugfull, since it's set to be the only valid
   type.
 
  The variable is used by the IDE generators like VS and Xcode which have
  multiple configurations in a single build tree.  It should not be set
  for Makefile generators.
 
 So you would recommend checking the generator over setting 
 CMAKE_CONFIGURATION_TYPES to CMAKE_BUILD_TYPE initially ?
 
 This is what I was about to do:
 
 if (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE RelWithDebInfo)

This part already exists a couple of lines below setting
CMAKE_CONFIGURATION_TYPES in FindKDE4Internal (its 818 here). So thats
probably why everybody gets Debugfull builds when not specifying
-DCMAKE_BUILD_TYPE :)

So just remove the setting of CMAKE_CONFIGURATION_TYPES completely.

Andreas

-- 
You may worry about your hair-do today, but tomorrow much peanut butter will
be sold.
___
Kde-buildsystem mailing list
Kde-buildsystem@kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem