https://community.kde.org/api.php?action=feedcontributions&user=OpenIDUser12&feedformat=atomKDE Community Wiki - User contributions [en]2024-03-28T23:46:27ZUser contributionsMediaWiki 1.40.2https://community.kde.org/index.php?title=KDE_Core/Platform_11/Buildsystem/FindFilesSurvey&diff=13544KDE Core/Platform 11/Buildsystem/FindFilesSurvey2011-06-23T22:06:19Z<p>OpenIDUser12: /* kdelibs */ Convert table to mediawiki's syntax</p>
<hr />
<div>= Rationale =<br />
One of the "coding" tasks consisted of actually going through our Find*.cmake files in kdelibs and its siblings and check what could be removed, upstreamed or merged in the future.<br />
<br />
The following tables look not only at the Find files, but also at some helper CMake files which may also cease to exist or move together with their Find counterparts.<br />
<br />
kdelibs, kdepimlibs, kde-baseapps, kde-runtime and kde-workspace were analysed.<br />
<br />
By the way, these tables were created using Emacs' org-mode, and there was no easy way to convert them to MediaWiki's syntax :)<br />
<br />
== Check*.cmake files ==<br />
{| border="1"<br />
| File Name <br />
| Exists in CMake <br />
| Plan <br />
| Comments <br />
| Status<br />
|-<br />
| CheckCXXSourceCompiles.cmake <br />
| Yes <br />
| Search mailing list for CMake developers' rationale, maybe upstream.<br />
<br />
| Began to diverge; CMake has FAIL_REGEX support, our version handles imported targets (Alex said CMake developers did not accept this feature upstream, need to search the mailing list archives).<br />
|<br />
|-<br />
| CheckCXXSourceRuns.cmake<br />
| Yes<br />
| Idem.<br />
| Idem.<br />
|<br />
|-<br />
| CheckCXXSymbolExists.cmake<br />
| No<br />
| Either check if we still support glibc 2.9, perhaps try upstreaming.<br />
| Almost equivalent to CMake's CheckSymbolExists.cmake, just creates .cxx files instead of .c ones.<br />
|<br />
|-<br />
| CheckPointerMember.cmake<br />
| No<br />
| Only used by krdc; remove from kdelibs?<br />
| Calls check_cxx_source_compiles on a struct with a given member.<br />
|<br />
|-<br />
| CheckPrototypeExists.cmake<br />
| No<br />
| 1d0e1a0 says this was going to be upstreamed. Try again?<br />
|<br />
|<br />
|-<br />
| CheckStructMember.cmake<br />
| No<br />
| Remove; CMake has CheckStructHasMember.cmake<br />
|<br />
|<br />
|-<br />
|}<br />
<br />
== Find*.cmake ==<br />
In this table, "upstreaming" a module can mean sending it to either CMake itself or the external modules collection.<br />
<br />
=== kdelibs ===<br />
{| border="1"<br />
| File Name<br />
| Exists in CMake<br />
| Plan<br />
| Comments<br />
|-<br />
| FindACL.cmake<br />
| No<br />
|<br />
|<br />
|-<br />
| FindAGG.cmake<br />
| No<br />
|<br />
|<br />
|-<br />
| FindAlsa.cmake and config-alsa.h.cmake<br />
| No<br />
| Upstream without config.h?<br />
|<br />
|-<br />
| FindAkode.cmake<br />
| No<br />
| Remove.<br />
|<br />
|-<br />
| FindAutomoc4.cmake<br />
| No<br />
| Depends on the future of automoc.<br />
|<br />
|-<br />
| FindAvahi.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindBerkeleyDB.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindBlitz.cmake<br />
| No<br />
| Remove, already deprecated.<br />
|<br />
|-<br />
| FindBlueZ.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindBoost.cmake<br />
| Yes<br />
| Remove. Already deprecated.<br />
|<br />
|-<br />
| FindCarbon.cmake<br />
| No<br />
| ?<br />
|<br />
|-<br />
| FindDBusMenuQt.cmake<br />
| No<br />
| Remove in favour of DBMQ providing a Config.cmake file?<br />
|<br />
|-<br />
| FindDNSSD.cmake<br />
| No<br />
| Merge with FindAvahi.cmake and upstream?<br />
|<br />
|-<br />
| FindDocBookXML.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindDocBookXSL.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindENCHANT.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindEigen.cmake<br />
| No<br />
| Remove, already deprecated.<br />
|<br />
|-<br />
| FindEigen2.cmake<br />
| No<br />
| Remove in favour of Eigen providing a Config.cmake file?<br />
|<br />
|-<br />
| FindFAM.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindFFmpeg.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindFlac.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindFlex.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindFontconfig.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindFreetype.cmake<br />
| Yes<br />
| Merge or remove.<br />
|<br />
|-<br />
| FindGIF.cmake<br />
| Yes<br />
| Probably remove.<br />
|<br />
|-<br />
| FindGLIB2.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindGMP.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindGObject.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindGSSAPI.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindGStreamer.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindGettext.cmake<br />
| Yes<br />
| Merge or provide our macros separately.<br />
| We have some macros used in release tarballs.<br />
|-<br />
| FindGphoto2.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindHUNSPELL.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindHUpnp.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindIOKit.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindKDEWorkspace.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| FindKDEWIN32.cmake, FindKDEWIN_Packager.cmake and FindKDEWin.cmake<br />
| No<br />
| ?<br />
|<br />
|-<br />
| FindKDevPlatform.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| FindKNepomuk.cmake<br />
| No<br />
| Already deprecated?<br />
|<br />
|-<br />
| FindKdcraw.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindKdeMultimedia.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| FindKdepim.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| FindKdepimLibs.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| FindKexiv2.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindKipi.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| FindKopete.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| FindKorundum.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| FindKonto.cmake<br />
| No<br />
| Already deprecated?<br />
|<br />
|-<br />
| FindLCMS.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindLibArt.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindLibAttica.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| FindLibKonq.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| FindLibLZMA.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindLibXml2.cmake<br />
| Yes<br />
| Remove.<br />
| Upstream is pretty much identical, LIBXSLT_XSLTPROC_EXECUTABLE is not used.<br />
|-<br />
| FindLibXslt.cmake<br />
| Yes<br />
| Remove.<br />
| Upstream is pretty much identical.<br />
|-<br />
| FindLibintl.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindLibraryWithDebug.cmake<br />
| No<br />
| Upstream to CMake?<br />
|<br />
|-<br />
| FindLinuxWirelesstools.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindMsgfmt.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindMusicBrainz.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindMySQL.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindNepomuk.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| FindNetworkManager.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindOggVorbis.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindOpenEXR.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindOpenSSL.cmake<br />
| Yes<br />
| Remove.<br />
| Upstream is pretty much identical, should even solve some reported build issues.<br />
|-<br />
| FindPCRE.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindPackageHandleStandardArgs.cmake<br />
| Yes<br />
| Long story; let Alex decide.<br />
|<br />
|-<br />
| FindPhonon.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| FindPkgConfig.cmake<br />
| Yes<br />
| Remove.<br />
| Upstream is pretty much identical.<br />
|-<br />
| FindPlasma.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| FindPolkitQt-1.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| FindPolkitQt.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| FindPopplerQt4.cmake<br />
| No<br />
| Ask tsdgeos to provide a Config.cmake<br />
|<br />
|-<br />
| FindPostgreSQL.cmake<br />
| Yes<br />
| Probably remove.<br />
| Upstream looks more complete.<br />
|-<br />
| FindPulseAudio.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindPyKDE4.cmake and FindPyKDE4.py<br />
| No<br />
| ?<br />
|<br />
|-<br />
| FindPyQt4.cmake and FindPyQt.py<br />
| No<br />
| ?<br />
|<br />
|-<br />
| FindPythonLibrary.cmake<br />
| Yes: FindPythonInterp.cmake and FindPythonLibs.cmake<br />
| Try to merge with CMake.<br />
|<br />
|-<br />
| FindQCA2.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file?<br />
|<br />
|-<br />
| FindQImageBlitz.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file?<br />
|<br />
|-<br />
| FindQt4.cmake<br />
| Yes<br />
| Probably remove; Alex knows best.<br />
|<br />
|-<br />
| FindRUBY.cmake<br />
| Yes (FindRuby.cmake)<br />
| Remove?<br />
|<br />
|-<br />
| FindSamba.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindSane.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindSasl2.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindSharedDesktopOntologies.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| FindSharedMimeInfo.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindSoprano.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| FindSqlite.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindStrigi.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file? Strigi is messy.<br />
|<br />
|-<br />
| FindTaglib.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| FindUDev.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindUSB.cmake<br />
| No<br />
| Rename and upstream?<br />
|<br />
|-<br />
| FindWcecompat.cmake<br />
| No<br />
| ?<br />
|<br />
|-<br />
| FindX11.cmake<br />
| Yes<br />
| Remove.<br />
|<br />
|-<br />
| FindXKB.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindXine.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindXMMS.cmake<br />
| No<br />
| Remove as XMMS is dead?<br />
|<br />
|}<br />
<br />
=== kde-baseapps ===<br />
{| border="1"<br />
| File Name <br />
| Exists in CMake <br />
| Plan <br />
| Comments <br />
| Status<br />
|-<br />
| FindLibTidy.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|}<br />
<br />
=== kde-runtime ===<br />
{| border="1"<br />
| File Name <br />
| Exists in CMake <br />
| Plan <br />
| Comments <br />
| Status<br />
|-<br />
| FindCLucene.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|-<br />
| FindLibSSH.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|-<br />
| FindQNtrack.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|-<br />
| FindSLP.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|}<br />
<br />
=== kde-workspace ===<br />
{| border="1"<br />
| File Name<br />
| Exists in CMake<br />
| Plan<br />
| Comments<br />
|-<br />
| FindCkConnector.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindDBus.cmake<br />
| No<br />
| Upstream one of the many different copies in the KDE tree.<br />
|<br />
|-<br />
| FindGooglegadgets.cmake<br />
| No<br />
| Does this still exist? If not, remove.<br />
|<br />
|-<br />
| FindLibXKlavier.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindPAM.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindPCIUTILS.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindQalculate.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindRAW1394.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindSensors.cmake<br />
| No<br />
| Rename and upstream?<br />
|<br />
|-<br />
| FindOpenGLES.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindKephal.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| Findlibgps.cmake<br />
| No<br />
| Rename and upstream?<br />
|<br />
|}<br />
<br />
=== kdepimlibs ===<br />
{| border="1"<br />
| File Name<br />
| Exists in CMake<br />
| Plan<br />
| Comments<br />
|-<br />
| FindAkonadi.cmake<br />
| No<br />
| Should not be needed if Akonadi starts using Config.cmake files.<br />
|<br />
|-<br />
| FindGpgme.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindLdap.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindLibical.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindQgpgme.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|}<br />
<br />
== Framework-specific ==<br />
In general, they contain KDE-specific code which should not be upstreamed.<br />
<br />
{| border="1"<br />
| File Name<br />
| Plan<br />
| Comments<br />
|-<br />
| KDE4Defaults.cmake and FindKDE4Internal.cmake<br />
|<br />
|<br />
|-<br />
| KDE4Macros.cmake<br />
| -<br />
| Need to check each macro and see what can be dropped. |<br />
|-<br />
| Qt4ConfigDependentSettings.cmake and Qt4Macros.cmake <br />
| Remove our copy<br />
|<br />
|-<br />
| NepomukAddOntologyClasses.cmake<br />
| Merge into NepomukMacros.cmake?<br />
| Need to contact trueg about that.<br />
|-<br />
| NepomukMacros.cmake<br />
| - |<br />
|-<br />
| PythonCompile.py and PythonMacros.cmake<br />
| Upstream?<br />
|<br />
|-<br />
| SIPMacros.cmake<br />
| Upstream?<br />
|<br />
|-<br />
| Win32Macros.cmake<br />
| No idea.<br />
|<br />
|}<br />
<br />
== Generic Macros ==<br />
{| border="1"<br />
| File Name<br />
| Exists in CMake<br />
| Plan<br />
| Comments<br />
|-<br />
| MacroAddCompileFlags.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| MacroAddLinkFlags.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| MacroAdditionalCleanFiles.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| MacroAppendIf.cmake<br />
| No<br />
| Not used anywhere; remove?<br />
|<br />
|-<br />
| MacroBoolTo01.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| MacroEnsureOutOfSourceBuild.cmake<br />
| No<br />
| Remove? People should know they should not build in the source directory.<br />
|<br />
|-<br />
| MacroEnsureVersion.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| MacroKAuth.cmake<br />
| No<br />
| Remove. Already deprecated.<br />
|<br />
|-<br />
| MacroLibrary.cmake<br />
| No<br />
| Move functionality to FindKDE4?<br />
|<br />
|-<br />
| MacroLogFeature.cmake<br />
| No<br />
| Investigate CMake's FeatureSummary.<br />
|<br />
|-<br />
| MacroOptionalAddSubdirectory.cmake<br />
| No<br />
| See outcome of Alex's upstreaming efforts.<br />
|<br />
|-<br />
| MacroOptionalDependPackage.cmake<br />
| No<br />
| Broken, expects a FindFoo.cmake possibly provided by the application itself. Remove?<br />
|<br />
|-<br />
| MacroOptionalFindPackage.cmake<br />
| No<br />
| See outcome of Alex's upstreaming efforts.<br />
|<br />
|-<br />
| MacroPushRequiredVars.cmake<br />
| No<br />
|<br />
| Too specific to upstream?<br />
|-<br />
| MacroWriteBasicCMakeVersionFile.cmake<br />
| No<br />
| ?<br />
|<br />
|}<br />
<br />
== Other files in kdelibs ==<br />
{| border="1"<br />
| File Name<br />
| Plan<br />
| Comments<br />
|-<br />
| check_installed_exports_file.cmake<br />
| Remove?<br />
| Alex writes in kdelibs/CMakeLists.txt that the target installation code was going to change.<br />
|-<br />
| kde4_cmake_uninstall.cmake.in<br />
| ?<br />
|<br />
|-<br />
| kde4_exec_via_sh.cmake<br />
| ?<br />
|<br />
|-<br />
| kde4automoc.files.in<br />
| Remove once automoc is upstream.<br />
|<br />
|-<br />
| kde4exportsheader.h.in<br />
| Remove if this feature is upstreamed.<br />
|<br />
|-<br />
| kde4init_dummy.cpp.in and kde4init_win32lib_dummy.cpp.in<br />
| ?<br />
|<br />
|-<br />
| kde4uic.cmake<br />
| Remove if possible.<br />
|<br />
|}</div>OpenIDUser12https://community.kde.org/index.php?title=KDE_Core/Platform_11/Buildsystem/FindFilesSurvey&diff=13538KDE Core/Platform 11/Buildsystem/FindFilesSurvey2011-06-23T21:39:19Z<p>OpenIDUser12: /* Generic Macros */ Convert table to mediawiki's syntax</p>
<hr />
<div>= Rationale =<br />
One of the "coding" tasks consisted of actually going through our Find*.cmake files in kdelibs and its siblings and check what could be removed, upstreamed or merged in the future.<br />
<br />
The following tables look not only at the Find files, but also at some helper CMake files which may also cease to exist or move together with their Find counterparts.<br />
<br />
kdelibs, kdepimlibs, kde-baseapps, kde-runtime and kde-workspace were analysed.<br />
<br />
By the way, these tables were created using Emacs' org-mode, and there was no easy way to convert them to MediaWiki's syntax :)<br />
<br />
== Check*.cmake files ==<br />
{| border="1"<br />
| File Name <br />
| Exists in CMake <br />
| Plan <br />
| Comments <br />
| Status<br />
|-<br />
| CheckCXXSourceCompiles.cmake <br />
| Yes <br />
| Search mailing list for CMake developers' rationale, maybe upstream.<br />
<br />
| Began to diverge; CMake has FAIL_REGEX support, our version handles imported targets (Alex said CMake developers did not accept this feature upstream, need to search the mailing list archives).<br />
|<br />
|-<br />
| CheckCXXSourceRuns.cmake<br />
| Yes<br />
| Idem.<br />
| Idem.<br />
|<br />
|-<br />
| CheckCXXSymbolExists.cmake<br />
| No<br />
| Either check if we still support glibc 2.9, perhaps try upstreaming.<br />
| Almost equivalent to CMake's CheckSymbolExists.cmake, just creates .cxx files instead of .c ones.<br />
|<br />
|-<br />
| CheckPointerMember.cmake<br />
| No<br />
| Only used by krdc; remove from kdelibs?<br />
| Calls check_cxx_source_compiles on a struct with a given member.<br />
|<br />
|-<br />
| CheckPrototypeExists.cmake<br />
| No<br />
| 1d0e1a0 says this was going to be upstreamed. Try again?<br />
|<br />
|<br />
|-<br />
| CheckStructMember.cmake<br />
| No<br />
| Remove; CMake has CheckStructHasMember.cmake<br />
|<br />
|<br />
|-<br />
|}<br />
<br />
== Find*.cmake ==<br />
In this table, "upstreaming" a module can mean sending it to either CMake itself or the external modules collection.<br />
<br />
=== kdelibs ===<br />
<pre><br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindACL.cmake | No | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAGG.cmake | No | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAlsa.cmake | No | Upstream without config.h? | |<br />
| config-alsa.h.cmake | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAkode.cmake | No | Remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAutomoc4.cmake | No | Depends on the future of automoc. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAvahi.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBerkeleyDB.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBlitz.cmake | No | Remove, already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBlueZ.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBoost.cmake | Yes | Remove. Already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindCarbon.cmake | No | ? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDBusMenuQt.cmake | No | Remove in favour of DBMQ providing | |<br />
| | | a Config.cmake file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDNSSD.cmake | No | Merge with FindAvahi.cmake and | |<br />
| | | upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDocBookXML.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDocBookXSL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindENCHANT.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindEigen.cmake | No | Remove, already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindEigen2.cmake | No | Remove in favour of Eigen providing | |<br />
| | | a Config.cmake file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFAM.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFFmpeg.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFlac.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFlex.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFontconfig.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFreetype.cmake | Yes | Merge or remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGIF.cmake | Yes | Probably remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGLIB2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGMP.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGObject.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGSSAPI.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGStreamer.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGettext.cmake | Yes | Merge or provide our macros | We have some macros used in release tarballs. |<br />
| | | separately. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGphoto2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindHUNSPELL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindHUpnp.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindIOKit.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDEWorkspace.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDEWIN32.cmake | No | ? | |<br />
| FindKDEWIN_Packager.cmake | | | |<br />
| FindKDEWin.cmake | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDevPlatform.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKNepomuk.cmake | No | Already deprecated? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdcraw.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdeMultimedia.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdepim.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdepimLibs.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKexiv2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKipi.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKopete.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKorundum.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKonto.cmake | No | Already deprecated? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLCMS.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibArt.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibAttica.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibKonq.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibLZMA.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibXml2.cmake | Yes | Remove. | Upstream is pretty much identical. |<br />
| | | | LIBXSLT_XSLTPROC_EXECUTABLE is not used. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibXslt.cmake | Yes | Remove. | Upstream is pretty much identical; |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibintl.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibraryWithDebug.cmake | No | Upstream to CMake? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLinuxWirelesstools.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMsgfmt.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMusicBrainz.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMySQL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindNepomuk.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindNetworkManager.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOggVorbis.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOpenEXR.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOpenSSL.cmake | Yes | Remove. | Upstream is pretty much identical, should even |<br />
| | | | solve some reported build issues. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPCRE.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPackageHandleStandardArgs.cmake | Yes | Long story; let Alex decide. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPhonon.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPkgConfig.cmake | Yes | Remove. | Upstream is pretty much identical. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPlasma.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPolkitQt-1.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPolkitQt.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPopplerQt4.cmake | No | Ask tsdgeos to provide a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPostgreSQL.cmake | Yes | Probably remove. | Upstream looks more complete. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPulseAudio.cmak | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPyKDE4.cmake | No | ? | |<br />
| FindPyKDE4.py | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPyQt4.cmake | No | ? | |<br />
| FindPyQt.py | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPythonLibrary.cmake | Yes: | Try to merge with CMake. | |<br />
| | FindPythonInterp.cmake | | |<br />
| | FindPythonLibs.cmake | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQCA2.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQImageBlitz.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQt4.cmake | Yes | Probably remove; Alex knows best. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindRUBY.cmake | Yes (FindRuby.cmake) | Remove? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSamba.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSane.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSasl2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSharedDesktopOntologies.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSharedMimeInfo.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSoprano.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSqlite.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindStrigi.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file? Strigi is messy. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindTaglib.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindUDev.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindUSB.cmake | No | Rename and upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindWcecompat.cmake | No | ? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindX11.cmake | Yes | Remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXKB.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXine.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXMMS.cmake | No | Remove as XMMS is dead? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
</pre><br />
<br />
=== kde-baseapps ===<br />
{| border="1"<br />
| File Name <br />
| Exists in CMake <br />
| Plan <br />
| Comments <br />
| Status<br />
|-<br />
| FindLibTidy.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|}<br />
<br />
=== kde-runtime ===<br />
{| border="1"<br />
| File Name <br />
| Exists in CMake <br />
| Plan <br />
| Comments <br />
| Status<br />
|-<br />
| FindCLucene.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|-<br />
| FindLibSSH.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|-<br />
| FindQNtrack.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|-<br />
| FindSLP.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|}<br />
<br />
=== kde-workspace ===<br />
{| border="1"<br />
| File Name<br />
| Exists in CMake<br />
| Plan<br />
| Comments<br />
|-<br />
| FindCkConnector.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindDBus.cmake<br />
| No<br />
| Upstream one of the many different copies in the KDE tree.<br />
|<br />
|-<br />
| FindGooglegadgets.cmake<br />
| No<br />
| Does this still exist? If not, remove.<br />
|<br />
|-<br />
| FindLibXKlavier.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindPAM.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindPCIUTILS.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindQalculate.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindRAW1394.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindSensors.cmake<br />
| No<br />
| Rename and upstream?<br />
|<br />
|-<br />
| FindOpenGLES.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindKephal.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| Findlibgps.cmake<br />
| No<br />
| Rename and upstream?<br />
|<br />
|}<br />
<br />
=== kdepimlibs ===<br />
{| border="1"<br />
| File Name<br />
| Exists in CMake<br />
| Plan<br />
| Comments<br />
|-<br />
| FindAkonadi.cmake<br />
| No<br />
| Should not be needed if Akonadi starts using Config.cmake files.<br />
|<br />
|-<br />
| FindGpgme.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindLdap.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindLibical.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindQgpgme.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|}<br />
<br />
== Framework-specific ==<br />
In general, they contain KDE-specific code which should not be upstreamed.<br />
<br />
{| border="1"<br />
| File Name<br />
| Plan<br />
| Comments<br />
|-<br />
| KDE4Defaults.cmake and FindKDE4Internal.cmake<br />
|<br />
|<br />
|-<br />
| KDE4Macros.cmake<br />
| -<br />
| Need to check each macro and see what can be dropped. |<br />
|-<br />
| Qt4ConfigDependentSettings.cmake and Qt4Macros.cmake <br />
| Remove our copy<br />
|<br />
|-<br />
| NepomukAddOntologyClasses.cmake<br />
| Merge into NepomukMacros.cmake?<br />
| Need to contact trueg about that.<br />
|-<br />
| NepomukMacros.cmake<br />
| - |<br />
|-<br />
| PythonCompile.py and PythonMacros.cmake<br />
| Upstream?<br />
|<br />
|-<br />
| SIPMacros.cmake<br />
| Upstream?<br />
|<br />
|-<br />
| Win32Macros.cmake<br />
| No idea.<br />
|<br />
|}<br />
<br />
== Generic Macros ==<br />
{| border="1"<br />
| File Name<br />
| Exists in CMake<br />
| Plan<br />
| Comments<br />
|-<br />
| MacroAddCompileFlags.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| MacroAddLinkFlags.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| MacroAdditionalCleanFiles.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| MacroAppendIf.cmake<br />
| No<br />
| Not used anywhere; remove?<br />
|<br />
|-<br />
| MacroBoolTo01.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| MacroEnsureOutOfSourceBuild.cmake<br />
| No<br />
| Remove? People should know they should not build in the source directory.<br />
|<br />
|-<br />
| MacroEnsureVersion.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| MacroKAuth.cmake<br />
| No<br />
| Remove. Already deprecated.<br />
|<br />
|-<br />
| MacroLibrary.cmake<br />
| No<br />
| Move functionality to FindKDE4?<br />
|<br />
|-<br />
| MacroLogFeature.cmake<br />
| No<br />
| Investigate CMake's FeatureSummary.<br />
|<br />
|-<br />
| MacroOptionalAddSubdirectory.cmake<br />
| No<br />
| See outcome of Alex's upstreaming efforts.<br />
|<br />
|-<br />
| MacroOptionalDependPackage.cmake<br />
| No<br />
| Broken, expects a FindFoo.cmake possibly provided by the application itself. Remove?<br />
|<br />
|-<br />
| MacroOptionalFindPackage.cmake<br />
| No<br />
| See outcome of Alex's upstreaming efforts.<br />
|<br />
|-<br />
| MacroPushRequiredVars.cmake<br />
| No<br />
|<br />
| Too specific to upstream?<br />
|-<br />
| MacroWriteBasicCMakeVersionFile.cmake<br />
| No<br />
| ?<br />
|<br />
|}<br />
<br />
== Other files in kdelibs ==<br />
{| border="1"<br />
| File Name<br />
| Plan<br />
| Comments<br />
|-<br />
| check_installed_exports_file.cmake<br />
| Remove?<br />
| Alex writes in kdelibs/CMakeLists.txt that the target installation code was going to change.<br />
|-<br />
| kde4_cmake_uninstall.cmake.in<br />
| ?<br />
|<br />
|-<br />
| kde4_exec_via_sh.cmake<br />
| ?<br />
|<br />
|-<br />
| kde4automoc.files.in<br />
| Remove once automoc is upstream.<br />
|<br />
|-<br />
| kde4exportsheader.h.in<br />
| Remove if this feature is upstreamed.<br />
|<br />
|-<br />
| kde4init_dummy.cpp.in and kde4init_win32lib_dummy.cpp.in<br />
| ?<br />
|<br />
|-<br />
| kde4uic.cmake<br />
| Remove if possible.<br />
|<br />
|}</div>OpenIDUser12https://community.kde.org/index.php?title=KDE_Core/Platform_11/Buildsystem/FindFilesSurvey&diff=13537KDE Core/Platform 11/Buildsystem/FindFilesSurvey2011-06-23T21:33:20Z<p>OpenIDUser12: /* Framework-specific */ Convert table to mediawiki's syntax</p>
<hr />
<div>= Rationale =<br />
One of the "coding" tasks consisted of actually going through our Find*.cmake files in kdelibs and its siblings and check what could be removed, upstreamed or merged in the future.<br />
<br />
The following tables look not only at the Find files, but also at some helper CMake files which may also cease to exist or move together with their Find counterparts.<br />
<br />
kdelibs, kdepimlibs, kde-baseapps, kde-runtime and kde-workspace were analysed.<br />
<br />
By the way, these tables were created using Emacs' org-mode, and there was no easy way to convert them to MediaWiki's syntax :)<br />
<br />
== Check*.cmake files ==<br />
{| border="1"<br />
| File Name <br />
| Exists in CMake <br />
| Plan <br />
| Comments <br />
| Status<br />
|-<br />
| CheckCXXSourceCompiles.cmake <br />
| Yes <br />
| Search mailing list for CMake developers' rationale, maybe upstream.<br />
<br />
| Began to diverge; CMake has FAIL_REGEX support, our version handles imported targets (Alex said CMake developers did not accept this feature upstream, need to search the mailing list archives).<br />
|<br />
|-<br />
| CheckCXXSourceRuns.cmake<br />
| Yes<br />
| Idem.<br />
| Idem.<br />
|<br />
|-<br />
| CheckCXXSymbolExists.cmake<br />
| No<br />
| Either check if we still support glibc 2.9, perhaps try upstreaming.<br />
| Almost equivalent to CMake's CheckSymbolExists.cmake, just creates .cxx files instead of .c ones.<br />
|<br />
|-<br />
| CheckPointerMember.cmake<br />
| No<br />
| Only used by krdc; remove from kdelibs?<br />
| Calls check_cxx_source_compiles on a struct with a given member.<br />
|<br />
|-<br />
| CheckPrototypeExists.cmake<br />
| No<br />
| 1d0e1a0 says this was going to be upstreamed. Try again?<br />
|<br />
|<br />
|-<br />
| CheckStructMember.cmake<br />
| No<br />
| Remove; CMake has CheckStructHasMember.cmake<br />
|<br />
|<br />
|-<br />
|}<br />
<br />
== Find*.cmake ==<br />
In this table, "upstreaming" a module can mean sending it to either CMake itself or the external modules collection.<br />
<br />
=== kdelibs ===<br />
<pre><br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindACL.cmake | No | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAGG.cmake | No | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAlsa.cmake | No | Upstream without config.h? | |<br />
| config-alsa.h.cmake | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAkode.cmake | No | Remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAutomoc4.cmake | No | Depends on the future of automoc. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAvahi.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBerkeleyDB.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBlitz.cmake | No | Remove, already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBlueZ.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBoost.cmake | Yes | Remove. Already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindCarbon.cmake | No | ? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDBusMenuQt.cmake | No | Remove in favour of DBMQ providing | |<br />
| | | a Config.cmake file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDNSSD.cmake | No | Merge with FindAvahi.cmake and | |<br />
| | | upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDocBookXML.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDocBookXSL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindENCHANT.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindEigen.cmake | No | Remove, already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindEigen2.cmake | No | Remove in favour of Eigen providing | |<br />
| | | a Config.cmake file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFAM.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFFmpeg.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFlac.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFlex.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFontconfig.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFreetype.cmake | Yes | Merge or remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGIF.cmake | Yes | Probably remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGLIB2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGMP.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGObject.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGSSAPI.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGStreamer.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGettext.cmake | Yes | Merge or provide our macros | We have some macros used in release tarballs. |<br />
| | | separately. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGphoto2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindHUNSPELL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindHUpnp.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindIOKit.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDEWorkspace.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDEWIN32.cmake | No | ? | |<br />
| FindKDEWIN_Packager.cmake | | | |<br />
| FindKDEWin.cmake | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDevPlatform.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKNepomuk.cmake | No | Already deprecated? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdcraw.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdeMultimedia.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdepim.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdepimLibs.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKexiv2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKipi.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKopete.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKorundum.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKonto.cmake | No | Already deprecated? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLCMS.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibArt.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibAttica.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibKonq.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibLZMA.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibXml2.cmake | Yes | Remove. | Upstream is pretty much identical. |<br />
| | | | LIBXSLT_XSLTPROC_EXECUTABLE is not used. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibXslt.cmake | Yes | Remove. | Upstream is pretty much identical; |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibintl.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibraryWithDebug.cmake | No | Upstream to CMake? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLinuxWirelesstools.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMsgfmt.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMusicBrainz.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMySQL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindNepomuk.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindNetworkManager.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOggVorbis.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOpenEXR.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOpenSSL.cmake | Yes | Remove. | Upstream is pretty much identical, should even |<br />
| | | | solve some reported build issues. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPCRE.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPackageHandleStandardArgs.cmake | Yes | Long story; let Alex decide. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPhonon.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPkgConfig.cmake | Yes | Remove. | Upstream is pretty much identical. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPlasma.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPolkitQt-1.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPolkitQt.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPopplerQt4.cmake | No | Ask tsdgeos to provide a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPostgreSQL.cmake | Yes | Probably remove. | Upstream looks more complete. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPulseAudio.cmak | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPyKDE4.cmake | No | ? | |<br />
| FindPyKDE4.py | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPyQt4.cmake | No | ? | |<br />
| FindPyQt.py | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPythonLibrary.cmake | Yes: | Try to merge with CMake. | |<br />
| | FindPythonInterp.cmake | | |<br />
| | FindPythonLibs.cmake | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQCA2.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQImageBlitz.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQt4.cmake | Yes | Probably remove; Alex knows best. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindRUBY.cmake | Yes (FindRuby.cmake) | Remove? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSamba.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSane.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSasl2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSharedDesktopOntologies.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSharedMimeInfo.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSoprano.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSqlite.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindStrigi.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file? Strigi is messy. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindTaglib.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindUDev.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindUSB.cmake | No | Rename and upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindWcecompat.cmake | No | ? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindX11.cmake | Yes | Remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXKB.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXine.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXMMS.cmake | No | Remove as XMMS is dead? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
</pre><br />
<br />
=== kde-baseapps ===<br />
{| border="1"<br />
| File Name <br />
| Exists in CMake <br />
| Plan <br />
| Comments <br />
| Status<br />
|-<br />
| FindLibTidy.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|}<br />
<br />
=== kde-runtime ===<br />
{| border="1"<br />
| File Name <br />
| Exists in CMake <br />
| Plan <br />
| Comments <br />
| Status<br />
|-<br />
| FindCLucene.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|-<br />
| FindLibSSH.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|-<br />
| FindQNtrack.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|-<br />
| FindSLP.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|}<br />
<br />
=== kde-workspace ===<br />
{| border="1"<br />
| File Name<br />
| Exists in CMake<br />
| Plan<br />
| Comments<br />
|-<br />
| FindCkConnector.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindDBus.cmake<br />
| No<br />
| Upstream one of the many different copies in the KDE tree.<br />
|<br />
|-<br />
| FindGooglegadgets.cmake<br />
| No<br />
| Does this still exist? If not, remove.<br />
|<br />
|-<br />
| FindLibXKlavier.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindPAM.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindPCIUTILS.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindQalculate.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindRAW1394.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindSensors.cmake<br />
| No<br />
| Rename and upstream?<br />
|<br />
|-<br />
| FindOpenGLES.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindKephal.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| Findlibgps.cmake<br />
| No<br />
| Rename and upstream?<br />
|<br />
|}<br />
<br />
=== kdepimlibs ===<br />
{| border="1"<br />
| File Name<br />
| Exists in CMake<br />
| Plan<br />
| Comments<br />
|-<br />
| FindAkonadi.cmake<br />
| No<br />
| Should not be needed if Akonadi starts using Config.cmake files.<br />
|<br />
|-<br />
| FindGpgme.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindLdap.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindLibical.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindQgpgme.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|}<br />
<br />
== Framework-specific ==<br />
In general, they contain KDE-specific code which should not be upstreamed.<br />
<br />
{| border="1"<br />
| File Name<br />
| Plan<br />
| Comments<br />
|-<br />
| KDE4Defaults.cmake and FindKDE4Internal.cmake<br />
|<br />
|<br />
|-<br />
| KDE4Macros.cmake<br />
| -<br />
| Need to check each macro and see what can be dropped. |<br />
|-<br />
| Qt4ConfigDependentSettings.cmake and Qt4Macros.cmake <br />
| Remove our copy<br />
|<br />
|-<br />
| NepomukAddOntologyClasses.cmake<br />
| Merge into NepomukMacros.cmake?<br />
| Need to contact trueg about that.<br />
|-<br />
| NepomukMacros.cmake<br />
| - |<br />
|-<br />
| PythonCompile.py and PythonMacros.cmake<br />
| Upstream?<br />
|<br />
|-<br />
| SIPMacros.cmake<br />
| Upstream?<br />
|<br />
|-<br />
| Win32Macros.cmake<br />
| No idea.<br />
|<br />
|}<br />
<br />
== Generic Macros ==<br />
<pre><br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAddCompileFlags.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAddLinkFlags.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAdditionalCleanFiles.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAppendIf.cmake | No | Not used anywhere; remove? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroBoolTo01.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroEnsureOutOfSourceBuild.cmake | No | Remove? People should know they should | |<br />
| | | not build in the source directory. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroEnsureVersion.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroKAuth.cmake | No | Remove. Already deprecated. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroLibrary.cmake | No | Move functionality to FindKDE4? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroLogFeature.cmake | No | Investigate CMake's FeatureSummary. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroOptionalAddSubdirectory.cmake | No | See outcome of Alex's upstreaming | |<br />
| | | efforts. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroOptionalDependPackage.cmake | No | Broken, expects a FindFoo.cmake possibly | |<br />
| | | provided by the application itself. | |<br />
| | | Remove? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroOptionalFindPackage.cmake | No | See outcome of Alex's upstreaming | |<br />
| | | efforts. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroPushRequiredVars.cmake | No | | Too specific to upstream? |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroWriteBasicCMakeVersionFile.cmake | No | ? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
</pre><br />
<br />
== Other files in kdelibs ==<br />
{| border="1"<br />
| File Name<br />
| Plan<br />
| Comments<br />
|-<br />
| check_installed_exports_file.cmake<br />
| Remove?<br />
| Alex writes in kdelibs/CMakeLists.txt that the target installation code was going to change.<br />
|-<br />
| kde4_cmake_uninstall.cmake.in<br />
| ?<br />
|<br />
|-<br />
| kde4_exec_via_sh.cmake<br />
| ?<br />
|<br />
|-<br />
| kde4automoc.files.in<br />
| Remove once automoc is upstream.<br />
|<br />
|-<br />
| kde4exportsheader.h.in<br />
| Remove if this feature is upstreamed.<br />
|<br />
|-<br />
| kde4init_dummy.cpp.in and kde4init_win32lib_dummy.cpp.in<br />
| ?<br />
|<br />
|-<br />
| kde4uic.cmake<br />
| Remove if possible.<br />
|<br />
|}</div>OpenIDUser12https://community.kde.org/index.php?title=KDE_Core/Platform_11/Buildsystem/FindFilesSurvey&diff=13516KDE Core/Platform 11/Buildsystem/FindFilesSurvey2011-06-23T15:27:32Z<p>OpenIDUser12: /* kde-workspace */ Convert table to mediawiki's syntax</p>
<hr />
<div>= Rationale =<br />
One of the "coding" tasks consisted of actually going through our Find*.cmake files in kdelibs and its siblings and check what could be removed, upstreamed or merged in the future.<br />
<br />
The following tables look not only at the Find files, but also at some helper CMake files which may also cease to exist or move together with their Find counterparts.<br />
<br />
kdelibs, kdepimlibs, kde-baseapps, kde-runtime and kde-workspace were analysed.<br />
<br />
By the way, these tables were created using Emacs' org-mode, and there was no easy way to convert them to MediaWiki's syntax :)<br />
<br />
== Check*.cmake files ==<br />
{| border="1"<br />
| File Name <br />
| Exists in CMake <br />
| Plan <br />
| Comments <br />
| Status<br />
|-<br />
| CheckCXXSourceCompiles.cmake <br />
| Yes <br />
| Search mailing list for CMake developers' rationale, maybe upstream.<br />
<br />
| Began to diverge; CMake has FAIL_REGEX support, our version handles imported targets (Alex said CMake developers did not accept this feature upstream, need to search the mailing list archives).<br />
|<br />
|-<br />
| CheckCXXSourceRuns.cmake<br />
| Yes<br />
| Idem.<br />
| Idem.<br />
|<br />
|-<br />
| CheckCXXSymbolExists.cmake<br />
| No<br />
| Either check if we still support glibc 2.9, perhaps try upstreaming.<br />
| Almost equivalent to CMake's CheckSymbolExists.cmake, just creates .cxx files instead of .c ones.<br />
|<br />
|-<br />
| CheckPointerMember.cmake<br />
| No<br />
| Only used by krdc; remove from kdelibs?<br />
| Calls check_cxx_source_compiles on a struct with a given member.<br />
|<br />
|-<br />
| CheckPrototypeExists.cmake<br />
| No<br />
| 1d0e1a0 says this was going to be upstreamed. Try again?<br />
|<br />
|<br />
|-<br />
| CheckStructMember.cmake<br />
| No<br />
| Remove; CMake has CheckStructHasMember.cmake<br />
|<br />
|<br />
|-<br />
|}<br />
<br />
== Find*.cmake ==<br />
In this table, "upstreaming" a module can mean sending it to either CMake itself or the external modules collection.<br />
<br />
=== kdelibs ===<br />
<pre><br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindACL.cmake | No | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAGG.cmake | No | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAlsa.cmake | No | Upstream without config.h? | |<br />
| config-alsa.h.cmake | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAkode.cmake | No | Remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAutomoc4.cmake | No | Depends on the future of automoc. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAvahi.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBerkeleyDB.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBlitz.cmake | No | Remove, already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBlueZ.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBoost.cmake | Yes | Remove. Already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindCarbon.cmake | No | ? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDBusMenuQt.cmake | No | Remove in favour of DBMQ providing | |<br />
| | | a Config.cmake file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDNSSD.cmake | No | Merge with FindAvahi.cmake and | |<br />
| | | upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDocBookXML.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDocBookXSL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindENCHANT.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindEigen.cmake | No | Remove, already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindEigen2.cmake | No | Remove in favour of Eigen providing | |<br />
| | | a Config.cmake file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFAM.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFFmpeg.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFlac.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFlex.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFontconfig.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFreetype.cmake | Yes | Merge or remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGIF.cmake | Yes | Probably remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGLIB2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGMP.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGObject.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGSSAPI.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGStreamer.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGettext.cmake | Yes | Merge or provide our macros | We have some macros used in release tarballs. |<br />
| | | separately. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGphoto2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindHUNSPELL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindHUpnp.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindIOKit.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDEWorkspace.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDEWIN32.cmake | No | ? | |<br />
| FindKDEWIN_Packager.cmake | | | |<br />
| FindKDEWin.cmake | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDevPlatform.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKNepomuk.cmake | No | Already deprecated? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdcraw.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdeMultimedia.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdepim.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdepimLibs.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKexiv2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKipi.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKopete.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKorundum.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKonto.cmake | No | Already deprecated? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLCMS.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibArt.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibAttica.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibKonq.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibLZMA.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibXml2.cmake | Yes | Remove. | Upstream is pretty much identical. |<br />
| | | | LIBXSLT_XSLTPROC_EXECUTABLE is not used. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibXslt.cmake | Yes | Remove. | Upstream is pretty much identical; |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibintl.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibraryWithDebug.cmake | No | Upstream to CMake? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLinuxWirelesstools.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMsgfmt.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMusicBrainz.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMySQL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindNepomuk.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindNetworkManager.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOggVorbis.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOpenEXR.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOpenSSL.cmake | Yes | Remove. | Upstream is pretty much identical, should even |<br />
| | | | solve some reported build issues. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPCRE.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPackageHandleStandardArgs.cmake | Yes | Long story; let Alex decide. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPhonon.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPkgConfig.cmake | Yes | Remove. | Upstream is pretty much identical. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPlasma.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPolkitQt-1.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPolkitQt.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPopplerQt4.cmake | No | Ask tsdgeos to provide a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPostgreSQL.cmake | Yes | Probably remove. | Upstream looks more complete. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPulseAudio.cmak | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPyKDE4.cmake | No | ? | |<br />
| FindPyKDE4.py | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPyQt4.cmake | No | ? | |<br />
| FindPyQt.py | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPythonLibrary.cmake | Yes: | Try to merge with CMake. | |<br />
| | FindPythonInterp.cmake | | |<br />
| | FindPythonLibs.cmake | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQCA2.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQImageBlitz.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQt4.cmake | Yes | Probably remove; Alex knows best. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindRUBY.cmake | Yes (FindRuby.cmake) | Remove? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSamba.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSane.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSasl2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSharedDesktopOntologies.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSharedMimeInfo.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSoprano.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSqlite.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindStrigi.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file? Strigi is messy. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindTaglib.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindUDev.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindUSB.cmake | No | Rename and upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindWcecompat.cmake | No | ? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindX11.cmake | Yes | Remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXKB.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXine.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXMMS.cmake | No | Remove as XMMS is dead? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
</pre><br />
<br />
=== kde-baseapps ===<br />
{| border="1"<br />
| File Name <br />
| Exists in CMake <br />
| Plan <br />
| Comments <br />
| Status<br />
|-<br />
| FindLibTidy.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|}<br />
<br />
=== kde-runtime ===<br />
{| border="1"<br />
| File Name <br />
| Exists in CMake <br />
| Plan <br />
| Comments <br />
| Status<br />
|-<br />
| FindCLucene.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|-<br />
| FindLibSSH.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|-<br />
| FindQNtrack.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|-<br />
| FindSLP.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|}<br />
<br />
=== kde-workspace ===<br />
{| border="1"<br />
| File Name<br />
| Exists in CMake<br />
| Plan<br />
| Comments<br />
|-<br />
| FindCkConnector.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindDBus.cmake<br />
| No<br />
| Upstream one of the many different copies in the KDE tree.<br />
|<br />
|-<br />
| FindGooglegadgets.cmake<br />
| No<br />
| Does this still exist? If not, remove.<br />
|<br />
|-<br />
| FindLibXKlavier.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindPAM.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindPCIUTILS.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindQalculate.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindRAW1394.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindSensors.cmake<br />
| No<br />
| Rename and upstream?<br />
|<br />
|-<br />
| FindOpenGLES.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindKephal.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|-<br />
| Findlibgps.cmake<br />
| No<br />
| Rename and upstream?<br />
|<br />
|}<br />
<br />
=== kdepimlibs ===<br />
{| border="1"<br />
| File Name<br />
| Exists in CMake<br />
| Plan<br />
| Comments<br />
|-<br />
| FindAkonadi.cmake<br />
| No<br />
| Should not be needed if Akonadi starts using Config.cmake files.<br />
|<br />
|-<br />
| FindGpgme.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindLdap.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindLibical.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindQgpgme.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|}<br />
<br />
== Framework-specific ==<br />
In general, they contain KDE-specific code which should not be upstreamed.<br />
<br />
<pre><br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| File Name | Plan | Comments |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| KDE4Defaults.cmake | - | |<br />
| FindKDE4Internal.cmake | | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| KDE4Macros.cmake | - | Need to check each macro and see what can be dropped. |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| Qt4ConfigDependentSettings.cmake | Remove our copy | |<br />
| Qt4Macros.cmake | | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| NepomukAddOntologyClasses.cmake | Merge into NepomukMacros.cmake? | Need to contact trueg about that. |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| NepomukMacros.cmake | - | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| PythonCompile.py | Upstream? | |<br />
| PythonMacros.cmake | | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| SIPMacros.cmake | Upstream? | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| Win32Macros.cmake | No idea. | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
</pre><br />
<br />
== Generic Macros ==<br />
<pre><br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAddCompileFlags.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAddLinkFlags.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAdditionalCleanFiles.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAppendIf.cmake | No | Not used anywhere; remove? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroBoolTo01.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroEnsureOutOfSourceBuild.cmake | No | Remove? People should know they should | |<br />
| | | not build in the source directory. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroEnsureVersion.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroKAuth.cmake | No | Remove. Already deprecated. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroLibrary.cmake | No | Move functionality to FindKDE4? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroLogFeature.cmake | No | Investigate CMake's FeatureSummary. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroOptionalAddSubdirectory.cmake | No | See outcome of Alex's upstreaming | |<br />
| | | efforts. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroOptionalDependPackage.cmake | No | Broken, expects a FindFoo.cmake possibly | |<br />
| | | provided by the application itself. | |<br />
| | | Remove? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroOptionalFindPackage.cmake | No | See outcome of Alex's upstreaming | |<br />
| | | efforts. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroPushRequiredVars.cmake | No | | Too specific to upstream? |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroWriteBasicCMakeVersionFile.cmake | No | ? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
</pre><br />
<br />
== Other files in kdelibs ==<br />
{| border="1"<br />
| File Name<br />
| Plan<br />
| Comments<br />
|-<br />
| check_installed_exports_file.cmake<br />
| Remove?<br />
| Alex writes in kdelibs/CMakeLists.txt that the target installation code was going to change.<br />
|-<br />
| kde4_cmake_uninstall.cmake.in<br />
| ?<br />
|<br />
|-<br />
| kde4_exec_via_sh.cmake<br />
| ?<br />
|<br />
|-<br />
| kde4automoc.files.in<br />
| Remove once automoc is upstream.<br />
|<br />
|-<br />
| kde4exportsheader.h.in<br />
| Remove if this feature is upstreamed.<br />
|<br />
|-<br />
| kde4init_dummy.cpp.in and kde4init_win32lib_dummy.cpp.in<br />
| ?<br />
|<br />
|-<br />
| kde4uic.cmake<br />
| Remove if possible.<br />
|<br />
|}</div>OpenIDUser12https://community.kde.org/index.php?title=KDE_Core/Platform_11/Buildsystem/FindFilesSurvey&diff=13515KDE Core/Platform 11/Buildsystem/FindFilesSurvey2011-06-23T15:21:38Z<p>OpenIDUser12: /* kdepimlibs */ Convert table to mediawiki's syntax</p>
<hr />
<div>= Rationale =<br />
One of the "coding" tasks consisted of actually going through our Find*.cmake files in kdelibs and its siblings and check what could be removed, upstreamed or merged in the future.<br />
<br />
The following tables look not only at the Find files, but also at some helper CMake files which may also cease to exist or move together with their Find counterparts.<br />
<br />
kdelibs, kdepimlibs, kde-baseapps, kde-runtime and kde-workspace were analysed.<br />
<br />
By the way, these tables were created using Emacs' org-mode, and there was no easy way to convert them to MediaWiki's syntax :)<br />
<br />
== Check*.cmake files ==<br />
{| border="1"<br />
| File Name <br />
| Exists in CMake <br />
| Plan <br />
| Comments <br />
| Status<br />
|-<br />
| CheckCXXSourceCompiles.cmake <br />
| Yes <br />
| Search mailing list for CMake developers' rationale, maybe upstream.<br />
<br />
| Began to diverge; CMake has FAIL_REGEX support, our version handles imported targets (Alex said CMake developers did not accept this feature upstream, need to search the mailing list archives).<br />
|<br />
|-<br />
| CheckCXXSourceRuns.cmake<br />
| Yes<br />
| Idem.<br />
| Idem.<br />
|<br />
|-<br />
| CheckCXXSymbolExists.cmake<br />
| No<br />
| Either check if we still support glibc 2.9, perhaps try upstreaming.<br />
| Almost equivalent to CMake's CheckSymbolExists.cmake, just creates .cxx files instead of .c ones.<br />
|<br />
|-<br />
| CheckPointerMember.cmake<br />
| No<br />
| Only used by krdc; remove from kdelibs?<br />
| Calls check_cxx_source_compiles on a struct with a given member.<br />
|<br />
|-<br />
| CheckPrototypeExists.cmake<br />
| No<br />
| 1d0e1a0 says this was going to be upstreamed. Try again?<br />
|<br />
|<br />
|-<br />
| CheckStructMember.cmake<br />
| No<br />
| Remove; CMake has CheckStructHasMember.cmake<br />
|<br />
|<br />
|-<br />
|}<br />
<br />
== Find*.cmake ==<br />
In this table, "upstreaming" a module can mean sending it to either CMake itself or the external modules collection.<br />
<br />
=== kdelibs ===<br />
<pre><br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindACL.cmake | No | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAGG.cmake | No | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAlsa.cmake | No | Upstream without config.h? | |<br />
| config-alsa.h.cmake | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAkode.cmake | No | Remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAutomoc4.cmake | No | Depends on the future of automoc. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAvahi.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBerkeleyDB.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBlitz.cmake | No | Remove, already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBlueZ.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBoost.cmake | Yes | Remove. Already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindCarbon.cmake | No | ? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDBusMenuQt.cmake | No | Remove in favour of DBMQ providing | |<br />
| | | a Config.cmake file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDNSSD.cmake | No | Merge with FindAvahi.cmake and | |<br />
| | | upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDocBookXML.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDocBookXSL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindENCHANT.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindEigen.cmake | No | Remove, already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindEigen2.cmake | No | Remove in favour of Eigen providing | |<br />
| | | a Config.cmake file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFAM.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFFmpeg.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFlac.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFlex.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFontconfig.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFreetype.cmake | Yes | Merge or remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGIF.cmake | Yes | Probably remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGLIB2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGMP.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGObject.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGSSAPI.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGStreamer.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGettext.cmake | Yes | Merge or provide our macros | We have some macros used in release tarballs. |<br />
| | | separately. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGphoto2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindHUNSPELL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindHUpnp.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindIOKit.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDEWorkspace.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDEWIN32.cmake | No | ? | |<br />
| FindKDEWIN_Packager.cmake | | | |<br />
| FindKDEWin.cmake | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDevPlatform.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKNepomuk.cmake | No | Already deprecated? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdcraw.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdeMultimedia.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdepim.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdepimLibs.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKexiv2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKipi.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKopete.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKorundum.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKonto.cmake | No | Already deprecated? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLCMS.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibArt.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibAttica.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibKonq.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibLZMA.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibXml2.cmake | Yes | Remove. | Upstream is pretty much identical. |<br />
| | | | LIBXSLT_XSLTPROC_EXECUTABLE is not used. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibXslt.cmake | Yes | Remove. | Upstream is pretty much identical; |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibintl.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibraryWithDebug.cmake | No | Upstream to CMake? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLinuxWirelesstools.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMsgfmt.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMusicBrainz.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMySQL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindNepomuk.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindNetworkManager.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOggVorbis.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOpenEXR.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOpenSSL.cmake | Yes | Remove. | Upstream is pretty much identical, should even |<br />
| | | | solve some reported build issues. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPCRE.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPackageHandleStandardArgs.cmake | Yes | Long story; let Alex decide. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPhonon.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPkgConfig.cmake | Yes | Remove. | Upstream is pretty much identical. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPlasma.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPolkitQt-1.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPolkitQt.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPopplerQt4.cmake | No | Ask tsdgeos to provide a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPostgreSQL.cmake | Yes | Probably remove. | Upstream looks more complete. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPulseAudio.cmak | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPyKDE4.cmake | No | ? | |<br />
| FindPyKDE4.py | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPyQt4.cmake | No | ? | |<br />
| FindPyQt.py | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPythonLibrary.cmake | Yes: | Try to merge with CMake. | |<br />
| | FindPythonInterp.cmake | | |<br />
| | FindPythonLibs.cmake | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQCA2.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQImageBlitz.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQt4.cmake | Yes | Probably remove; Alex knows best. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindRUBY.cmake | Yes (FindRuby.cmake) | Remove? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSamba.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSane.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSasl2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSharedDesktopOntologies.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSharedMimeInfo.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSoprano.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSqlite.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindStrigi.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file? Strigi is messy. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindTaglib.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindUDev.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindUSB.cmake | No | Rename and upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindWcecompat.cmake | No | ? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindX11.cmake | Yes | Remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXKB.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXine.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXMMS.cmake | No | Remove as XMMS is dead? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
</pre><br />
<br />
=== kde-baseapps ===<br />
{| border="1"<br />
| File Name <br />
| Exists in CMake <br />
| Plan <br />
| Comments <br />
| Status<br />
|-<br />
| FindLibTidy.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|}<br />
<br />
=== kde-runtime ===<br />
{| border="1"<br />
| File Name <br />
| Exists in CMake <br />
| Plan <br />
| Comments <br />
| Status<br />
|-<br />
| FindCLucene.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|-<br />
| FindLibSSH.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|-<br />
| FindQNtrack.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|-<br />
| FindSLP.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|}<br />
<br />
=== kde-workspace ===<br />
<pre><br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindCkConnector.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindDBus.cmake | No | Upstream one of the many different | |<br />
| | | copies in the KDE tree. | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindGooglegadgets.cmake | No | Does this still exist? If not, remove. | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindLibXKlavier.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindPAM.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindPCIUTILS.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindQalculate.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindRAW1394.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindSensors.cmake | No | Rename and upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindOpenGLES.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindKephal.cmake | No | Remove in favour of a Config.cmake file. | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| Findlibgps.cmake | No | Rename and upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
</pre><br />
<br />
=== kdepimlibs ===<br />
{| border="1"<br />
| File Name<br />
| Exists in CMake<br />
| Plan<br />
| Comments<br />
|-<br />
| FindAkonadi.cmake<br />
| No<br />
| Should not be needed if Akonadi starts using Config.cmake files.<br />
|<br />
|-<br />
| FindGpgme.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindLdap.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindLibical.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|-<br />
| FindQgpgme.cmake<br />
| No<br />
| Remove in favour of a Config.cmake file.<br />
|<br />
|}<br />
<br />
== Framework-specific ==<br />
In general, they contain KDE-specific code which should not be upstreamed.<br />
<br />
<pre><br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| File Name | Plan | Comments |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| KDE4Defaults.cmake | - | |<br />
| FindKDE4Internal.cmake | | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| KDE4Macros.cmake | - | Need to check each macro and see what can be dropped. |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| Qt4ConfigDependentSettings.cmake | Remove our copy | |<br />
| Qt4Macros.cmake | | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| NepomukAddOntologyClasses.cmake | Merge into NepomukMacros.cmake? | Need to contact trueg about that. |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| NepomukMacros.cmake | - | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| PythonCompile.py | Upstream? | |<br />
| PythonMacros.cmake | | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| SIPMacros.cmake | Upstream? | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| Win32Macros.cmake | No idea. | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
</pre><br />
<br />
== Generic Macros ==<br />
<pre><br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAddCompileFlags.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAddLinkFlags.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAdditionalCleanFiles.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAppendIf.cmake | No | Not used anywhere; remove? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroBoolTo01.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroEnsureOutOfSourceBuild.cmake | No | Remove? People should know they should | |<br />
| | | not build in the source directory. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroEnsureVersion.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroKAuth.cmake | No | Remove. Already deprecated. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroLibrary.cmake | No | Move functionality to FindKDE4? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroLogFeature.cmake | No | Investigate CMake's FeatureSummary. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroOptionalAddSubdirectory.cmake | No | See outcome of Alex's upstreaming | |<br />
| | | efforts. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroOptionalDependPackage.cmake | No | Broken, expects a FindFoo.cmake possibly | |<br />
| | | provided by the application itself. | |<br />
| | | Remove? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroOptionalFindPackage.cmake | No | See outcome of Alex's upstreaming | |<br />
| | | efforts. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroPushRequiredVars.cmake | No | | Too specific to upstream? |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroWriteBasicCMakeVersionFile.cmake | No | ? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
</pre><br />
<br />
== Other files in kdelibs ==<br />
{| border="1"<br />
| File Name<br />
| Plan<br />
| Comments<br />
|-<br />
| check_installed_exports_file.cmake<br />
| Remove?<br />
| Alex writes in kdelibs/CMakeLists.txt that the target installation code was going to change.<br />
|-<br />
| kde4_cmake_uninstall.cmake.in<br />
| ?<br />
|<br />
|-<br />
| kde4_exec_via_sh.cmake<br />
| ?<br />
|<br />
|-<br />
| kde4automoc.files.in<br />
| Remove once automoc is upstream.<br />
|<br />
|-<br />
| kde4exportsheader.h.in<br />
| Remove if this feature is upstreamed.<br />
|<br />
|-<br />
| kde4init_dummy.cpp.in and kde4init_win32lib_dummy.cpp.in<br />
| ?<br />
|<br />
|-<br />
| kde4uic.cmake<br />
| Remove if possible.<br />
|<br />
|}</div>OpenIDUser12https://community.kde.org/index.php?title=KDE_Core/Platform_11/Buildsystem/FindFilesSurvey&diff=13514KDE Core/Platform 11/Buildsystem/FindFilesSurvey2011-06-23T15:18:14Z<p>OpenIDUser12: /* Other files in kdelibs */ Convert table to mediawiki's syntax</p>
<hr />
<div>= Rationale =<br />
One of the "coding" tasks consisted of actually going through our Find*.cmake files in kdelibs and its siblings and check what could be removed, upstreamed or merged in the future.<br />
<br />
The following tables look not only at the Find files, but also at some helper CMake files which may also cease to exist or move together with their Find counterparts.<br />
<br />
kdelibs, kdepimlibs, kde-baseapps, kde-runtime and kde-workspace were analysed.<br />
<br />
By the way, these tables were created using Emacs' org-mode, and there was no easy way to convert them to MediaWiki's syntax :)<br />
<br />
== Check*.cmake files ==<br />
{| border="1"<br />
| File Name <br />
| Exists in CMake <br />
| Plan <br />
| Comments <br />
| Status<br />
|-<br />
| CheckCXXSourceCompiles.cmake <br />
| Yes <br />
| Search mailing list for CMake developers' rationale, maybe upstream.<br />
<br />
| Began to diverge; CMake has FAIL_REGEX support, our version handles imported targets (Alex said CMake developers did not accept this feature upstream, need to search the mailing list archives).<br />
|<br />
|-<br />
| CheckCXXSourceRuns.cmake<br />
| Yes<br />
| Idem.<br />
| Idem.<br />
|<br />
|-<br />
| CheckCXXSymbolExists.cmake<br />
| No<br />
| Either check if we still support glibc 2.9, perhaps try upstreaming.<br />
| Almost equivalent to CMake's CheckSymbolExists.cmake, just creates .cxx files instead of .c ones.<br />
|<br />
|-<br />
| CheckPointerMember.cmake<br />
| No<br />
| Only used by krdc; remove from kdelibs?<br />
| Calls check_cxx_source_compiles on a struct with a given member.<br />
|<br />
|-<br />
| CheckPrototypeExists.cmake<br />
| No<br />
| 1d0e1a0 says this was going to be upstreamed. Try again?<br />
|<br />
|<br />
|-<br />
| CheckStructMember.cmake<br />
| No<br />
| Remove; CMake has CheckStructHasMember.cmake<br />
|<br />
|<br />
|-<br />
|}<br />
<br />
== Find*.cmake ==<br />
In this table, "upstreaming" a module can mean sending it to either CMake itself or the external modules collection.<br />
<br />
=== kdelibs ===<br />
<pre><br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindACL.cmake | No | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAGG.cmake | No | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAlsa.cmake | No | Upstream without config.h? | |<br />
| config-alsa.h.cmake | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAkode.cmake | No | Remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAutomoc4.cmake | No | Depends on the future of automoc. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAvahi.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBerkeleyDB.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBlitz.cmake | No | Remove, already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBlueZ.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBoost.cmake | Yes | Remove. Already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindCarbon.cmake | No | ? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDBusMenuQt.cmake | No | Remove in favour of DBMQ providing | |<br />
| | | a Config.cmake file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDNSSD.cmake | No | Merge with FindAvahi.cmake and | |<br />
| | | upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDocBookXML.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDocBookXSL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindENCHANT.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindEigen.cmake | No | Remove, already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindEigen2.cmake | No | Remove in favour of Eigen providing | |<br />
| | | a Config.cmake file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFAM.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFFmpeg.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFlac.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFlex.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFontconfig.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFreetype.cmake | Yes | Merge or remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGIF.cmake | Yes | Probably remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGLIB2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGMP.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGObject.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGSSAPI.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGStreamer.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGettext.cmake | Yes | Merge or provide our macros | We have some macros used in release tarballs. |<br />
| | | separately. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGphoto2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindHUNSPELL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindHUpnp.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindIOKit.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDEWorkspace.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDEWIN32.cmake | No | ? | |<br />
| FindKDEWIN_Packager.cmake | | | |<br />
| FindKDEWin.cmake | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDevPlatform.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKNepomuk.cmake | No | Already deprecated? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdcraw.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdeMultimedia.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdepim.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdepimLibs.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKexiv2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKipi.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKopete.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKorundum.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKonto.cmake | No | Already deprecated? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLCMS.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibArt.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibAttica.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibKonq.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibLZMA.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibXml2.cmake | Yes | Remove. | Upstream is pretty much identical. |<br />
| | | | LIBXSLT_XSLTPROC_EXECUTABLE is not used. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibXslt.cmake | Yes | Remove. | Upstream is pretty much identical; |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibintl.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibraryWithDebug.cmake | No | Upstream to CMake? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLinuxWirelesstools.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMsgfmt.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMusicBrainz.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMySQL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindNepomuk.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindNetworkManager.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOggVorbis.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOpenEXR.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOpenSSL.cmake | Yes | Remove. | Upstream is pretty much identical, should even |<br />
| | | | solve some reported build issues. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPCRE.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPackageHandleStandardArgs.cmake | Yes | Long story; let Alex decide. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPhonon.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPkgConfig.cmake | Yes | Remove. | Upstream is pretty much identical. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPlasma.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPolkitQt-1.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPolkitQt.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPopplerQt4.cmake | No | Ask tsdgeos to provide a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPostgreSQL.cmake | Yes | Probably remove. | Upstream looks more complete. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPulseAudio.cmak | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPyKDE4.cmake | No | ? | |<br />
| FindPyKDE4.py | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPyQt4.cmake | No | ? | |<br />
| FindPyQt.py | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPythonLibrary.cmake | Yes: | Try to merge with CMake. | |<br />
| | FindPythonInterp.cmake | | |<br />
| | FindPythonLibs.cmake | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQCA2.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQImageBlitz.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQt4.cmake | Yes | Probably remove; Alex knows best. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindRUBY.cmake | Yes (FindRuby.cmake) | Remove? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSamba.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSane.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSasl2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSharedDesktopOntologies.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSharedMimeInfo.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSoprano.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSqlite.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindStrigi.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file? Strigi is messy. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindTaglib.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindUDev.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindUSB.cmake | No | Rename and upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindWcecompat.cmake | No | ? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindX11.cmake | Yes | Remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXKB.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXine.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXMMS.cmake | No | Remove as XMMS is dead? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
</pre><br />
<br />
=== kde-baseapps ===<br />
{| border="1"<br />
| File Name <br />
| Exists in CMake <br />
| Plan <br />
| Comments <br />
| Status<br />
|-<br />
| FindLibTidy.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|}<br />
<br />
=== kde-runtime ===<br />
{| border="1"<br />
| File Name <br />
| Exists in CMake <br />
| Plan <br />
| Comments <br />
| Status<br />
|-<br />
| FindCLucene.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|-<br />
| FindLibSSH.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|-<br />
| FindQNtrack.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|-<br />
| FindSLP.cmake<br />
| No<br />
| Upstream?<br />
|<br />
|<br />
|}<br />
<br />
=== kde-workspace ===<br />
<pre><br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindCkConnector.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindDBus.cmake | No | Upstream one of the many different | |<br />
| | | copies in the KDE tree. | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindGooglegadgets.cmake | No | Does this still exist? If not, remove. | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindLibXKlavier.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindPAM.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindPCIUTILS.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindQalculate.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindRAW1394.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindSensors.cmake | No | Rename and upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindOpenGLES.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindKephal.cmake | No | Remove in favour of a Config.cmake file. | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| Findlibgps.cmake | No | Rename and upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
</pre><br />
<br />
=== kdepimlibs ===<br />
<pre><br />
|-------------------+-----------------+------------------------------------------+----------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|-------------------+-----------------+------------------------------------------+----------|<br />
| FindAkonadi.cmake | No | Should not be needed if Akonadi starts | |<br />
| | | using Config.cmake files. | |<br />
|-------------------+-----------------+------------------------------------------+----------|<br />
| FindGpgme.cmake | No | Upstream? | |<br />
|-------------------+-----------------+------------------------------------------+----------|<br />
| FindLdap.cmake | No | Upstream? | |<br />
|-------------------+-----------------+------------------------------------------+----------|<br />
| FindLibical.cmake | No | Upstream? | |<br />
|-------------------+-----------------+------------------------------------------+----------|<br />
| FindQgpgme.cmake | No | Remove in favour of a Config.cmake file. | |<br />
|-------------------+-----------------+------------------------------------------+----------|<br />
</pre><br />
<br />
== Framework-specific ==<br />
In general, they contain KDE-specific code which should not be upstreamed.<br />
<br />
<pre><br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| File Name | Plan | Comments |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| KDE4Defaults.cmake | - | |<br />
| FindKDE4Internal.cmake | | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| KDE4Macros.cmake | - | Need to check each macro and see what can be dropped. |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| Qt4ConfigDependentSettings.cmake | Remove our copy | |<br />
| Qt4Macros.cmake | | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| NepomukAddOntologyClasses.cmake | Merge into NepomukMacros.cmake? | Need to contact trueg about that. |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| NepomukMacros.cmake | - | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| PythonCompile.py | Upstream? | |<br />
| PythonMacros.cmake | | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| SIPMacros.cmake | Upstream? | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| Win32Macros.cmake | No idea. | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
</pre><br />
<br />
== Generic Macros ==<br />
<pre><br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAddCompileFlags.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAddLinkFlags.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAdditionalCleanFiles.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAppendIf.cmake | No | Not used anywhere; remove? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroBoolTo01.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroEnsureOutOfSourceBuild.cmake | No | Remove? People should know they should | |<br />
| | | not build in the source directory. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroEnsureVersion.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroKAuth.cmake | No | Remove. Already deprecated. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroLibrary.cmake | No | Move functionality to FindKDE4? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroLogFeature.cmake | No | Investigate CMake's FeatureSummary. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroOptionalAddSubdirectory.cmake | No | See outcome of Alex's upstreaming | |<br />
| | | efforts. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroOptionalDependPackage.cmake | No | Broken, expects a FindFoo.cmake possibly | |<br />
| | | provided by the application itself. | |<br />
| | | Remove? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroOptionalFindPackage.cmake | No | See outcome of Alex's upstreaming | |<br />
| | | efforts. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroPushRequiredVars.cmake | No | | Too specific to upstream? |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroWriteBasicCMakeVersionFile.cmake | No | ? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
</pre><br />
<br />
== Other files in kdelibs ==<br />
{| border="1"<br />
| File Name<br />
| Plan<br />
| Comments<br />
|-<br />
| check_installed_exports_file.cmake<br />
| Remove?<br />
| Alex writes in kdelibs/CMakeLists.txt that the target installation code was going to change.<br />
|-<br />
| kde4_cmake_uninstall.cmake.in<br />
| ?<br />
|<br />
|-<br />
| kde4_exec_via_sh.cmake<br />
| ?<br />
|<br />
|-<br />
| kde4automoc.files.in<br />
| Remove once automoc is upstream.<br />
|<br />
|-<br />
| kde4exportsheader.h.in<br />
| Remove if this feature is upstreamed.<br />
|<br />
|-<br />
| kde4init_dummy.cpp.in and kde4init_win32lib_dummy.cpp.in<br />
| ?<br />
|<br />
|-<br />
| kde4uic.cmake<br />
| Remove if possible.<br />
|<br />
|}</div>OpenIDUser12https://community.kde.org/index.php?title=KDE_Core/Platform_11&diff=12995KDE Core/Platform 112011-06-06T19:18:31Z<p>OpenIDUser12: /* Work Groups */ Link to my giant tables</p>
<hr />
<div>{{warning|This page contains rough working notes from discussion sessions at Platform 11, the contents of which may not accurately reflect any decisions made. Please do not infer anything from these notes, official summaries of the conclusions reached will be made available for discussion as soon as possible.}}<br />
<br />
== Insert logo here ==<br />
making it now (Nuno)<br />
<br />
[[File:Coreproposal.png]] <br />
<br />
[[User:Saleel]]'s Proposal. SVG:[[Media:Coreproposal.svg]]<br />
<br />
== Purpose of the Sprint ==<br />
To examine the current state and near future of the KDE Platform (kdelibs and kdebase-runtime), particularly as it relates to the growing usage of it in new contexts such as mobile or on Windows and MacOS and its traditional usage as a set of conveniences and consistency creators for KDE application development.<br />
<br />
The sprint will aim to create an actionable, multi-year roadmap for kdelibs and kdebase-runtime and will examine issues of modularity, topicality and the inherent dichotomy between the KDE Platform as an application development framework (similar to Qt) and as a stand-alone platform to target (similar to, e.g. Windows, MacOS, etc.)<br />
<br />
<br />
<br />
== Topics ==<br />
<br />
<br />
Note: these are simply sample topics, not final direction on what will actually be discussed. Actual topics will be generated at a pre-sprint meeting online as well as through group authorship of this section.<br />
<br />
=== KDE at Qt 5 ===<br />
<br />
* How does KDE view the Qt5 transition?<br />
* Will there be further Qt 4 feature releases possible through OpenGov? <br />
<br />
=== KDE in OpenGov ===<br />
<br />
* How can KDE get more involved in OpenGov?<br />
* How can Qt be viewed by KDE people more as part of the stack which can get contributions from KDE people?<br />
<br />
=== Workflow / Management ===<br />
* Recommended Git workflow for kdelibs<br />
** Changing the way Scripty does its commits so that merging branches is easier<br />
* Git documentation<br />
* Release tagging<br />
<br />
=== Packaging ===<br />
* Split git modules -> split tarballs?<br />
** If so, split schedule?<br />
* Should we provide artificial monolithic tarballs?<br />
<br />
=== Modularization of KDE libraries ===<br />
<br />
Alex: should IMO include not only kdelibs, but also kdesupport, kdepimlibs and kdebase libs<br />
<br />
* KIO - Split platform and gui parts?<br />
* Initial attempts to create class-level dependency graphs: http://www.kdab.com/~volker/kde/<br />
* Generally reduce dependency on KGlobal. It causes a lot of interdependency<br />
** K_GLOBAL_STATIC<br />
** refcounted quit in QCoreApplication<br />
<br />
=== Framework vs Platform ===<br />
* Qt OpenGov<br />
* Policy towards QtMobility<br />
* Policy towards Gnomish dependencies:GCOnf, DConf, GSettings, etc.<br />
* Geolocation - If Qt5 moves QGeoCoordinate and QGeoAddress (any others?) from QtLocation to QtCore as data transfer classes most issues would be solved in KDE5 as QtLocation would then be an optional runtime only dependency.<br />
<br />
=== Redundancies ===<br />
* KLocale & co vs QLocale & co: How to act local everywhere while retaining configurability. Do we still need our own locale files?<br />
* QDateTime vs KDateTime and KCalendarSystem<br />
* KHTML vs QtWebKit<br />
* Reduce use of KDE APIs in data transfer classes where not needed: KIcon, KUrl (because neither transfer more data than their KDE equivalents, the KDE versions don't need to be in library APIs). Krazy needs to not warn about that.<br />
* Investigate what needs to change in Qt for us to be able to use QDateTime as a data transfer class instead of KDateTime. Ditto KAction. Ditto KLocale. Any others?<br />
* It should be easier for 'Qt applications and libraries' to use KDE stuff.<br />
<br />
=== Moving stuff into kdelibs ===<br />
<br />
* Move libkonq or parts thereof into kdelibs?<br />
<br />
=== Separation of KDE libraries and platform ===<br />
<br />
* Conceptual separation (and possibly stronger, like build/directory system) between functional libraries and platform integrations.<br />
* More interfaces are best.<br />
* Make it more easy for others to use libraries developed by the KDE community.<br />
* Make '''KDE libraries''' be something closer to Qt than to the KDE platform.<br />
** Only true dependencies, no interdependencies.<br />
** Possibly more easy to build them separately easier.<br />
<br />
=== A service framework ===<br />
<br />
* KDE is becoming more service/multi-process based. Akonadi, Nepomuk, libplasma2 (maybe?). <br />
* Some services depend on each other. <br />
* All have different mechanisms of being started themselves, and of how they find and start their satellites.<br />
* Satellites can be either other processes or plugins in all cases.<br />
* There may be opportunities to define some unity among these.<br />
<br />
=== Is KSyCoCa needed anymore? ===<br />
* Not used for mimetypes anymore.<br />
* Still used for plugins, but is there still today a need for finding plugins through a database?<br />
<br />
=== Library use of KStandardDirs ===<br />
<br />
* Consider defining an interface (maybe in Qt?) for accessing standard directories, which can be used by KDE '''libraries'''<br />
* In QDesktopServices ?<br />
* Abstracting things like that make it easier to use KDE libraries outside of the current existing KDE assumptions.<br />
<br />
=== Who will do the work? ===<br />
<br />
* Some desired changes may take a long time/effort.<br />
* Can any of it be funded?<br />
<br />
=== Build Profiles ===<br />
<br />
=== Build system ===<br />
<br />
* What level modularity do we want/need here ?<br />
* Chances of CMake becoming the buildsystem for Qt.<br />
<br />
* What can we get upstream to CMake?<br />
** Fix the qt_automoc cmake macro to make the automoc application obsolete.<br />
** The RPath stuff? <br />
** The enable final stuff?<br />
** This stuff should be just as easy for 'Qt only' projects.<br />
** FindFoo.cmake files<br />
* Why does KDE not use USE files?<br />
* Spread the word about my.cmake.org and have more people submit their logs<br />
* Dependency report (add a better description after re-reading http://lists.kde.org/?l=kde-buildsystem&m=130669804027048&w=2)<br />
<br />
=== Upstream and KDE ===<br />
* Should we take Strigi over?<br />
<br />
=== KDE from downstream ===<br />
<br />
* How are downstreams like distros affected by these kinds of changes in KDE.<br />
* Where can changes in KDE affect distros positively and users positively?<br />
<br />
=== QML and Javascript ===<br />
<br />
=== Class-level Analysis of KDE Libs ===<br />
<br />
Spreadsheet: https://spreadsheets.google.com/spreadsheet/ccc?key=0AhQ1BhQL6D9wdGpvOHN0N0xRZVBGU1c3ZmdiaXZORUE&hl=en_US&authkey=CKTcjdgP<br />
<br />
KDE Runtime: https://spreadsheets.google.com/spreadsheet/ccc?key=0Am2uzNh0KAtpdFVaRkMtMXZEcC00MEE0dzhrbWV2Nnc&hl=en_US&authkey=CI_3zNMC<br />
<br />
== Work Groups ==<br />
<br />
{{warning|These pages contain rough working notes from discussion sessions at Platform 11, the contents of which may not accurately reflect any decisions made. Please do not infer anything from these notes, official summaries of the conclusions reached will be made available for discussion as soon as possible.}}<br />
<br />
* [[/Eliminating Duplication With Qt|Eliminating Duplication With Qt]]<br />
* [[/KDEQtRelationship|KDE and Qt relationships]]<br />
* [[/PlatformVsFrameworks|Platform vs Frameworks]]<br />
* [[/kdelibsDependencies|Splitting KDELIBS]]<br />
* [[/Developer Story|Developer Story]]<br />
* [[/Settings|Settings: KConfig, DConf, QSettings]]<br />
* [[/Buildsystem|Buildsystem, Packaging]]<br />
** [[/Buildsystem/FindFilesSurvey|Find* files survey]]<br />
* [[/Geolocation|Geolocation Services]]<br />
* [[/Git Workflow|Git Workflow]]<br />
* [[/FrameworksQA|Frameworks QA]]<br />
* [[/DownstreamConsiderations|Downstream Considerations]]<br />
* [[/QCS_Planning|Qt Contributor Summit planning]]<br />
* [[/QtLibraryCollection|Collect of Qt libraries service]]<br />
<br />
== Logistics ==<br />
<br />
=== Dates ===<br />
<br />
June 1/2 - 6/7<br />
<br />
=== Location ===<br />
<br />
[http://community.kde.org/Sprints/Randa Randa], Switzerland<br />
<br />
=== Travel and Accommodations ===<br />
<br />
See at the general [http://community.kde.org/Sprints/Randa Randa] page.<br />
<br />
=== Food, Drink and Shopping ===<br />
<br />
See at the general [http://community.kde.org/Sprints/Randa Randa] page.</div>OpenIDUser12https://community.kde.org/index.php?title=KDE_Core/Platform_11/Buildsystem/FindFilesSurvey&diff=12993KDE Core/Platform 11/Buildsystem/FindFilesSurvey2011-06-06T19:16:59Z<p>OpenIDUser12: /* Rationale */ Add a note explaining why the tables look so old-fashioned</p>
<hr />
<div>= Rationale =<br />
One of the "coding" tasks consisted of actually going through our Find*.cmake files in kdelibs and its siblings and check what could be removed, upstreamed or merged in the future.<br />
<br />
The following tables look not only at the Find files, but also at some helper CMake files which may also cease to exist or move together with their Find counterparts.<br />
<br />
kdelibs, kdepimlibs, kde-baseapps, kde-runtime and kde-workspace were analysed.<br />
<br />
By the way, these tables were created using Emacs' org-mode, and there was no easy way to convert them to MediaWiki's syntax :)<br />
<br />
== Check*.cmake files ==<br />
<pre><br />
|------------------------------+-----------------+-----------------------------------------+------------------------------------------------------------------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|------------------------------+-----------------+-----------------------------------------+------------------------------------------------------------------|<br />
| CheckCXXSourceCompiles.cmake | Yes | Search mailing list for CMake | Began to diverge; CMake has FAIL_REGEX support, our version |<br />
| | | developers' rationale, maybe | handle imported targets (Alex said CMake developers did not |<br />
| | | upstream. | accept this feature upstream, need to search the mailing list |<br />
| | | | archives). |<br />
|------------------------------+-----------------+-----------------------------------------+------------------------------------------------------------------|<br />
| CheckCXXSourceRuns.cmake | Yes | Idem. | Idem. |<br />
|------------------------------+-----------------+-----------------------------------------+------------------------------------------------------------------|<br />
| CheckCXXSymbolExists.cmake | No | Either check if we still support | Almost equivalent to CMake's CheckSymbolExists.cmake, just |<br />
| | | glibc 2.9, perhaps try | creates .cxx files instead of .c ones. |<br />
| | | upstreaming. | |<br />
|------------------------------+-----------------+-----------------------------------------+------------------------------------------------------------------|<br />
| CheckPointerMember.cmake | No | Only used by krdc; remove from kdelibs? | Calls check_cxx_source_compiles on a struct with a given member. |<br />
|------------------------------+-----------------+-----------------------------------------+------------------------------------------------------------------|<br />
| CheckPrototypeExists.cmake | No | 1d0e1a0 says this was going to be | |<br />
| | | upstreamed. Try again? | |<br />
|------------------------------+-----------------+-----------------------------------------+------------------------------------------------------------------|<br />
| CheckStructMember.cmake | No | Remove; CMake has | |<br />
| | | CheckStructHasMember.cmake | |<br />
|------------------------------+-----------------+-----------------------------------------+------------------------------------------------------------------|<br />
</pre><br />
<br />
== Find*.cmake ==<br />
In this table, "upstreaming" a module can mean sending it to either CMake itself or the external modules collection.<br />
<br />
=== kdelibs ===<br />
<pre><br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindACL.cmake | No | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAGG.cmake | No | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAlsa.cmake | No | Upstream without config.h? | |<br />
| config-alsa.h.cmake | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAkode.cmake | No | Remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAutomoc4.cmake | No | Depends on the future of automoc. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAvahi.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBerkeleyDB.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBlitz.cmake | No | Remove, already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBlueZ.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBoost.cmake | Yes | Remove. Already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindCarbon.cmake | No | ? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDBusMenuQt.cmake | No | Remove in favour of DBMQ providing | |<br />
| | | a Config.cmake file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDNSSD.cmake | No | Merge with FindAvahi.cmake and | |<br />
| | | upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDocBookXML.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDocBookXSL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindENCHANT.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindEigen.cmake | No | Remove, already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindEigen2.cmake | No | Remove in favour of Eigen providing | |<br />
| | | a Config.cmake file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFAM.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFFmpeg.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFlac.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFlex.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFontconfig.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFreetype.cmake | Yes | Merge or remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGIF.cmake | Yes | Probably remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGLIB2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGMP.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGObject.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGSSAPI.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGStreamer.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGettext.cmake | Yes | Merge or provide our macros | We have some macros used in release tarballs. |<br />
| | | separately. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGphoto2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindHUNSPELL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindHUpnp.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindIOKit.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDEWorkspace.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDEWIN32.cmake | No | ? | |<br />
| FindKDEWIN_Packager.cmake | | | |<br />
| FindKDEWin.cmake | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDevPlatform.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKNepomuk.cmake | No | Already deprecated? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdcraw.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdeMultimedia.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdepim.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdepimLibs.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKexiv2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKipi.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKopete.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKorundum.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKonto.cmake | No | Already deprecated? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLCMS.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibArt.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibAttica.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibKonq.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibLZMA.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibXml2.cmake | Yes | Remove. | Upstream is pretty much identical. |<br />
| | | | LIBXSLT_XSLTPROC_EXECUTABLE is not used. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibXslt.cmake | Yes | Remove. | Upstream is pretty much identical; |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibintl.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibraryWithDebug.cmake | No | Upstream to CMake? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLinuxWirelesstools.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMsgfmt.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMusicBrainz.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMySQL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindNepomuk.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindNetworkManager.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOggVorbis.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOpenEXR.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOpenSSL.cmake | Yes | Remove. | Upstream is pretty much identical, should even |<br />
| | | | solve some reported build issues. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPCRE.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPackageHandleStandardArgs.cmake | Yes | Long story; let Alex decide. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPhonon.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPkgConfig.cmake | Yes | Remove. | Upstream is pretty much identical. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPlasma.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPolkitQt-1.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPolkitQt.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPopplerQt4.cmake | No | Ask tsdgeos to provide a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPostgreSQL.cmake | Yes | Probably remove. | Upstream looks more complete. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPulseAudio.cmak | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPyKDE4.cmake | No | ? | |<br />
| FindPyKDE4.py | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPyQt4.cmake | No | ? | |<br />
| FindPyQt.py | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPythonLibrary.cmake | Yes: | Try to merge with CMake. | |<br />
| | FindPythonInterp.cmake | | |<br />
| | FindPythonLibs.cmake | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQCA2.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQImageBlitz.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQt4.cmake | Yes | Probably remove; Alex knows best. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindRUBY.cmake | Yes (FindRuby.cmake) | Remove? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSamba.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSane.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSasl2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSharedDesktopOntologies.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSharedMimeInfo.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSoprano.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSqlite.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindStrigi.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file? Strigi is messy. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindTaglib.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindUDev.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindUSB.cmake | No | Rename and upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindWcecompat.cmake | No | ? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindX11.cmake | Yes | Remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXKB.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXine.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXMMS.cmake | No | Remove as XMMS is dead? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
</pre><br />
<br />
=== kde-baseapps ===<br />
<pre><br />
|-------------------+-----------------+-----------+----------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|-------------------+-----------------+-----------+----------|<br />
| FindLibTidy.cmake | No | Upstream? | |<br />
|-------------------+-----------------+-----------+----------|<br />
</pre><br />
<br />
=== kde-runtime ===<br />
<pre><br />
|-------------------+-----------------+-----------+----------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|-------------------+-----------------+-----------+----------|<br />
| FindCLucene.cmake | No | Upstream? | |<br />
|-------------------+-----------------+-----------+----------|<br />
| FindLibSSH.cmake | No | Upstream? | |<br />
|-------------------+-----------------+-----------+----------|<br />
| FindQNtrack.cmake | No | Upstream? | |<br />
|-------------------+-----------------+-----------+----------|<br />
| FindSLP.cmake | No | Upstream? | |<br />
|-------------------+-----------------+-----------+----------|<br />
</pre><br />
<br />
=== kde-workspace ===<br />
<pre><br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindCkConnector.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindDBus.cmake | No | Upstream one of the many different | |<br />
| | | copies in the KDE tree. | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindGooglegadgets.cmake | No | Does this still exist? If not, remove. | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindLibXKlavier.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindPAM.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindPCIUTILS.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindQalculate.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindRAW1394.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindSensors.cmake | No | Rename and upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindOpenGLES.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindKephal.cmake | No | Remove in favour of a Config.cmake file. | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| Findlibgps.cmake | No | Rename and upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
</pre><br />
<br />
=== kdepimlibs ===<br />
<pre><br />
|-------------------+-----------------+------------------------------------------+----------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|-------------------+-----------------+------------------------------------------+----------|<br />
| FindAkonadi.cmake | No | Should not be needed if Akonadi starts | |<br />
| | | using Config.cmake files. | |<br />
|-------------------+-----------------+------------------------------------------+----------|<br />
| FindGpgme.cmake | No | Upstream? | |<br />
|-------------------+-----------------+------------------------------------------+----------|<br />
| FindLdap.cmake | No | Upstream? | |<br />
|-------------------+-----------------+------------------------------------------+----------|<br />
| FindLibical.cmake | No | Upstream? | |<br />
|-------------------+-----------------+------------------------------------------+----------|<br />
| FindQgpgme.cmake | No | Remove in favour of a Config.cmake file. | |<br />
|-------------------+-----------------+------------------------------------------+----------|<br />
</pre><br />
<br />
== Framework-specific ==<br />
In general, they contain KDE-specific code which should not be upstreamed.<br />
<br />
<pre><br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| File Name | Plan | Comments |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| KDE4Defaults.cmake | - | |<br />
| FindKDE4Internal.cmake | | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| KDE4Macros.cmake | - | Need to check each macro and see what can be dropped. |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| Qt4ConfigDependentSettings.cmake | Remove our copy | |<br />
| Qt4Macros.cmake | | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| NepomukAddOntologyClasses.cmake | Merge into NepomukMacros.cmake? | Need to contact trueg about that. |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| NepomukMacros.cmake | - | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| PythonCompile.py | Upstream? | |<br />
| PythonMacros.cmake | | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| SIPMacros.cmake | Upstream? | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| Win32Macros.cmake | No idea. | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
</pre><br />
<br />
== Generic Macros ==<br />
<pre><br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAddCompileFlags.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAddLinkFlags.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAdditionalCleanFiles.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAppendIf.cmake | No | Not used anywhere; remove? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroBoolTo01.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroEnsureOutOfSourceBuild.cmake | No | Remove? People should know they should | |<br />
| | | not build in the source directory. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroEnsureVersion.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroKAuth.cmake | No | Remove. Already deprecated. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroLibrary.cmake | No | Move functionality to FindKDE4? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroLogFeature.cmake | No | Investigate CMake's FeatureSummary. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroOptionalAddSubdirectory.cmake | No | See outcome of Alex's upstreaming | |<br />
| | | efforts. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroOptionalDependPackage.cmake | No | Broken, expects a FindFoo.cmake possibly | |<br />
| | | provided by the application itself. | |<br />
| | | Remove? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroOptionalFindPackage.cmake | No | See outcome of Alex's upstreaming | |<br />
| | | efforts. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroPushRequiredVars.cmake | No | | Too specific to upstream? |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroWriteBasicCMakeVersionFile.cmake | No | ? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
</pre><br />
<br />
== Other files in kdelibs ==<br />
<pre><br />
|------------------------------------+---------------------------------------+--------------------------------------------------------------------|<br />
| File Name | Plan | Comments |<br />
|------------------------------------+---------------------------------------+--------------------------------------------------------------------|<br />
| check_installed_exports_file.cmake | Remove? | Alex writes in kdelibs/CMakeLists.txt that the target installation |<br />
| | | code was going to change. |<br />
|------------------------------------+---------------------------------------+--------------------------------------------------------------------|<br />
| kde4_cmake_uninstall.cmake.in | ? | |<br />
|------------------------------------+---------------------------------------+--------------------------------------------------------------------|<br />
| kde4_exec_via_sh.cmake | ? | |<br />
|------------------------------------+---------------------------------------+--------------------------------------------------------------------|<br />
| kde4automoc.files.in | Remove once automoc is upstream. | |<br />
|------------------------------------+---------------------------------------+--------------------------------------------------------------------|<br />
| kde4exportsheader.h.in | Remove if this feature if upstreamed. | |<br />
|------------------------------------+---------------------------------------+--------------------------------------------------------------------|<br />
| kde4init_dummy.cpp.in | ? | |<br />
| kde4init_win32lib_dummy.cpp.in | | |<br />
|------------------------------------+---------------------------------------+--------------------------------------------------------------------|<br />
| kde4uic.cmake | Remove if possible. | |<br />
|------------------------------------+---------------------------------------+--------------------------------------------------------------------|<br />
</pre></div>OpenIDUser12https://community.kde.org/index.php?title=KDE_Core/Platform_11/Buildsystem/FindFilesSurvey&diff=12992KDE Core/Platform 11/Buildsystem/FindFilesSurvey2011-06-06T19:15:44Z<p>OpenIDUser12: Big table ahead!</p>
<hr />
<div>= Rationale =<br />
One of the "coding" tasks consisted of actually going through our Find*.cmake files in kdelibs and its siblings and check what could be removed, upstreamed or merged in the future.<br />
<br />
The following tables look not only at the Find files, but also at some helper CMake files which may also cease to exist or move together with their Find counterparts.<br />
<br />
kdelibs, kdepimlibs, kde-baseapps, kde-runtime and kde-workspace were analysed.<br />
<br />
== Check*.cmake files ==<br />
<pre><br />
|------------------------------+-----------------+-----------------------------------------+------------------------------------------------------------------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|------------------------------+-----------------+-----------------------------------------+------------------------------------------------------------------|<br />
| CheckCXXSourceCompiles.cmake | Yes | Search mailing list for CMake | Began to diverge; CMake has FAIL_REGEX support, our version |<br />
| | | developers' rationale, maybe | handle imported targets (Alex said CMake developers did not |<br />
| | | upstream. | accept this feature upstream, need to search the mailing list |<br />
| | | | archives). |<br />
|------------------------------+-----------------+-----------------------------------------+------------------------------------------------------------------|<br />
| CheckCXXSourceRuns.cmake | Yes | Idem. | Idem. |<br />
|------------------------------+-----------------+-----------------------------------------+------------------------------------------------------------------|<br />
| CheckCXXSymbolExists.cmake | No | Either check if we still support | Almost equivalent to CMake's CheckSymbolExists.cmake, just |<br />
| | | glibc 2.9, perhaps try | creates .cxx files instead of .c ones. |<br />
| | | upstreaming. | |<br />
|------------------------------+-----------------+-----------------------------------------+------------------------------------------------------------------|<br />
| CheckPointerMember.cmake | No | Only used by krdc; remove from kdelibs? | Calls check_cxx_source_compiles on a struct with a given member. |<br />
|------------------------------+-----------------+-----------------------------------------+------------------------------------------------------------------|<br />
| CheckPrototypeExists.cmake | No | 1d0e1a0 says this was going to be | |<br />
| | | upstreamed. Try again? | |<br />
|------------------------------+-----------------+-----------------------------------------+------------------------------------------------------------------|<br />
| CheckStructMember.cmake | No | Remove; CMake has | |<br />
| | | CheckStructHasMember.cmake | |<br />
|------------------------------+-----------------+-----------------------------------------+------------------------------------------------------------------|<br />
</pre><br />
<br />
== Find*.cmake ==<br />
In this table, "upstreaming" a module can mean sending it to either CMake itself or the external modules collection.<br />
<br />
=== kdelibs ===<br />
<pre><br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindACL.cmake | No | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAGG.cmake | No | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAlsa.cmake | No | Upstream without config.h? | |<br />
| config-alsa.h.cmake | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAkode.cmake | No | Remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAutomoc4.cmake | No | Depends on the future of automoc. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindAvahi.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBerkeleyDB.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBlitz.cmake | No | Remove, already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBlueZ.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindBoost.cmake | Yes | Remove. Already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindCarbon.cmake | No | ? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDBusMenuQt.cmake | No | Remove in favour of DBMQ providing | |<br />
| | | a Config.cmake file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDNSSD.cmake | No | Merge with FindAvahi.cmake and | |<br />
| | | upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDocBookXML.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindDocBookXSL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindENCHANT.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindEigen.cmake | No | Remove, already deprecated. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindEigen2.cmake | No | Remove in favour of Eigen providing | |<br />
| | | a Config.cmake file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFAM.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFFmpeg.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFlac.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFlex.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFontconfig.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindFreetype.cmake | Yes | Merge or remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGIF.cmake | Yes | Probably remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGLIB2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGMP.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGObject.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGSSAPI.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGStreamer.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGettext.cmake | Yes | Merge or provide our macros | We have some macros used in release tarballs. |<br />
| | | separately. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindGphoto2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindHUNSPELL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindHUpnp.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindIOKit.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDEWorkspace.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDEWIN32.cmake | No | ? | |<br />
| FindKDEWIN_Packager.cmake | | | |<br />
| FindKDEWin.cmake | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKDevPlatform.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKNepomuk.cmake | No | Already deprecated? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdcraw.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdeMultimedia.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdepim.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKdepimLibs.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKexiv2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKipi.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKopete.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKorundum.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindKonto.cmake | No | Already deprecated? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLCMS.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibArt.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibAttica.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibKonq.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibLZMA.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibXml2.cmake | Yes | Remove. | Upstream is pretty much identical. |<br />
| | | | LIBXSLT_XSLTPROC_EXECUTABLE is not used. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibXslt.cmake | Yes | Remove. | Upstream is pretty much identical; |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibintl.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLibraryWithDebug.cmake | No | Upstream to CMake? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindLinuxWirelesstools.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMsgfmt.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMusicBrainz.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindMySQL.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindNepomuk.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindNetworkManager.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOggVorbis.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOpenEXR.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindOpenSSL.cmake | Yes | Remove. | Upstream is pretty much identical, should even |<br />
| | | | solve some reported build issues. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPCRE.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPackageHandleStandardArgs.cmake | Yes | Long story; let Alex decide. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPhonon.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPkgConfig.cmake | Yes | Remove. | Upstream is pretty much identical. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPlasma.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPolkitQt-1.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPolkitQt.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPopplerQt4.cmake | No | Ask tsdgeos to provide a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPostgreSQL.cmake | Yes | Probably remove. | Upstream looks more complete. |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPulseAudio.cmak | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPyKDE4.cmake | No | ? | |<br />
| FindPyKDE4.py | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPyQt4.cmake | No | ? | |<br />
| FindPyQt.py | | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindPythonLibrary.cmake | Yes: | Try to merge with CMake. | |<br />
| | FindPythonInterp.cmake | | |<br />
| | FindPythonLibs.cmake | | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQCA2.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQImageBlitz.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindQt4.cmake | Yes | Probably remove; Alex knows best. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindRUBY.cmake | Yes (FindRuby.cmake) | Remove? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSamba.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSane.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSasl2.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSharedDesktopOntologies.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSharedMimeInfo.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSoprano.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindSqlite.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindStrigi.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file? Strigi is messy. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindTaglib.cmake | No | Remove in favour of a Config.cmake | |<br />
| | | file. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindUDev.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindUSB.cmake | No | Rename and upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindWcecompat.cmake | No | ? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindX11.cmake | Yes | Remove. | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXKB.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXine.cmake | No | Upstream? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
| FindXMMS.cmake | No | Remove as XMMS is dead? | |<br />
|-------------------------------------+------------------------+---------------------------------------+------------------------------------------------|<br />
</pre><br />
<br />
=== kde-baseapps ===<br />
<pre><br />
|-------------------+-----------------+-----------+----------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|-------------------+-----------------+-----------+----------|<br />
| FindLibTidy.cmake | No | Upstream? | |<br />
|-------------------+-----------------+-----------+----------|<br />
</pre><br />
<br />
=== kde-runtime ===<br />
<pre><br />
|-------------------+-----------------+-----------+----------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|-------------------+-----------------+-----------+----------|<br />
| FindCLucene.cmake | No | Upstream? | |<br />
|-------------------+-----------------+-----------+----------|<br />
| FindLibSSH.cmake | No | Upstream? | |<br />
|-------------------+-----------------+-----------+----------|<br />
| FindQNtrack.cmake | No | Upstream? | |<br />
|-------------------+-----------------+-----------+----------|<br />
| FindSLP.cmake | No | Upstream? | |<br />
|-------------------+-----------------+-----------+----------|<br />
</pre><br />
<br />
=== kde-workspace ===<br />
<pre><br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindCkConnector.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindDBus.cmake | No | Upstream one of the many different | |<br />
| | | copies in the KDE tree. | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindGooglegadgets.cmake | No | Does this still exist? If not, remove. | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindLibXKlavier.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindPAM.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindPCIUTILS.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindQalculate.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindRAW1394.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindSensors.cmake | No | Rename and upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindOpenGLES.cmake | No | Upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| FindKephal.cmake | No | Remove in favour of a Config.cmake file. | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
| Findlibgps.cmake | No | Rename and upstream? | |<br />
|-------------------------+-----------------+------------------------------------------+----------|<br />
</pre><br />
<br />
=== kdepimlibs ===<br />
<pre><br />
|-------------------+-----------------+------------------------------------------+----------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|-------------------+-----------------+------------------------------------------+----------|<br />
| FindAkonadi.cmake | No | Should not be needed if Akonadi starts | |<br />
| | | using Config.cmake files. | |<br />
|-------------------+-----------------+------------------------------------------+----------|<br />
| FindGpgme.cmake | No | Upstream? | |<br />
|-------------------+-----------------+------------------------------------------+----------|<br />
| FindLdap.cmake | No | Upstream? | |<br />
|-------------------+-----------------+------------------------------------------+----------|<br />
| FindLibical.cmake | No | Upstream? | |<br />
|-------------------+-----------------+------------------------------------------+----------|<br />
| FindQgpgme.cmake | No | Remove in favour of a Config.cmake file. | |<br />
|-------------------+-----------------+------------------------------------------+----------|<br />
</pre><br />
<br />
== Framework-specific ==<br />
In general, they contain KDE-specific code which should not be upstreamed.<br />
<br />
<pre><br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| File Name | Plan | Comments |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| KDE4Defaults.cmake | - | |<br />
| FindKDE4Internal.cmake | | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| KDE4Macros.cmake | - | Need to check each macro and see what can be dropped. |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| Qt4ConfigDependentSettings.cmake | Remove our copy | |<br />
| Qt4Macros.cmake | | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| NepomukAddOntologyClasses.cmake | Merge into NepomukMacros.cmake? | Need to contact trueg about that. |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| NepomukMacros.cmake | - | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| PythonCompile.py | Upstream? | |<br />
| PythonMacros.cmake | | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| SIPMacros.cmake | Upstream? | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
| Win32Macros.cmake | No idea. | |<br />
|----------------------------------+---------------------------------+-------------------------------------------------------|<br />
</pre><br />
<br />
== Generic Macros ==<br />
<pre><br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| File Name | Exists in CMake | Plan | Comments |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAddCompileFlags.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAddLinkFlags.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAdditionalCleanFiles.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroAppendIf.cmake | No | Not used anywhere; remove? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroBoolTo01.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroEnsureOutOfSourceBuild.cmake | No | Remove? People should know they should | |<br />
| | | not build in the source directory. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroEnsureVersion.cmake | No | Upstream? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroKAuth.cmake | No | Remove. Already deprecated. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroLibrary.cmake | No | Move functionality to FindKDE4? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroLogFeature.cmake | No | Investigate CMake's FeatureSummary. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroOptionalAddSubdirectory.cmake | No | See outcome of Alex's upstreaming | |<br />
| | | efforts. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroOptionalDependPackage.cmake | No | Broken, expects a FindFoo.cmake possibly | |<br />
| | | provided by the application itself. | |<br />
| | | Remove? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroOptionalFindPackage.cmake | No | See outcome of Alex's upstreaming | |<br />
| | | efforts. | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroPushRequiredVars.cmake | No | | Too specific to upstream? |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
| MacroWriteBasicCMakeVersionFile.cmake | No | ? | |<br />
|---------------------------------------+-----------------+------------------------------------------+---------------------------|<br />
</pre><br />
<br />
== Other files in kdelibs ==<br />
<pre><br />
|------------------------------------+---------------------------------------+--------------------------------------------------------------------|<br />
| File Name | Plan | Comments |<br />
|------------------------------------+---------------------------------------+--------------------------------------------------------------------|<br />
| check_installed_exports_file.cmake | Remove? | Alex writes in kdelibs/CMakeLists.txt that the target installation |<br />
| | | code was going to change. |<br />
|------------------------------------+---------------------------------------+--------------------------------------------------------------------|<br />
| kde4_cmake_uninstall.cmake.in | ? | |<br />
|------------------------------------+---------------------------------------+--------------------------------------------------------------------|<br />
| kde4_exec_via_sh.cmake | ? | |<br />
|------------------------------------+---------------------------------------+--------------------------------------------------------------------|<br />
| kde4automoc.files.in | Remove once automoc is upstream. | |<br />
|------------------------------------+---------------------------------------+--------------------------------------------------------------------|<br />
| kde4exportsheader.h.in | Remove if this feature if upstreamed. | |<br />
|------------------------------------+---------------------------------------+--------------------------------------------------------------------|<br />
| kde4init_dummy.cpp.in | ? | |<br />
| kde4init_win32lib_dummy.cpp.in | | |<br />
|------------------------------------+---------------------------------------+--------------------------------------------------------------------|<br />
| kde4uic.cmake | Remove if possible. | |<br />
|------------------------------------+---------------------------------------+--------------------------------------------------------------------|<br />
</pre></div>OpenIDUser12https://community.kde.org/index.php?title=KDE_Core/Platform_11&diff=12488KDE Core/Platform 112011-06-01T19:26:41Z<p>OpenIDUser12: /* Workflow / Management */</p>
<hr />
<div>== Insert logo here ==<br />
making it now (Nuno)<br />
<br />
[[File:Coreproposal.png]] <br />
<br />
[[User:Saleel]]'s Proposal. SVG:[[Media:Coreproposal.svg]]<br />
<br />
== Purpose of the Sprint ==<br />
To examine the current state and near future of the KDE Platform (kdelibs and kdebase-runtime), particularly as it relates to the growing usage of it in new contexts such as mobile or on Windows and MacOS and its traditional usage as a set of conveniences and consistency creators for KDE application development.<br />
<br />
The sprint will aim to create an actionable, multi-year roadmap for kdelibs and kdebase-runtime and will examine issues of modularity, topicality and the inherent dichotomy between the KDE Platform as an application development framework (similar to Qt) and as a stand-alone platform to target (similar to, e.g. Windows, MacOS, etc.)<br />
<br />
<br />
<br />
== Topics ==<br />
<br />
<br />
Note: these are simply sample topics, not final direction on what will actually be discussed. Actual topics will be generated at a pre-sprint meeting online as well as through group authorship of this section.<br />
<br />
=== KDE at Qt 5 ===<br />
<br />
* How does KDE view the Qt5 transition?<br />
* Will there be further Qt 4 feature releases possible through OpenGov? <br />
<br />
=== KDE in OpenGov ===<br />
<br />
* How can KDE get more involved in OpenGov?<br />
* How can Qt be viewed by KDE people more as part of the stack which can get contributions from KDE people?<br />
<br />
=== Workflow / Management ===<br />
* Recommended Git workflow for kdelibs<br />
** Changing the way Scripty does its commits so that merging branches is easier<br />
* Git documentation<br />
* Release tagging<br />
<br />
=== Packaging ===<br />
* Split git modules -> split tarballs?<br />
** If so, split schedule?<br />
* Should we provide artificial monolithic tarballs?<br />
<br />
=== Modularization of KDE libraries ===<br />
<br />
Alex: should IMO include not only kdelibs, but also kdesupport, kdepimlibs and kdebase libs<br />
<br />
* KIO - Split platform and gui parts?<br />
* Initial attempts to create class-level dependency graphs: http://www.kdab.com/~volker/kde/<br />
* Generally reduce dependency on KGlobal. It causes a lot of interdependency<br />
** K_GLOBAL_STATIC<br />
** refcounted quit in QCoreApplication<br />
<br />
=== Framework vs Platform ===<br />
* Qt OpenGov<br />
* Policy towards QtMobility<br />
* Geolocation<br />
<br />
=== Redundancies ===<br />
* KLocale & co vs QLocale & co: How to act local everywhere while retaining configurability.<br />
* QDateTime vs KDateTime and KCalendarSystem<br />
* KHTML vs QtWebKit<br />
* Reduce use of KDE APIs in data transfer classes where not needed: KIcon, KUrl (because neither transfer more data than their KDE equivalents, the KDE versions don't need to be in library APIs). Krazy needs to not warn about that.<br />
* Investigate what needs to change in Qt for us to be able to use QDateTime as a data transfer class instead of KDateTime. Ditto KAction<br />
* It should be easier for 'Qt applications and libraries' to use KDE stuff. <br />
<br />
=== Moving stuff into kdelibs ===<br />
<br />
* Move libkonq or parts thereof into kdelibs?<br />
<br />
=== Separation of KDE libraries and platform ===<br />
<br />
* Conceptual separation (and possibly stronger, like build/directory system) between functional libraries and platform integrations.<br />
* More interfaces are best.<br />
* Make it more easy for others to use libraries developed by the KDE community.<br />
* Make '''KDE libraries''' be something closer to Qt than to the KDE platform.<br />
** Only true dependencies, no interdependencies.<br />
** Possibly more easy to build them separately easier.<br />
<br />
=== A service framework ===<br />
<br />
* KDE is becoming more service/multi-process based. Akonadi, Nepomuk, libplasma2 (maybe?). <br />
* Some services depend on each other. <br />
* All have different mechanisms of being started themselves, and of how they find and start their satellites.<br />
* Satellites can be either other processes or plugins in all cases.<br />
* There may be opportunities to define some unity among these.<br />
<br />
=== Is KSyCoCa needed anymore? ===<br />
* Not used for mimetypes anymore.<br />
* Still used for plugins, but is there still today a need for finding plugins through a database?<br />
<br />
=== Library use of KStandardDirs ===<br />
<br />
* Consider defining an interface (maybe in Qt?) for accessing standard directories, which can be used by KDE '''libraries'''<br />
* In QDesktopServices ?<br />
* Abstracting things like that make it easier to use KDE libraries outside of the current existing KDE assumptions.<br />
<br />
=== Who will do the work? ===<br />
<br />
* Some desired changes may take a long time/effort.<br />
* Can any of it be funded?<br />
<br />
=== Build Profiles ===<br />
<br />
=== Build system ===<br />
<br />
* What level modularity do we want/need here ?<br />
* Chances of CMake becoming the buildsystem for Qt.<br />
<br />
* What can we get upstream to CMake?<br />
** Fix the qt_automoc cmake macro to make the automoc application obsolete.<br />
** The RPath stuff? <br />
** The enable final stuff?<br />
** This stuff should be just as easy for 'Qt only' projects.<br />
** FindFoo.cmake files<br />
* Why does KDE not use USE files?<br />
* Spread the word about my.cmake.org and have more people submit their logs<br />
* Dependency report (add a better description after re-reading http://lists.kde.org/?l=kde-buildsystem&m=130669804027048&w=2)<br />
<br />
=== Upstream and KDE ===<br />
* Should we take Strigi over?<br />
<br />
=== KDE from downstream ===<br />
<br />
* How are downstreams like distros affected by these kinds of changes in KDE.<br />
* Where can changes in KDE affect distros positively and users positively?<br />
<br />
=== QML and Javascript ===<br />
<br />
== Logistics ==<br />
<br />
=== Dates ===<br />
<br />
June 1/2 - 6/7<br />
<br />
=== Location ===<br />
<br />
[http://community.kde.org/Sprints/Randa Randa], Switzerland<br />
<br />
=== Travel and Accommodations ===<br />
<br />
See at the general [http://community.kde.org/Sprints/Randa Randa] page.<br />
<br />
=== Food, Drink and Shopping ===<br />
<br />
See at the general [http://community.kde.org/Sprints/Randa Randa] page.</div>OpenIDUser12https://community.kde.org/index.php?title=KDE_Core/Platform_11&diff=12487KDE Core/Platform 112011-06-01T19:25:45Z<p>OpenIDUser12: /* Topics */</p>
<hr />
<div>== Insert logo here ==<br />
making it now (Nuno)<br />
<br />
[[File:Coreproposal.png]] <br />
<br />
[[User:Saleel]]'s Proposal. SVG:[[Media:Coreproposal.svg]]<br />
<br />
== Purpose of the Sprint ==<br />
To examine the current state and near future of the KDE Platform (kdelibs and kdebase-runtime), particularly as it relates to the growing usage of it in new contexts such as mobile or on Windows and MacOS and its traditional usage as a set of conveniences and consistency creators for KDE application development.<br />
<br />
The sprint will aim to create an actionable, multi-year roadmap for kdelibs and kdebase-runtime and will examine issues of modularity, topicality and the inherent dichotomy between the KDE Platform as an application development framework (similar to Qt) and as a stand-alone platform to target (similar to, e.g. Windows, MacOS, etc.)<br />
<br />
<br />
<br />
== Topics ==<br />
<br />
<br />
Note: these are simply sample topics, not final direction on what will actually be discussed. Actual topics will be generated at a pre-sprint meeting online as well as through group authorship of this section.<br />
<br />
=== KDE at Qt 5 ===<br />
<br />
* How does KDE view the Qt5 transition?<br />
* Will there be further Qt 4 feature releases possible through OpenGov? <br />
<br />
=== KDE in OpenGov ===<br />
<br />
* How can KDE get more involved in OpenGov?<br />
* How can Qt be viewed by KDE people more as part of the stack which can get contributions from KDE people?<br />
<br />
=== Workflow / Management ===<br />
* Recommended Git workflow for kdelibs<br />
* Git documentation<br />
* Release tagging<br />
<br />
=== Packaging ===<br />
* Split git modules -> split tarballs?<br />
** If so, split schedule?<br />
* Should we provide artificial monolithic tarballs?<br />
<br />
=== Modularization of KDE libraries ===<br />
<br />
Alex: should IMO include not only kdelibs, but also kdesupport, kdepimlibs and kdebase libs<br />
<br />
* KIO - Split platform and gui parts?<br />
* Initial attempts to create class-level dependency graphs: http://www.kdab.com/~volker/kde/<br />
* Generally reduce dependency on KGlobal. It causes a lot of interdependency<br />
** K_GLOBAL_STATIC<br />
** refcounted quit in QCoreApplication<br />
<br />
=== Framework vs Platform ===<br />
* Qt OpenGov<br />
* Policy towards QtMobility<br />
* Geolocation<br />
<br />
=== Redundancies ===<br />
* KLocale & co vs QLocale & co: How to act local everywhere while retaining configurability.<br />
* QDateTime vs KDateTime and KCalendarSystem<br />
* KHTML vs QtWebKit<br />
* Reduce use of KDE APIs in data transfer classes where not needed: KIcon, KUrl (because neither transfer more data than their KDE equivalents, the KDE versions don't need to be in library APIs). Krazy needs to not warn about that.<br />
* Investigate what needs to change in Qt for us to be able to use QDateTime as a data transfer class instead of KDateTime. Ditto KAction<br />
* It should be easier for 'Qt applications and libraries' to use KDE stuff. <br />
<br />
=== Moving stuff into kdelibs ===<br />
<br />
* Move libkonq or parts thereof into kdelibs?<br />
<br />
=== Separation of KDE libraries and platform ===<br />
<br />
* Conceptual separation (and possibly stronger, like build/directory system) between functional libraries and platform integrations.<br />
* More interfaces are best.<br />
* Make it more easy for others to use libraries developed by the KDE community.<br />
* Make '''KDE libraries''' be something closer to Qt than to the KDE platform.<br />
** Only true dependencies, no interdependencies.<br />
** Possibly more easy to build them separately easier.<br />
<br />
=== A service framework ===<br />
<br />
* KDE is becoming more service/multi-process based. Akonadi, Nepomuk, libplasma2 (maybe?). <br />
* Some services depend on each other. <br />
* All have different mechanisms of being started themselves, and of how they find and start their satellites.<br />
* Satellites can be either other processes or plugins in all cases.<br />
* There may be opportunities to define some unity among these.<br />
<br />
=== Is KSyCoCa needed anymore? ===<br />
* Not used for mimetypes anymore.<br />
* Still used for plugins, but is there still today a need for finding plugins through a database?<br />
<br />
=== Library use of KStandardDirs ===<br />
<br />
* Consider defining an interface (maybe in Qt?) for accessing standard directories, which can be used by KDE '''libraries'''<br />
* In QDesktopServices ?<br />
* Abstracting things like that make it easier to use KDE libraries outside of the current existing KDE assumptions.<br />
<br />
=== Who will do the work? ===<br />
<br />
* Some desired changes may take a long time/effort.<br />
* Can any of it be funded?<br />
<br />
=== Build Profiles ===<br />
<br />
=== Build system ===<br />
<br />
* What level modularity do we want/need here ?<br />
* Chances of CMake becoming the buildsystem for Qt.<br />
<br />
* What can we get upstream to CMake?<br />
** Fix the qt_automoc cmake macro to make the automoc application obsolete.<br />
** The RPath stuff? <br />
** The enable final stuff?<br />
** This stuff should be just as easy for 'Qt only' projects.<br />
** FindFoo.cmake files<br />
* Why does KDE not use USE files?<br />
* Spread the word about my.cmake.org and have more people submit their logs<br />
* Dependency report (add a better description after re-reading http://lists.kde.org/?l=kde-buildsystem&m=130669804027048&w=2)<br />
<br />
=== Upstream and KDE ===<br />
* Should we take Strigi over?<br />
<br />
=== KDE from downstream ===<br />
<br />
* How are downstreams like distros affected by these kinds of changes in KDE.<br />
* Where can changes in KDE affect distros positively and users positively?<br />
<br />
=== QML and Javascript ===<br />
<br />
== Logistics ==<br />
<br />
=== Dates ===<br />
<br />
June 1/2 - 6/7<br />
<br />
=== Location ===<br />
<br />
[http://community.kde.org/Sprints/Randa Randa], Switzerland<br />
<br />
=== Travel and Accommodations ===<br />
<br />
See at the general [http://community.kde.org/Sprints/Randa Randa] page.<br />
<br />
=== Food, Drink and Shopping ===<br />
<br />
See at the general [http://community.kde.org/Sprints/Randa Randa] page.</div>OpenIDUser12https://community.kde.org/index.php?title=KDE_Core/Platform_11&diff=12486KDE Core/Platform 112011-06-01T19:24:52Z<p>OpenIDUser12: /* Topics */</p>
<hr />
<div>== Insert logo here ==<br />
making it now (Nuno)<br />
<br />
[[File:Coreproposal.png]] <br />
<br />
[[User:Saleel]]'s Proposal. SVG:[[Media:Coreproposal.svg]]<br />
<br />
== Purpose of the Sprint ==<br />
To examine the current state and near future of the KDE Platform (kdelibs and kdebase-runtime), particularly as it relates to the growing usage of it in new contexts such as mobile or on Windows and MacOS and its traditional usage as a set of conveniences and consistency creators for KDE application development.<br />
<br />
The sprint will aim to create an actionable, multi-year roadmap for kdelibs and kdebase-runtime and will examine issues of modularity, topicality and the inherent dichotomy between the KDE Platform as an application development framework (similar to Qt) and as a stand-alone platform to target (similar to, e.g. Windows, MacOS, etc.)<br />
<br />
<br />
<br />
== Topics ==<br />
<br />
<br />
Note: these are simply sample topics, not final direction on what will actually be discussed. Actual topics will be generated at a pre-sprint meeting online as well as through group authorship of this section.<br />
<br />
=== KDE at Qt 5 ===<br />
<br />
* How does KDE view the Qt5 transition?<br />
* Will there be further Qt 4 feature releases possible through OpenGov? <br />
<br />
=== KDE in OpenGov ===<br />
<br />
* How can KDE get more involved in OpenGov?<br />
* How can Qt be viewed by KDE people more as part of the stack which can get contributions from KDE people?<br />
<br />
=== Workflow / Management ===<br />
* Recommended Git workflow for kdelibs<br />
* Git documentation<br />
* Release tagging<br />
<br />
=== Packaging ===<br />
* Split git modules -> split tarballs?<br />
** If so, split schedule?<br />
* Should we provide artificial monolithic tarballs?<br />
<br />
=== Modularization of KDE libraries ===<br />
<br />
Alex: should IMO include not only kdelibs, but also kdesupport, kdepimlibs and kdebase libs<br />
<br />
* KIO - Split platform and gui parts?<br />
* Initial attempts to create class-level dependency graphs: http://www.kdab.com/~volker/kde/<br />
* Generally reduce dependency on KGlobal. It causes a lot of interdependency<br />
** K_GLOBAL_STATIC<br />
** refcounted quit in QCoreApplication<br />
<br />
=== Framework vs Platform ===<br />
* Qt OpenGov<br />
* Policy towards QtMobility<br />
* Geolocation<br />
<br />
=== Redundancies ===<br />
* KLocale & co vs QLocale & co: How to act local everywhere while retaining configurability.<br />
* QDateTime vs KDateTime and KCalendarSystem<br />
* KHTML vs QtWebKit<br />
* Reduce use of KDE APIs in data transfer classes where not needed: KIcon, KUrl (because neither transfer more data than their KDE equivalents, the KDE versions don't need to be in library APIs). Krazy needs to not warn about that.<br />
* Investigate what needs to change in Qt for us to be able to use QDateTime as a data transfer class instead of KDateTime. Ditto KAction<br />
* It should be easier for 'Qt applications and libraries' to use KDE stuff. <br />
<br />
=== Moving stuff into kdelibs ===<br />
<br />
* Move libkonq or parts thereof into kdelibs?<br />
<br />
=== Separation of KDE libraries and platform ===<br />
<br />
* Conceptual separation (and possibly stronger, like build/directory system) between functional libraries and platform integrations.<br />
* More interfaces are best.<br />
* Make it more easy for others to use libraries developed by the KDE community.<br />
* Make '''KDE libraries''' be something closer to Qt than to the KDE platform.<br />
** Only true dependencies, no interdependencies.<br />
** Possibly more easy to build them separately easier.<br />
<br />
=== A service framework ===<br />
<br />
* KDE is becoming more service/multi-process based. Akonadi, Nepomuk, libplasma2 (maybe?). <br />
* Some services depend on each other. <br />
* All have different mechanisms of being started themselves, and of how they find and start their satellites.<br />
* Satellites can be either other processes or plugins in all cases.<br />
* There may be opportunities to define some unity among these.<br />
<br />
=== Is KSyCoCa needed anymore? ===<br />
* Not used for mimetypes anymore.<br />
* Still used for plugins, but is there still today a need for finding plugins through a database?<br />
<br />
=== Library use of KStandardDirs ===<br />
<br />
* Consider defining an interface (maybe in Qt?) for accessing standard directories, which can be used by KDE '''libraries'''<br />
* In QDesktopServices ?<br />
* Abstracting things like that make it easier to use KDE libraries outside of the current existing KDE assumptions.<br />
<br />
=== Who will do the work? ===<br />
<br />
* Some desired changes may take a long time/effort.<br />
* Can any of it be funded?<br />
<br />
=== Build Profiles ===<br />
<br />
=== Build system ===<br />
<br />
* What level modularity do we want/need here ?<br />
* Chances of CMake becoming the buildsystem for Qt.<br />
<br />
* What can we get upstream to CMake?<br />
** Fix the qt_automoc cmake macro to make the automoc application obsolete.<br />
** The RPath stuff? <br />
** The enable final stuff?<br />
** This stuff should be just as easy for 'Qt only' projects.<br />
** FindFoo.cmake files<br />
* Why does KDE not use USE files?<br />
* Spread the word about my.cmake.org and have more people submit their logs<br />
* Dependency report (add a better description after re-reading http://lists.kde.org/?l=kde-buildsystem&m=130669804027048&w=2)<br />
<br />
=== KDE from downstream ===<br />
<br />
* How are downstreams like distros affected by these kinds of changes in KDE.<br />
* Where can changes in KDE affect distros positively and users positively?<br />
<br />
=== QML and Javascript ===<br />
<br />
== Logistics ==<br />
<br />
=== Dates ===<br />
<br />
June 1/2 - 6/7<br />
<br />
=== Location ===<br />
<br />
[http://community.kde.org/Sprints/Randa Randa], Switzerland<br />
<br />
=== Travel and Accommodations ===<br />
<br />
See at the general [http://community.kde.org/Sprints/Randa Randa] page.<br />
<br />
=== Food, Drink and Shopping ===<br />
<br />
See at the general [http://community.kde.org/Sprints/Randa Randa] page.</div>OpenIDUser12https://community.kde.org/index.php?title=KDE_Core/Platform_11&diff=12485KDE Core/Platform 112011-06-01T19:23:16Z<p>OpenIDUser12: /* Workflow / Management */</p>
<hr />
<div>== Insert logo here ==<br />
making it now (Nuno)<br />
<br />
[[File:Coreproposal.png]] <br />
<br />
[[User:Saleel]]'s Proposal. SVG:[[Media:Coreproposal.svg]]<br />
<br />
== Purpose of the Sprint ==<br />
To examine the current state and near future of the KDE Platform (kdelibs and kdebase-runtime), particularly as it relates to the growing usage of it in new contexts such as mobile or on Windows and MacOS and its traditional usage as a set of conveniences and consistency creators for KDE application development.<br />
<br />
The sprint will aim to create an actionable, multi-year roadmap for kdelibs and kdebase-runtime and will examine issues of modularity, topicality and the inherent dichotomy between the KDE Platform as an application development framework (similar to Qt) and as a stand-alone platform to target (similar to, e.g. Windows, MacOS, etc.)<br />
<br />
<br />
<br />
== Topics ==<br />
<br />
<br />
Note: these are simply sample topics, not final direction on what will actually be discussed. Actual topics will be generated at a pre-sprint meeting online as well as through group authorship of this section.<br />
<br />
=== KDE at Qt 5 ===<br />
<br />
* How does KDE view the Qt5 transition?<br />
* Will there be further Qt 4 feature releases possible through OpenGov? <br />
<br />
=== KDE in OpenGov ===<br />
<br />
* How can KDE get more involved in OpenGov?<br />
* How can Qt be viewed by KDE people more as part of the stack which can get contributions from KDE people?<br />
<br />
=== Workflow / Management ===<br />
* Recommended Git workflow for kdelibs<br />
* Git documentation<br />
* Release tagging<br />
<br />
=== Modularization of KDE libraries ===<br />
<br />
Alex: should IMO include not only kdelibs, but also kdesupport, kdepimlibs and kdebase libs<br />
<br />
* KIO - Split platform and gui parts?<br />
* Initial attempts to create class-level dependency graphs: http://www.kdab.com/~volker/kde/<br />
* Generally reduce dependency on KGlobal. It causes a lot of interdependency<br />
** K_GLOBAL_STATIC<br />
** refcounted quit in QCoreApplication<br />
<br />
=== Framework vs Platform ===<br />
* Qt OpenGov<br />
* Policy towards QtMobility<br />
* Geolocation<br />
<br />
=== Redundancies ===<br />
* KLocale & co vs QLocale & co: How to act local everywhere while retaining configurability.<br />
* QDateTime vs KDateTime and KCalendarSystem<br />
* KHTML vs QtWebKit<br />
* Reduce use of KDE APIs in data transfer classes where not needed: KIcon, KUrl (because neither transfer more data than their KDE equivalents, the KDE versions don't need to be in library APIs). Krazy needs to not warn about that.<br />
* Investigate what needs to change in Qt for us to be able to use QDateTime as a data transfer class instead of KDateTime. Ditto KAction<br />
* It should be easier for 'Qt applications and libraries' to use KDE stuff. <br />
<br />
=== Moving stuff into kdelibs ===<br />
<br />
* Move libkonq or parts thereof into kdelibs?<br />
<br />
=== Separation of KDE libraries and platform ===<br />
<br />
* Conceptual separation (and possibly stronger, like build/directory system) between functional libraries and platform integrations.<br />
* More interfaces are best.<br />
* Make it more easy for others to use libraries developed by the KDE community.<br />
* Make '''KDE libraries''' be something closer to Qt than to the KDE platform.<br />
** Only true dependencies, no interdependencies.<br />
** Possibly more easy to build them separately easier.<br />
<br />
=== A service framework ===<br />
<br />
* KDE is becoming more service/multi-process based. Akonadi, Nepomuk, libplasma2 (maybe?). <br />
* Some services depend on each other. <br />
* All have different mechanisms of being started themselves, and of how they find and start their satellites.<br />
* Satellites can be either other processes or plugins in all cases.<br />
* There may be opportunities to define some unity among these.<br />
<br />
=== Is KSyCoCa needed anymore? ===<br />
* Not used for mimetypes anymore.<br />
* Still used for plugins, but is there still today a need for finding plugins through a database?<br />
<br />
=== Library use of KStandardDirs ===<br />
<br />
* Consider defining an interface (maybe in Qt?) for accessing standard directories, which can be used by KDE '''libraries'''<br />
* In QDesktopServices ?<br />
* Abstracting things like that make it easier to use KDE libraries outside of the current existing KDE assumptions.<br />
<br />
=== Who will do the work? ===<br />
<br />
* Some desired changes may take a long time/effort.<br />
* Can any of it be funded?<br />
<br />
=== Build Profiles ===<br />
<br />
=== Build system ===<br />
<br />
* What level modularity do we want/need here ?<br />
* Chances of CMake becoming the buildsystem for Qt.<br />
<br />
* What can we get upstream to CMake?<br />
** Fix the qt_automoc cmake macro to make the automoc application obsolete.<br />
** The RPath stuff? <br />
** The enable final stuff?<br />
** This stuff should be just as easy for 'Qt only' projects.<br />
** FindFoo.cmake files<br />
* Why does KDE not use USE files?<br />
* Spread the word about my.cmake.org and have more people submit their logs<br />
* Dependency report (add a better description after re-reading http://lists.kde.org/?l=kde-buildsystem&m=130669804027048&w=2)<br />
<br />
=== KDE from downstream ===<br />
<br />
* How are downstreams like distros affected by these kinds of changes in KDE.<br />
* Where can changes in KDE affect distros positively and users positively?<br />
<br />
=== QML and Javascript ===<br />
<br />
== Logistics ==<br />
<br />
=== Dates ===<br />
<br />
June 1/2 - 6/7<br />
<br />
=== Location ===<br />
<br />
[http://community.kde.org/Sprints/Randa Randa], Switzerland<br />
<br />
=== Travel and Accommodations ===<br />
<br />
See at the general [http://community.kde.org/Sprints/Randa Randa] page.<br />
<br />
=== Food, Drink and Shopping ===<br />
<br />
See at the general [http://community.kde.org/Sprints/Randa Randa] page.</div>OpenIDUser12https://community.kde.org/index.php?title=KDE_Core/Platform_11&diff=12484KDE Core/Platform 112011-06-01T19:22:09Z<p>OpenIDUser12: /* Build system */</p>
<hr />
<div>== Insert logo here ==<br />
making it now (Nuno)<br />
<br />
[[File:Coreproposal.png]] <br />
<br />
[[User:Saleel]]'s Proposal. SVG:[[Media:Coreproposal.svg]]<br />
<br />
== Purpose of the Sprint ==<br />
To examine the current state and near future of the KDE Platform (kdelibs and kdebase-runtime), particularly as it relates to the growing usage of it in new contexts such as mobile or on Windows and MacOS and its traditional usage as a set of conveniences and consistency creators for KDE application development.<br />
<br />
The sprint will aim to create an actionable, multi-year roadmap for kdelibs and kdebase-runtime and will examine issues of modularity, topicality and the inherent dichotomy between the KDE Platform as an application development framework (similar to Qt) and as a stand-alone platform to target (similar to, e.g. Windows, MacOS, etc.)<br />
<br />
<br />
<br />
== Topics ==<br />
<br />
<br />
Note: these are simply sample topics, not final direction on what will actually be discussed. Actual topics will be generated at a pre-sprint meeting online as well as through group authorship of this section.<br />
<br />
=== KDE at Qt 5 ===<br />
<br />
* How does KDE view the Qt5 transition?<br />
* Will there be further Qt 4 feature releases possible through OpenGov? <br />
<br />
=== KDE in OpenGov ===<br />
<br />
* How can KDE get more involved in OpenGov?<br />
* How can Qt be viewed by KDE people more as part of the stack which can get contributions from KDE people?<br />
<br />
=== Workflow / Management ===<br />
* Recommended Git workflow for kdelibs<br />
* Git documentation<br />
<br />
=== Modularization of KDE libraries ===<br />
<br />
Alex: should IMO include not only kdelibs, but also kdesupport, kdepimlibs and kdebase libs<br />
<br />
* KIO - Split platform and gui parts?<br />
* Initial attempts to create class-level dependency graphs: http://www.kdab.com/~volker/kde/<br />
* Generally reduce dependency on KGlobal. It causes a lot of interdependency<br />
** K_GLOBAL_STATIC<br />
** refcounted quit in QCoreApplication<br />
<br />
=== Framework vs Platform ===<br />
* Qt OpenGov<br />
* Policy towards QtMobility<br />
* Geolocation<br />
<br />
=== Redundancies ===<br />
* KLocale & co vs QLocale & co: How to act local everywhere while retaining configurability.<br />
* QDateTime vs KDateTime and KCalendarSystem<br />
* KHTML vs QtWebKit<br />
* Reduce use of KDE APIs in data transfer classes where not needed: KIcon, KUrl (because neither transfer more data than their KDE equivalents, the KDE versions don't need to be in library APIs). Krazy needs to not warn about that.<br />
* Investigate what needs to change in Qt for us to be able to use QDateTime as a data transfer class instead of KDateTime. Ditto KAction<br />
* It should be easier for 'Qt applications and libraries' to use KDE stuff. <br />
<br />
=== Moving stuff into kdelibs ===<br />
<br />
* Move libkonq or parts thereof into kdelibs?<br />
<br />
=== Separation of KDE libraries and platform ===<br />
<br />
* Conceptual separation (and possibly stronger, like build/directory system) between functional libraries and platform integrations.<br />
* More interfaces are best.<br />
* Make it more easy for others to use libraries developed by the KDE community.<br />
* Make '''KDE libraries''' be something closer to Qt than to the KDE platform.<br />
** Only true dependencies, no interdependencies.<br />
** Possibly more easy to build them separately easier.<br />
<br />
=== A service framework ===<br />
<br />
* KDE is becoming more service/multi-process based. Akonadi, Nepomuk, libplasma2 (maybe?). <br />
* Some services depend on each other. <br />
* All have different mechanisms of being started themselves, and of how they find and start their satellites.<br />
* Satellites can be either other processes or plugins in all cases.<br />
* There may be opportunities to define some unity among these.<br />
<br />
=== Is KSyCoCa needed anymore? ===<br />
* Not used for mimetypes anymore.<br />
* Still used for plugins, but is there still today a need for finding plugins through a database?<br />
<br />
=== Library use of KStandardDirs ===<br />
<br />
* Consider defining an interface (maybe in Qt?) for accessing standard directories, which can be used by KDE '''libraries'''<br />
* In QDesktopServices ?<br />
* Abstracting things like that make it easier to use KDE libraries outside of the current existing KDE assumptions.<br />
<br />
=== Who will do the work? ===<br />
<br />
* Some desired changes may take a long time/effort.<br />
* Can any of it be funded?<br />
<br />
=== Build Profiles ===<br />
<br />
=== Build system ===<br />
<br />
* What level modularity do we want/need here ?<br />
* Chances of CMake becoming the buildsystem for Qt.<br />
<br />
* What can we get upstream to CMake?<br />
** Fix the qt_automoc cmake macro to make the automoc application obsolete.<br />
** The RPath stuff? <br />
** The enable final stuff?<br />
** This stuff should be just as easy for 'Qt only' projects.<br />
** FindFoo.cmake files<br />
* Why does KDE not use USE files?<br />
* Spread the word about my.cmake.org and have more people submit their logs<br />
* Dependency report (add a better description after re-reading http://lists.kde.org/?l=kde-buildsystem&m=130669804027048&w=2)<br />
<br />
=== KDE from downstream ===<br />
<br />
* How are downstreams like distros affected by these kinds of changes in KDE.<br />
* Where can changes in KDE affect distros positively and users positively?<br />
<br />
=== QML and Javascript ===<br />
<br />
== Logistics ==<br />
<br />
=== Dates ===<br />
<br />
June 1/2 - 6/7<br />
<br />
=== Location ===<br />
<br />
[http://community.kde.org/Sprints/Randa Randa], Switzerland<br />
<br />
=== Travel and Accommodations ===<br />
<br />
See at the general [http://community.kde.org/Sprints/Randa Randa] page.<br />
<br />
=== Food, Drink and Shopping ===<br />
<br />
See at the general [http://community.kde.org/Sprints/Randa Randa] page.</div>OpenIDUser12https://community.kde.org/index.php?title=Sprints/Randa/2011&diff=12267Sprints/Randa/20112011-05-18T03:27:05Z<p>OpenIDUser12: /* Before May 2011 */ Add rakuco's blog post</p>
<hr />
<div>Here you find information which is important for the duration of the meeting (Wednesday, 1st of June to Tuesday, 7th of June 2011).<br />
<br />
= Important general information =<br />
<br />
Here you'll find imporant information for the time during the meeting. Such as e.g. the departure time for the trip to Zermatt. So take a look here from time to time.<br />
<br />
= Room/Group reservations =<br />
<br />
Please add you group name to a room and time in the table below to schedule a meeting or BoF. For the room names (Africa, America, Asia, Australia & Europe) and sizes see [http://community.kde.org/File:Grundriss-new2.gif the ground plan of the building]<br />
<br />
{| cellspacing="1" cellpadding="1" border="1" width="100%"<br />
|-<br />
! scope="col" | Date<br />
! scope="col" | Africa<br />
! scope="col" | America<br />
! scope="col" | Asia<br />
! scope="col" | Australia<br />
! scope="col" | Europe<br />
|-<br />
| Wednesday: 20:00-24:00<br />
| <br />
| <br />
| <br />
|<br />
|<br />
|-<br />
| Thursday: 08:00-12:00<br />
| <br />
| <br />
| <br />
|<br />
|<br />
|-<br />
| Thursday: 14:00-18:00<br />
| <br />
| <br />
| <br />
|<br />
|<br />
|-<br />
| Thursday: 20:00-24:00<br />
| <br />
| <br />
| <br />
|<br />
|<br />
|-<br />
| Friday: 08:00-12:00<br />
| <br />
| <br />
| <br />
|<br />
|<br />
|-<br />
| Friday: 14:00-18:00<br />
| <br />
| <br />
| <br />
|<br />
|<br />
|-<br />
| Friday: 20:00-24:00<br />
| <br />
| <br />
| <br />
|<br />
|<br />
|-<br />
| Saturday: 08:00-12:00<br />
| <br />
| <br />
| <br />
|<br />
|<br />
|-<br />
| Saturday: 14:00-18:00<br />
| <br />
| <br />
| <br />
|<br />
|<br />
|-<br />
| Saturday: 20:00-24:00<br />
| <br />
| <br />
| <br />
|<br />
|<br />
|-<br />
| Sunday: 08:00-12:00<br />
| <br />
| <br />
| <br />
|<br />
|<br />
|-<br />
| Sunday: 14:00-18:00<br />
| <br />
| <br />
| <br />
|<br />
|<br />
|-<br />
| Sunday: 20:00-24:00<br />
| <br />
| <br />
| <br />
|<br />
|<br />
|-<br />
| Monday: 08:00-12:00<br />
| <br />
| <br />
| <br />
|<br />
|<br />
|-<br />
| Monday: 14:00-18:00<br />
| <br />
| <br />
| <br />
|<br />
|<br />
|-<br />
| Monday: 20:00-24:00<br />
| <br />
| <br />
| <br />
|<br />
|<br />
|-<br />
| Tuesday: 08:00-12:00<br />
| <br />
| <br />
| <br />
|<br />
|<br />
|-<br />
|}<br />
<br />
= OpenDay - Saturday, 4th of June =<br />
<br />
On this day the house is open for interested people to come and see what we do and work on. Sponsors of the meeting are invited for this day as well and for the evening Raclette.<br />
<br />
= Menu plan =<br />
<br />
{| cellspacing="1" cellpadding="1" border="1" width="100%"<br />
|-<br />
! scope="col" | Date<br />
! scope="col" | Breakfast (9:00-11:00)<br />
! scope="col" | Lunch (13:00-14:00)<br />
! scope="col" | Dinner (19:00-20:00)<br />
|-<br />
| Wednesday, 1st of June<br />
| Day of arrival<br />
| Sandwiches<br />
| Soupe<br />
|-<br />
| Thursday, 2nd of June<br />
| Breakfast buffet<br />
| Lasagne<br />
| Risotto al Funghi<br />
|-<br />
| Friday, 3rd of June<br />
| Breakfast buffet<br />
| Cholera*<br />
| Cheese toast<br />
|-<br />
| Saturday, 4th of June<br />
| Breakfast buffet<br />
| Rice Casimir<br />
| Raclette<br />
|-<br />
| Sunday, 5th of June<br />
| Breakfast buffet<br />
| BBQ<br />
| Spaghetti Napoli<br />
|-<br />
| Monday, 6th of June<br />
| Breakfast buffet<br />
| Ragout/Ratatouille with Polenta<br />
| Turta<br />
|-<br />
| Tuesday, 7th of June<br />
| Breakfast buffet<br />
| Soupe<br />
| Day of departure<br />
|-<br />
|}<br />
<br />
*No, this is not a dangerous disease but [http://www.myswitzerland.com/en/interests/food-and-wine/typically-swiss-recipes/recipes-betty-bossi/cholera.html something tasty].<br />
<br />
= Blog posts and other news about the meeting =<br />
<br />
Please add here the URLs to the blog posts about the meeting<br />
<br />
== Later than June 2011 ==<br />
<br />
== June 2011 ==<br />
<br />
== May 2011 ==<br />
<br />
* [http://blogs.fsfe.org/mario/?p=143 I'm going to Randa 2011 - Blog post by Mario Fux (unormal)]<br />
* [http://aseigo.blogspot.com/2011/05/qt5-kde5.html Qt5 .. KDE5? - Blog post by Aaron Seigo (aseigo)]<br />
* [http://www.golem.de/1105/83364.html Qt 5 wird auch KDE verändern - Golem.de (German)]<br />
<br />
== Before May 2011 ==<br />
<br />
* [http://www.kdedevelopers.org/node/4415 Around the world - Blog post by Raphael Kubo da Costa (rakuco)]<br />
* [http://blogs.fsfe.org/mario/?p=130 We need you for Nepomuk (integration)! - Blog post by Mario Fux (unormal)]<br />
* [http://aseigo.blogspot.com/2011/03/platform-ho-ooooooo.html platform ho-ooooOOO! - Blog post by Aaron Seigo (aseigo)]<br />
* [http://blogs.fsfe.org/mario/?p=123 Registration for Randa 2011 is open - Blog by Mario Fux (unormal)]<br />
* [http://blogs.fsfe.org/mario/?p=121 Randa 2011, KDE and young informatics trainees - Blog post by Mario Fux (unormal)]<br />
* [http://blogs.fsfe.org/mario/?p=118 KDE work day 11: QML and ICT@school - Blog post by Mario Fux (unormal)]<br />
* [http://blogs.fsfe.org/mario/?p=114 KDE work day 10: Registration and promotion - Blog post by Mario Fux (unormal)]<br />
* [http://blogs.fsfe.org/mario/?p=105 KDE work day 8: Randa and Randa - Blog by Mario Fux (unormal)]<br />
* [http://blogs.fsfe.org/mario/?p=86 KDE work day 5: Papers, presentations and sprints - Blog post by Mario Fux (unormal)]<br />
<br />
= Picture collections about the meeting =<br />
<br />
* [http://www.examples.org Examples.org example entry]</div>OpenIDUser12https://community.kde.org/index.php?title=20110213_GitWorkflowAgenda&diff=980320110213 GitWorkflowAgenda2011-02-13T20:09:06Z<p>OpenIDUser12: /* Attendees */ Add myself to the attendee list.</p>
<hr />
<div>Agenda for the February 13 KDE Core Git Workflow meeting<br />
<br />
== Agenda ==<br />
* 3rd party examples we can learn from:<br />
** CMake http://public.kitware.com/Wiki/Git/Workflow/Topic <br />
** Qt: http://qt.gitorious.org/qt/pages/CommitPolicy<br />
** Videolan: http://wiki.videolan.org/Git<br />
** Others?<br />
* Topic branches<br />
** strategy overview<br />
** git recipes for the common cases<br />
* Bug fix strategy<br />
** dealing with an unmergable 4.6<br />
** 4.7 and beyond<br />
* Handling trivial changes<br />
** require branches, allow direct to an integration branch or even master?<br />
* Other common tasks that we should offer nice little recipes for?<br />
* Adapting http://techbase.kde.org/Policies/SVN_Commit_Policy<br />
* Using content from http://community.kde.org/Sysadmin/GitKdeOrgManual<br />
* Identifying other pages on techbase that need work<br />
* First draft of workflow documentation<br />
* Commit template<br />
* Recommended Git config settings<br />
* branch names, auto-completion and other bash/zsh magic, e.g. http://blogs.oracle.com/linuxnstuff/2010/05/recommended_git-completionbash.html<br />
<br />
== Results ==<br />
<br />
== Attendees ==<br />
<br />
* Aaron Seigo (aseigo)<br />
* Anne-Marie Mahfouf (annma)<br />
* Albert Astals Cid (tsdgeos)<br />
* Casian Andrei (skelet)<br />
* Ekie Heine (Sho)<br />
* Eli MacKenzie (argonel)<br />
* Giulio Camuffo (giucam)<br />
* Ian Monroe (eean)<br />
* John Layt (jlayt)<br />
* Jonathan Callen (ABCD)<br />
* Kurt Hindenburg (khindenburg)<br />
* Laszlo Papp (djszapi)<br />
* Michael Pyne (mpyne)<br />
* Raphael Kubo da Costa (rakuco)<br />
* Sune Vuorela (svuorela)<br />
* Theo Chatzimichos (tampakrap)<br />
* Thomas Baumgart (ipwizard)<br />
* Tom Albers (toma)</div>OpenIDUser12https://community.kde.org/index.php?title=Sysadmin/GitKdeOrgManual&diff=7619Sysadmin/GitKdeOrgManual2010-12-17T21:12:12Z<p>OpenIDUser12: /* Commands related to repository importing */ Add an example to show the '.git' should not be used with hooks-enable</p>
<hr />
<div>== Overview of facilities ==<br />
<br />
* '''[http://identity.kde.org/ KDE Identity]''' (identity.kde.org)<br />
:Account management; notably managing your SSH public keys for read-write developer access.<br />
<br />
* '''git.kde.org'''<br />
The main git server. Should be used only for pushing new commits to a repository over the SSH protocol. <br />
<br />
* '''anongit.kde.org'''<br />
Three servers which allow read-only access to the repositories via the git:// and http:// protocols. They are requested to update when anyone pushes to a repo on git.kde.org, so it can be thought of as being always up-to-date.<br />
<br />
* '''[http://projects.kde.org/ KDE Projects]''' (projects.kde.org)<br />
:Central project hub and primary repository browser.<br />
<br />
* '''[http://gitweb.kde.org/ gitweb.kde.org]'''<br />
:Alternative repository browser. At present the only way to view personal clones of project repositories and personal scratch repositories ([[#Personal repositories|see below]]), however the former are planned to appear in projects.kde.org in the future.<br />
<br />
* '''[http://git.reviewboard.kde.org/ ReviewBoard]''' (git.reviewboard.kde.org)<br />
:Patch review (account sign-up via [http://identity.kde.org/ KDE Identity]). [[#Using ReviewBoard and post-review|Instructions below]].<br />
<br />
* '''commits.kde.org'''<br />
:Provides Git commit "short URLs", redirecting to [http://projects.kde.org/ KDE Projects] and [http://gitweb.kde.org/ gitweb.kde.org] pages as appropriate ([http://commits.kde.org/324dd0cd/a8d1175f61e678f61b3643c867f212ad26ce6f44 example]).<br />
<br />
== How to get read-write developer access ==<br />
<br />
KDE developer accounts are managed through [http://identity.kde.org/ KDE Identity]. If you already have a KDE SVN developer account, it has been imported into KDE Identity and you may use the Password Reset feature to set a password and manage your SSH public keys. If you don't have a developer account yet, you can request Developer Access in the website's menu upon registering and logging into your account.<br />
<br />
== Overview of repository URL schemes ==<br />
<br />
=== URL prefixes ===<br />
<br />
Anonymous read-only access uses the following URL prefix:<br />
<br />
git://anongit.kde.org/<br />
<br />
Read-write developer access uses this prefix instead:<br />
<br />
git@git.kde.org:<br />
<br />
=== Repository paths ===<br />
<br />
Following the prefix, here are the path schemes for different types of repositories:<br />
<br />
* '''<project identifier>'''<br />
:A KDE project repository, be it part of the KDE SC, KDE Extragear or KDE Playground.<br />
<br />
* '''websites/<address sans leading www. and dots replaced by dashes>'''<br />
:A KDE website project, e.g. websites/projects-kde-org.<br />
<br />
* '''sysadmin/<repository name>'''<br />
:Non-public repositories used by KDE's sysadmin team.<br />
<br />
* '''clones/<original repository path>/<KDE Identity user name>/<user-chosen repository name>'''<br />
:Personal clones of project repositories, e.g. <tt>clones/konversation/hein/morecowbell</tt> or <tt>clones/websites/projects-kde-org/hein/pluginwork</tt> ([[#Personal clones of project repositories|more below]]).<br />
<br />
* '''scratch/<KDE identity user name>/<user-chosen repository name>'''<br />
:Personal scratch repositories are a means to start a new project or just to store your favorite .bashrc in a safe location: anything is allowed so long as it is related to KDE or your work for KDE in some way ([[#Personal scratch repositories|more below]]).<br />
<br />
=== Let Git rewrite URL prefixes ===<br />
<br />
Instead of remembering the above URL prefixes, you can also put the following in your <tt>~/.gitconfig</tt>:<br />
<br />
[url "git://anongit.kde.org/"]<br />
insteadOf = kde://<br />
[url "ssh://git@git.kde.org/"]<br />
pushInsteadOf = kde://<br />
<br />
Then, to clone e.&nbsp;g. the Amarok repo, just do<br />
<br />
$ git clone kde://amarok<br />
<br />
By using the <tt>kde://</tt> prefix, read access will automatically happen over Git, and authenticated SSH is only required for pushes.<br />
<br />
== Server-side commands ==<br />
<br />
git.kde.org understands several server-side commands that can be used on the command line via SSH in this fashion:<br />
<br />
ssh git@git.kde.org <command> [parameters]<br />
<br />
The following is a list of the commands that are currently available, broadly divided into categories according to their purpose.<br />
<br />
===Commands for information retrieval===<br />
<br />
*'''<span id="info">info</span>''' <small>[[#info|(link here)]]</small><br />
:Shows a table of repository paths and path patterns you have the permission to see along with details about your access rights to them.<br />
<br />
:A brief legend for the permission flags shown in the listing:<br />
<br />
:* '''@R''' - Read permissions.<br />
:* '''@W''' - Write permissions.<br />
:* '''@C''' - Create permissions (e.g. the initial push to a newly-created repo).<br />
<br />
:If you want to list actual repositories corresponding to patterns listed by <tt>info</tt>, such as your personal [[#Personal scratch repositories|scratch repositories]], see the <tt>[[#expand|expand]]</tt> command described next.<br />
<br />
*'''<span id="expand">expand [regex]</span>''' <small>[[#expand|(link here)]]</small><br />
:Like <tt>[[#info|info]]</tt> above, but actually walks through the repositories to verify the information. It's much slower as a result, and should be used if <tt>info</tt> doesn't provide enough information. For example, <tt>info</tt> will list your personal [[#Personal scratch repositories|scratch space]] only in the form of a pattern while <tt>expand</tt> can list the actual repositories located there.<br />
<br />
:The output is limited to about 20 rows. The optional regex parameter allows you to filter the listing.<br />
<br />
*'''<span id="who-pushed">who-pushed <repository path> <commit sha1 hash></span>''' <small>[[#who-pushed|(link here)]]</small><br />
<br />
:Shows the KDE Identity user name of the contributor who pushed the specified commit to the specified repository.<br />
<br />
===Commands to manage personal repositories===<br />
<br />
*'''<span id="clone">clone <path to source repository> <clone name></span>''' <small>[[#clone|(link here)]]</small><br />
:Can be used to make a personal clone of a project repository.<br />
<br />
:An example:<br />
<br />
ssh git@git.kde.org clone konversation mykonvi<br />
<br />
:This results in a clone at <tt>clones/konversation/<your KDE Identity user name>/mykonvi</tt>.<br />
<br />
:A second example with a longer source repository path:<br />
<br />
ssh git@git.kde.org clone websites/projects-kde-org newtheme<br />
<br />
:This results in a clone at <tt>clones/websites/projects-kde-org/<your KDE Identity user name>/newtheme</tt>.<br />
<br />
:More on personal clones [[#Personal repositories|here]].<br />
<br />
*'''<span id="destroy">destroy <repository path></span>''' <small>[[#destroy|(link here)]]</small><br />
:Used to delete a personal clone of a project repository or a personal scratch repository. Requires the repository to be unlocked first using the <tt>[[#unlock|unlock]]</tt> command and will additionally ask for confirmation. See also the <tt>[[#trash|trash]]</tt> command as an alternative to outright and irrevocable deletion.<br />
<br />
*'''<span id="lock">lock <repository path></span>''' <small>[[#lock|(link here)]]</small><br />
<br />
:Locks a repository, causing the <tt>[[#destroy|destroy]]</tt> command to deny deleting it. <br />
<br />
:Newly-created repositories are locked by default.<br />
<br />
*'''<span id="unlock">unlock <repository path></span>''' <small>[[#unlock|(link here)]]</small><br />
<br />
:Unlocks a repository, making it possible to delete it using the <tt>[[#destroy|destroy]]</tt> command.<br />
<br />
====Commands to manage the personal trash area====<br />
<br />
*'''<span id="trash">trash <repository path></span>''' <small>[[#trash|(link here)]]</small><br />
<br />
:Moves a repository to the personal trash area, creating an entry in the form <tt><repository path>/<timestamp></tt> there. The timestamps, which have second precision, make it possible to have more than one version of a repository in the trash area at the same time.<br />
<br />
:<span style="color:red">'''Note:'''</span> Entries in the personal trash area are automatically removed after 28 days!<br />
<br />
*'''<span id="restore">restore <trash area entry></span>''' <small>[[#restore|(link here)]]</small><br />
<br />
:Restores an entry from the personal trash area (see the <tt>[[#list-trash|list-trash]]</tt> command below for how to list the contents of your personal trash area).<br />
<br />
:<tt>restore</tt> will deny restoring an entry if doing so would overwrite an existing repository.<br />
<br />
*'''<span id="list-trash">list-trash</span>''' <small>[[#list-trash|(link here)]]</small><br />
<br />
:Lists all entries in the personal trash area, in the form <tt><repository path>/<timestamp></tt>.<br />
<br />
===Commands related to repository importing===<br />
*'''<span id="hooks-enable">hooks-enable <project repository path></span>''' <small>[[#hooks-enable|(link here)]]</small><br />
<br />
:An example:<br />
<br />
ssh git@git.kde.org hooks-enable konversation<br />
<br />
:Available only to repository and system administrators, this command enables several hook scripts that git.kde.org will then execute during a push operation to the specified project repository. Importantly, it also enables write access for non-administrators, which is otherwise disabled along with the hooks scripts. <br />
<br />
:The hook scripts in question are the ones reponsible for forwarding commits to the [https://mail.kde.org/mailman/listinfo/kde-commits kde-commits] mailing list and [http://www.cia.vc/ CIA.vc], and for processing commit message keywords (BUG, CCMAIL, etc.) that may interact with [http://bugs.kde.org/ KDE Bugzilla] or cause further emails to be sent. As these hook scripts are only available to project repositories, and not to [[#Personal repositories|personal repositories]], the command only applies to them.<br />
<br />
:After creating a new, empty project repository for you the system administators will initially disable the hook scripts so you can safely import large numbers of old commits.<br />
<br />
===Commands for system administrators===<br />
<br />
*'''<span id="sudo">sudo <KDE Identity user name> <command></span>''' <small>[[#sudo|(link here)]]</small><br />
:Used by system administrators to run one of the above as another user.<br />
<br />
*'''<span id="able">able <en|dis> <@all|repository path></span>''' <small>[[#able|(link here)]]</small><br />
:Used by system administrators to enable or disable writes to particular repositories or all repositories, for maintenance.<br />
<br />
*'''<span id="hooks-disable">hooks-disable <project repository path></span>''' <small>[[#hooks-disable|(link here)]]</small><br />
<br />
:Disables the hook scripts git.kde.org normally executes during a push operation to a project repository. While the hook scripts are disabled only repository administrators can push commits to a repository. Both system and repository administrators have the ability to reenable the hook scripts using the <tt>[[#hooks-enable|hooks-enable]]</tt> command.<br />
<br />
*'''<span id="ohnoes">ohnoes <show|recover> <repository path> <gitref></span>''' <small>[[#ohnoes|(link here)]]</small><br />
:Used by system administrators to recover deleted branches or mistaken force pushes (rewinds).<br />
<br />
== Personal repositories ==<br />
<br />
git.kde.org currently offers two types of personal repositories: Personal clones of project repositories and personal scratch repositories.<br />
<br />
=== Personal clones of project repositories ===<br />
<br />
A personal clone of a project repository can be created using the server-side <tt>clone</tt> command on the command line:<br />
<br />
ssh git@git.kde.org clone <path to source repository> <clone name><br />
<br />
This will create a clone of the source repository at <tt>clones/<path to source repository>/<KDE Identity user name>/<clone name></tt>. (See more examples of <tt>clone</tt> in action [[#clone|here]].)<br />
<br />
This scheme makes it very easy to locate all personal clones of a given project and should be preferred over making one in your personal [[#Personal scratch repositories|scratch space]]. (In fact, the server-side <tt>clone</tt> command won't allow you to clone a project repository into your personal scratch space, but nothing technically prevents you from taking the detour of a local clone to achieve this.)<br />
<br />
Personal clones of project repositories currently do not show up on [http://projects.kde.org KDE Projects], but we have plans to change that in the future. Until then, you can use [http://gitweb.kde.org/ gitweb.kde.org] to browse these repositories.<br />
<br />
=== Personal scratch repositories ===<br />
<br />
Personal scratch repositories are a means to start a new project or just to store your favorite .bashrc in a safe location: anything is allowed so long as it is related to KDE or your work for KDE in some way.<br />
<br />
Creating one is easily done by just pushing:<br />
<br />
git push --all git@git.kde.org:scratch/<your KDE Identity user name>/<repo name of your choosing><br />
<br />
(Or you could use <tt>git remote add</tt> to add a remote to push to.)<br />
<br />
Personal scratch repositories can be browsed on [http://gitweb.kde.org/ gitweb.kde.org].<br />
<br />
If you feel your new project is ready for the wider world and/or wish to signal that it welcomes outside contributors, you may wish to promote it to the status of a KDE Playground project. KDE Playground project repositories are located at the top-level, i.e. the repository will be moved out of your scratch space and may have to be renamed in the event of a collision with an existing repository name. KDE Playground projects are featured on [http://projects.kde.org KDE Projects] and covered by the [https://mail.kde.org/mailman/listinfo/kde-commits kde-commits] mailing list (and thus [http://commitfilter.kde.org CommitFilter]), [http://lxr.kde.org/ LXR], the [http://www.englishbreakfastnetwork.net/ EBN] and [http://cia.vc/ CIA], unlike personal scratch repositories.<br />
<br />
To request your scratch repository be promoted to the status of a KDE Playground project, you currently need to file a [https://bugs.kde.org/enter_sysadmin_request.cgi sysadmin request]. In the future we plan to provide a fully automated facility on [http://projects.kde.org KDE Projects].<br />
<br />
Note that we have deliberately decided not to allow the direct creation of KDE Playground projects; the path to existence for a KDE Playground repository project always leads through a personal scratch space first. This is to give you the power to decide whether your project is ready, and also to force you to deliberate whether it truly is.<br />
<br />
===Deleting personal repositories===<br />
<br />
A personal repository can either be deleted outright and irrevocably by using the <tt>[[#destroy|destroy]]</tt> command (which requires you to <tt>[[#unlock|unlock]]</tt> it first to avoid accidental deletion), or you may move it to the personal trash area with the <tt>[[#trash|trash]]</tt> command. <br />
<br />
'''Entries in the personal trash area are kept for 28 days,''' and can be resurrected at any moment during those 28 days by way of the <tt>[[#restore|restore]]</tt> command. You can list the current contents of your personal trash area with the <tt>[[#list-trash|list-trash]]</tt> command.<br />
<br />
== Using ReviewBoard and post-review ==<br />
<br />
A very comfortable way of posting changes for review is [http://git.reviewboard.kde.org ReviewBoard], where every project repository has its own entry.<br />
<br />
=== Creating your changeset ===<br />
<br />
To create your changeset, you probably want to work in a separate branch - or even in your clone. This is actually suggested and the proper way to do changesets in Git. You can create any number of commits, amend them, and do whatever you want to do - it won't affect the next steps, as you will submit the whole branch for review.<br />
<br />
Before proceeding it is good practice to rebase your branch onto the branch you want to target for the merge. So, supposing you want to target <tt>master</tt>, make sure it is up-to-date with the remote and then run:<br />
<br />
git rebase master<br />
<br />
=== Using post-review to post changes for review ===<br />
<br />
Once you are done with the above, it is time to post the changes to ReviewBoard. The easiest and most comfortable way to do that is <tt>[http://www.reviewboard.org/docs/manual/dev/users/tools/post-review/ post-review]</tt>, a handy command line tool which takes care of creating review requests for you.<br />
<br />
==== Prerequisites ====<br />
<br />
The following has to be done only once to make your local clone fit for use with <tt>post-review</tt>.<br />
<br />
First of all, you have to tell it about the ReviewBoard server. If your project does not ship with a <tt>.reviewboardrc</tt> file (encourage the project manager to add one!), the first thing you have to run is:<br />
<br />
git config reviewboard.url http://git.reviewboard.kde.org<br />
<br />
ReviewBoard currently only knows the project repositories by their git:// URLs, making it necessary to have a remote using the git:// URL in your clone. If your <tt>origin</tt> remote is already using the git:// URL, you are all set. If not you need to add another remote now. <br />
<br />
Let's suppose you are looking to have some changes to [https://projects.kde.org/projects/extragear/multimedia/amarok Amarok] reviewed, and the URL of your <tt>origin</tt> remote is <tt>git@git.kde.org:amarok</tt>. To add another remote using the git:// URL you might run:<br />
<br />
git remote add anonupstream git://git.kde.org/amarok<br />
git fetch anonupstream<br />
<br />
If your <tt>origin</tt> remote was already using the git:// url, substitute <tt>anonupstream</tt> with <tt>origin</tt> throughout the rest of this tutorial.<br />
<br />
==== Creating the review request ====<br />
<br />
You are now ready to create the review request. The <tt>post-review</tt> command should look something like this:<br />
<br />
post-review --parent=master --tracking-branch=anonupstream/master<br />
<br />
This command tells <tt>post-review</tt> that your branch is based upon <tt>master</tt>, and it is set to track the remote branch <tt>anonupstream/master</tt>. You can also give <tt>post-review</tt> some more arguments to avoid using the web interface later - have a look at the [http://www.reviewboard.org/docs/manual/dev/users/tools/post-review/ user manual] for more on that.<br />
<br />
After the command has been run a web address will be shown in the terminal, pointing at your review request.<br />
<br />
==== Updating a review request ====<br />
<br />
If you need to update an existing review request you can invoke <tt>post-review</tt> with an additional <tt>-r</tt> argument, which should be the numeric id of the review request you want to update. Supposing you want to update review request 54, you would run:<br />
<br />
post-review --parent=master --tracking-branch=anonupstream/master -r 54<br />
<br />
==== Creating a ReviewBoard-compatible diff ====<br />
<br />
In some rare cases you simply want to generate a diff and submit it to ReviewBoard later. You can do that by running:<br />
<br />
post-review --parent=master -n > your-patch.patch<br />
<br />
== Requesting project migrations from KDE SVN or Gitorious.org ==<br />
<br />
To get your project moved from KDE SVN or Gitorious.org to git.kde.org, you have to file a [https://bugs.kde.org/enter_sysadmin_request.cgi sysadmin request] providing the following information:<br />
<br />
* The name and description of the project.<br />
* The current location of the project.<br />
* Its current or intended module (e.g. playground/utils or extragear/network).<br />
* Which KDE Identity user name(s) should have admin rights to the repository and the entry on [http://projects.kde.org KDE Projects].<br />
* The email address that the [http://git.reviewboard.kde.org/ ReviewBoard] group for the project should send emails to.<br />
* The date and time the migration should take place (can be "asap").<br />
<br />
When we have completed processing your request, there will be an empty repository at the chosen path ([[#Overview of repository URL schemes|more here]]) that the repository administrators can push the data into. (When converting from KDE svn to git this typically involves [[../DeveloperAccessForRuleWriting|writing a rule set]], running svn-all-fast-export, and then pushing the created repository into the new git path.) Once you are done pushing everything to the repository, use the <tt>[[#hooks-enable|hooks-enable]]</tt> command to enable the commit hooks and allow write access to non-administrators.</div>OpenIDUser12