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 <[email protected]> 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 <[email protected] > > <mailto:[email protected]>> 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
_______________________________________________ Nepomuk mailing list [email protected] https://mail.kde.org/mailman/listinfo/nepomuk
