[kdepimlibs] /: Interim hack to make everything which depends on kdepimlibs build again.

Christophe Giboudeaux cgiboudeaux at gmx.com
Thu Dec 20 13:47:50 UTC 2012


Hi,

On Thursday 20 December 2012 14:12:17 Yury G.  Kudryashov wrote:
> Ben Cooksley wrote:
> > On Thu, Dec 20, 2012 at 9:02 PM, Andreas Pakulat <apaku at gmx.de> wrote:
> >> Hi,
> > 
> > Hi,
> > 
> >> On Thu, Dec 20, 2012 at 1:11 AM, Ben Cooksley <bcooksley at kde.org> wrote:
> >>> Git commit f9ea1c7b4fb351a4da16b386c23f15d6c109728a by Ben Cooksley.
> >>> Committed on 20/12/2012 at 01:11.
> >>> Pushed by bcooksley into branch 'master'.
> >>> 
> >>> Interim hack to make everything which depends on kdepimlibs build again.
> >>> A proper solution is needed from the CMake folks, but I don't see
> >>> consensus on that.
> >> 
> >> FWIW, I think the change you comitted is almost the right fix, you
> >> forgot a REQUIRED there to ensure that finding kdepimlibs fails if
> > 
> > The ommision of REQUIRED was intentional as kdepimlibs itself does not
> > require Nepomuk Core.
> > 
> >> nepomuk is not found. If kdepimlibs libraries expose Nepomuk API in
> >> their own public API then its a dependency of kdepimlibs, this is
> >> expressed by having nepomuk in the link-interface of the kdepimlibs
> > 
> > Right. I guess the correct fix in this case is an if() block which
> > checks if Nepomuk had previously been found (and if so - adds the line
> > in with REQUIRED) and otherwise skips it.
> > 
> > I'll take a look into that.
> 
> I've missed this thread, and committed
> de3a6c213202e028a97ab5081e94468bc65c9868.
> 
> It adds
> +if(NOT TARGET nepomukcore)
> +   find_package(NepomukCore NO_MODULE)
> +endif()
> to KdepimLibsConfig.cmake.in. NepomukCore is Required by kdepimlibs (look at
> CMakeLists.txt in master and KDE/4.10, not in rc1).
> 
> I don't think that adding REQUIRED is the right thing to do. Probably,
> if(NOT TARGET nepomukcore)
>    if(KdepimLibs_FIND_REQUIRED)
>       find_package(NepomukCore REQUIRED NO_MODULE)
>    else()
>       find_package(NepomukCore NO_MODULE)
>    endif()
> endif()

Generally speaking, I'm against using find_package() in config files or I see 
no valid reason to only look for nepomukcore, you should also look for KDE4, 
Qt4, phonon and qjson which are all listed in 
KDEPimLibsLibraryTargetsWithPrefix and why not extend it to build dependencies 
and add libical, boost and all other dependencies ?

Side note: NepomukCore was not meant to be optional. This was fixed yesterday 
(commit c8e1a1b9). I'll let the people building for WINCE platforms ifdef what 
they need.

Christophe


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-buildsystem/attachments/20121220/a4bc3add/attachment.sig>


More information about the Kde-buildsystem mailing list