[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