[Nepomuk] CMake for Nepomuk in 5.0

Sebastian Trüg trueg at kde.org
Sat Sep 3 10:46:47 UTC 2011


great, thanks a lot for taking care of this. :)

On 09/03/2011 11:25 AM, Artem Serebriyskiy wrote:
> 
> Yes. That is what I am currently trying to implement.
> ( In first draft I use UseNepomuk<Name>.cmake, but
> *Config[Version].cmake is much more flexible as it allows to write both 
> find_package(Nepomuk COMPONENTS <n1> <n2> ) and
> find_package(NepomukCore), thank you for that idea :)  )
> 
> Is it ok with everyone, I will stop on this variant.
> 
> On Sat, Sep 3, 2011 at 12:46 PM, Sebastian Trüg <trueg at kde.org
> <mailto:trueg at kde.org>> wrote:
> 
>     Hi Artem,
> 
>     did I understand correctly: having the *Config[Version].cmake files but
>     use them in a dedicated FindNepomuk.cmake which supports components?
>     That sounds like a powerful solution to me...
> 
>     Cheers,
>     Sebastian
> 
>     On 09/02/2011 11:28 PM, Artem Serebriyskiy wrote:
>     > Well, as we now have several repositories and libraries, it should be
>     > NepomuCoreConfig.cmake
>     > NepomukUiConfig.cmake
>     > NepomukSomeOtherModule.cmake and so on
>     >
>     > and this may result in code like
>     > find_package(NepomukUI) // Implies finding NepomukCore
>     > find_package(
>     > NepomukSomeOtherModule) // Implies finding NepomukCore, but doesn't
>     > imply finding NepomukUI, so we need previous line
>     >
>     > Good things is that we can request specific versions for every
>     library(
>     > aka module) and so on. Bad things, as for me, are that when number of
>     > modules more then 3, the code looks dirty - I personally would prefer
>     > one find_package with COMPONENTS in such situation rather then 4 lines
>     > with find_package..
>     >
>     > Anyway, currently there are only 2 main modules( aka libraries) so
>     it is
>     > not the case.
>     >
>     > CMake scripting is no problem for me, so I think we can/should choose
>     > variant that best fits our needs and offer good interface for the
>     > programmes using Nepomuk,  and I will implement it( if necessary, of
>     > course).
>     >
>     > P.S. If you are concerned about internals of the script, then current
>     > draft implementation just loads Nepomuk<ModuleName>Config.cmake for
>     > every requested component by itself. The question is mainly about
>     > interface for the Nepomuk-using programmers.
>     >
>     > P.P.S. Sorry, forget to send to mailing list.
>     >
>     >
>     >
>     > On Sat, Sep 3, 2011 at 12:56 AM, Sebastian Trüg <trueg at kde.org
>     <mailto:trueg at kde.org>
>     > <mailto:trueg at kde.org <mailto:trueg at kde.org>>> wrote:
>     >
>     >     How about just doing it with a NepomukConfig.cmake and a
>     >     NepomukConfigVersion.cmake. AFAIK that is the simplest
>     solution and does
>     >     not require any fancy script writing.
>     >     I am not sure if it is enough in all situations though...
>     >
>     >     Examples can be found in sdo, nepomukannotation, scribo, and
>     others, I
>     >     think Akonadi does it, too.
>     >
>     >     Cheers,
>     >     Sebastian
>     >
>     >     On 09/02/2011 10:24 PM, Artem Serebriyskiy wrote:
>     >     > Hi.
>     >     >
>     >     > I am  trying to provide a replacement for FIndNepomuk.cmake
>     that will
>     >     > work with new Nepomuk layout . And I have a question for desired
>     >     API of
>     >     > the script. In current draft all modules are treated as
>     components.
>     >     > Examples:
>     >     > 1. find_package(Nepomuk COMPONENTS core ui ) will try to
>     found all
>     >     > required components and will set general variables
>     NEPOMUK_FOUND,
>     >     > _LIBRARIES, _INCLUDE_DIRS and component-specific variables
>     >     > NEPOMUK_${COMPONENT}_FOUND, NEPOMUK_${COMPONENT}_LIBRARY,
>     >     _INCLUDE_DIRS
>     >     > for each component ( expands to NEPOMUK_CORE_LIBRARY,
>     >     > NEPOMUK_UI_LIBRARY) etc.
>     >     >
>     >     > 2. find_package(Nepomuk) will try to found all available modules
>     >     of the
>     >     > Nepomuk on the system and for every found module will set
>     variables
>     >     > mentioned above. Global ones are combination of all
>     >     component-specific,
>     >     > and NEPOMUK_FOUND is set to true if at least any package was
>     >     discovered.
>     >     >
>     >     > Downside of this solution is that we loose ability to
>     request version
>     >     > for component, so it will require to sync versions at least
>     >     between main
>     >     > modules.
>     >     >
>     >     > Is this acceptable ?
>     >     > Any comments and suggestions are welcome.
>     >     >
>     >     > --
>     >     > Sincerely yours,
>     >     > Artem Serebriyskiy
>     >
>     >
>     >
>     >
>     > --
>     > Sincerely yours,
>     > Artem Serebriyskiy
> 
> 
> 
> 
> -- 
> Sincerely yours,
> Artem Serebriyskiy


More information about the Nepomuk mailing list