Frameworks/Epics/CMake: Difference between revisions

From KDE Community Wiki
No edit summary
Line 26: Line 26:
{{FeatureDone|Merge our export-header stuff into cmake. Done with CMake 2.8.6|Stephen Kelly}}
{{FeatureDone|Merge our export-header stuff into cmake. Done with CMake 2.8.6|Stephen Kelly}}
{{FeatureInProgress|Merge or make unnecessary a whole bunch of macros from kdelibs/cmake/modules/. Mostly done. Details see [[KDE_Core/Platform_11/Buildsystem/FindFilesSurvey]] |Alex Neundorf, Stephen Kelly}}
{{FeatureInProgress|Merge or make unnecessary a whole bunch of macros from kdelibs/cmake/modules/. Mostly done. Details see [[KDE_Core/Platform_11/Buildsystem/FindFilesSurvey]] |Alex Neundorf, Stephen Kelly}}
{{FeatureTodo|Merge HandleImportedTargetsInCMakeRequiredLibraries.cmake into CMake |??}}
{{FeatureDone|Design and implement mechanism to make extra-cmake-modules flexible usable, also for non-KDE-projects. This is now done via the macro ecm_use_find_modules(). |Alex Neundorf}}
{{FeatureDone|Design and implement mechanism to make extra-cmake-modules flexible usable, also for non-KDE-projects. This is now done via the macro ecm_use_find_modules(). |Alex Neundorf}}
{{FeatureInProgress|Make superbuilds robust and usable. This will make building all the small git repositories easier. See https://projects.kde.org/projects/kde/superbuild |Alex Neundorf}}
{{FeatureInProgress|Make superbuilds robust and usable. This will make building all the small git repositories easier. See https://projects.kde.org/projects/kde/superbuild |Alex Neundorf}}
Line 38: Line 39:
* use GNUInstallDirs.cmake coming with cmake ?
* use GNUInstallDirs.cmake coming with cmake ?
* keep the support for "if I install to the same prefix as kdelibs (...what  
* keep the support for "if I install to the same prefix as kdelibs (...what  
is kdelibs then ?), I want the same set of install dir", |??}}
is kdelibs then ?), I want the same set of install dir", |Alex Neundorf}}
{{FeatureTodo|improve the example in kdeexamples/buildsystem/HowToInstallALibrary/, so it  
{{FeatureTodo|
can serve as reference
Figure out what to do with all the macros and settings currently in FindKDE4Internal.cmake and KDE4Macros.cmake.|Alex Neundorf, Stephen Kelly}}
|??}}
{{FeatureInProgress|Make creating Config.cmake easier, by implementing some helper macros or files, and improve the example in kdeexamples/buildsystem/HowToInstallALibrary/, so it can serve as reference
|Alex Neundorf, Yuri Kudryashov}}
{{FeatureTodo|somebody has to do the actual porting. Back in the KDE3->KDE4 days Laurent Montel did most of this work. Here is a (hopefully) complete list of changes:  
{{FeatureTodo|somebody has to do the actual porting. Back in the KDE3->KDE4 days Laurent Montel did most of this work. Here is a (hopefully) complete list of changes:  
http://techbase.kde.org/Development/ECM_SourceIncompatChanges
http://techbase.kde.org/Development/ECM_SourceIncompatChanges
|??}}
|??}}
{{FeatureTodo|
Figure out what to do with all the macros and settings currently in FindKDE4Internal.cmake and KDE4Macros.cmake.|Alex Neundorf, Stephen Kelly}}
{{FeatureTodo|
{{FeatureTodo|
It would be nice if we could get Windows and OSX developers more actively  
It would be nice if we could get Windows and OSX developers more actively  
involved with KF5.|Kevin Ottens}}
involved with KF5.|Kevin Ottens}}
|}
|}

Revision as of 19:34, 17 January 2012

CMake Required Features and Migration Epic

Forewords

Roughly this epic is about CMake upstream contributions we need done, getting stuff into the extra-cmake-modules (e-c-m) project and the tooling around that to allow our developers to build the whole lot.

Definition of Done

Backlog

Status Description Contact
DONE Upstream automoc into cmake. Done since 2.8.6. Alex Neundorf
DONE Extend FeatureSummary.cmake to make MacroLogFeature.cmake unnecessary. Done since 2.8.6. Alex Neundorf
DONE Merge MacroOptionalFindPackage.cmake in CMake. find_package() has been extended with 2.8.6 so that this is not necessary anymore. Alex Neundorf
DONE Create project extra-cmake-modules for distributing additional Find-modules Alex Neundorf
DONE Sync our Find-modules from kdelibs/cmake/modules/ with the ones in CMake. Done with CMake 2.8.7 Alex Neundorf
DONE Merge our export-header stuff into cmake. Done with CMake 2.8.6 Stephen Kelly
IN PROGRESS Merge or make unnecessary a whole bunch of macros from kdelibs/cmake/modules/. Mostly done. Details see KDE_Core/Platform_11/Buildsystem/FindFilesSurvey Alex Neundorf, Stephen Kelly
TO DO Merge HandleImportedTargetsInCMakeRequiredLibraries.cmake into CMake ?? <{{{3}}}>
DONE Design and implement mechanism to make extra-cmake-modules flexible usable, also for non-KDE-projects. This is now done via the macro ecm_use_find_modules(). Alex Neundorf
IN PROGRESS Make superbuilds robust and usable. This will make building all the small git repositories easier. See https://projects.kde.org/projects/kde/superbuild Alex Neundorf
DONE Come to a decision how to deal with pkg-config under Windows (and OSX ?). Input needed, especially from Windows and OSX developers. We'll trust pkg-config output also on Windows, see http://thread.gmane.org/gmane.comp.programming.tools.cmake.user/39446 Alex Neundorf
TO DO Review the Find-modules in kdelibs (over 100), and find out which ones are

currently needed in the frameworks branch. Here is an overview over the current state: http://community.kde.org/KDE_Core/Platform_11/Buildsystem/FindFilesSurvey

?? <{{{3}}}>
DONE Figure out how to define the default library install dir, taking Debian multiarch into account. See GNUInstallDirs.cmake in cmake master, which will become 2.8.8. Alex Neundorf
TO DO

Figure out how to deal with the install dirs in general:

  • use GNUInstallDirs.cmake coming with cmake ?
  • keep the support for "if I install to the same prefix as kdelibs (...what

is kdelibs then ?), I want the same set of install dir",

Alex Neundorf <{{{3}}}>
TO DO

Figure out what to do with all the macros and settings currently in FindKDE4Internal.cmake and KDE4Macros.cmake.

Alex Neundorf, Stephen Kelly <{{{3}}}>
IN PROGRESS Make creating Config.cmake easier, by implementing some helper macros or files, and improve the example in kdeexamples/buildsystem/HowToInstallALibrary/, so it can serve as reference Alex Neundorf, Yuri Kudryashov
TO DO somebody has to do the actual porting. Back in the KDE3->KDE4 days Laurent Montel did most of this work. Here is a (hopefully) complete list of changes:

http://techbase.kde.org/Development/ECM_SourceIncompatChanges

?? <{{{3}}}>
TO DO

It would be nice if we could get Windows and OSX developers more actively involved with KF5.

Kevin Ottens <{{{3}}}>