[PATCH] akonadi can't be built in kdesupport

Alexander Neundorf neundorf at kde.org
Mon Jun 15 20:23:13 CEST 2009


On Saturday 13 June 2009, Christophe Giboudeaux wrote:
> On Saturday 13 June 2009 00:49:57 Matthew Woehlke wrote:
> > Slightly over-dramatic, but...
> >
> > I've gotten tired of having to bootstrap kdesupport because akonadi
> > thinks it doesn't exist inside of there. I don't think this used to
> > happen, but for some time it has been impossible to build (or even
> > configure!) kdesupport after nuking the KDE install directory (which I
> > have been doing often due to katepart continually breaking).
> >
> > Patch below fixes it. I will commit this in 1-2 weeks if I don't hear
> > otherwise. (But please let me know if I can commit sooner!)
> >
> > Index: akonadi/cmake/modules/FindSoprano.cmake
>
> If Soprano wasn't found, we're already checking if we're currently building
> kdesupport or just kdesupport/akonadi.
>
> The code is in akonadi/CMakeLists.txt :
>
> #### Soprano ####
> find_package(Soprano)
>
> # There are different cases :
> # 1/ Soprano is already installed on the system, we use it
> # 2/ Soprano is not installed but we're actually building kdesupport
> # 3/ Soprano wasn't found and we're not building kdesupport.
> # Only the 3rd case should display an error.
>
> if (NOT Soprano_FOUND)
>   if("${KDESupport_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
>     message(STATUS "Soprano is needed to build Akonadi but is not installed
> yet. Let's use the source and build dirs instead.")
>     set (SOPRANO_INCLUDE_DIR ${KDESupport_SOURCE_DIR}/soprano)
>     set (SOPRANO_LIBRARIES
> ${KDESupport_BINARY_DIR}/soprano/soprano/libsoprano.so) # Doesn't exist
> yet. set (Soprano_FOUND TRUE)

The line above is bad, since you are hardcoding the lib*.so naming scheme, 
which is not true for all platforms KDE supports.
But, easy fix, in this branch you are inside kdesupport, so instead of using 
filenames for linking, you can just use the names of the targets to link 
against (i.e. the names used for add_library()). 

Can you please change that ?

Alex


More information about the Kde-buildsystem mailing list