[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-buildsystem
Subject:    KDECompilerSettings.cmake added to extra-cmake-modules
From:       Alexander Neundorf <neundorf () kde ! org>
Date:       2012-02-17 17:58:04
Message-ID: 201202171858.05082.neundorf () kde ! org
[Download RAW message or body]

Hi,

I extracted the compiler settings part from FindKDE4Internal.cmake and create 
a file KDECompilerSettings.cmake from it.
It is in extra-cmake-modules/kde-modules/.

This is by far not done.
I a lot of places where I saw things which seemed like they shouldn't be there 
I added a TODO and a comment what I think should be done instead or why it was 
added.

It also still directly sets the CMAKE_CXX_FLAGS etc. variables, which in 
general should not be done by any cmake module.

It contains:
* settings RPATH
* setting link flags
* setting compile flags
* setting up the build types
* settings definitions into _KDE4_PLATFORM_DEFINITIONS

What should we do ?
Instead of setting CMAKE_CXX_FLAGS, set e.g. KDE_CMAKE_CXX_FLAGS, and let the 
user decide whether he wants to use them ?
This might be quite some code in user projects, since they'll have to do this 
for all buildtypes.
Or they are clever and do 
set(CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}
     "${KDE_CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}")

(which is not good enough for the multi-configuration generators (xcode, 
MSVC), which use CMAKE_CONFIGURATION_TYPES instead.


Or put all that in a macro, so users have to do something like the following ?

include(KDECompilerSettings)
kde_add_build_flags() 


Or should we just declare that by including that file (which you don't have to 
do) you just get those flags automatically ?
Then maybe the RPATH settings should be not in this file, but somewhere else.


And one more note: for using this file, you currently need cmake git master.

Alex
_______________________________________________
Kde-buildsystem mailing list
Kde-buildsystem@kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic