[CMake] 3rd party cmake files
Alexander Neundorf
a.neundorf-work at gmx.net
Tue Jun 6 17:12:24 EDT 2006
> -------- Original-Nachricht --------
> Datum: Mon, 05 Jun 2006 17:01:16 -0400
> Von: Brad King <brad.king at kitware.com>
> An: Jan Woetzel <jw at woetzelweb.de>
> Betreff: Re: [CMake] 3rd party cmake files
>
> Jan Woetzel wrote:
> > Brad King wrote:
> >
> >> If it has found this file then why does it need a find script to find
> >> QtDBUS since it has just found something from the package?
> >
> > > Brad,
> > I do not agree if multiple packages/find scripts come into play because
> > each client project has to take care of cmakes internal structure.
> >
> > We use FIND_PACKAGE with <Package>Config.cmake for our *major* packages
> > and are happy with some possibly "interactive" or "-D" <Package>_DIR
> > settings.
> >
> > However, our >70 additional "simple" find scripts do not belong to a
> > special package.
> > Just like the CMake/Modules scripts teh y look for some external
> > libs+headers.
> > They are used by many projects and canbe thought of as "installed",
> > belong to an independant cvs etc.
> >
> > To use these additional find scripts
> > - without "complicated" -D setting on cmake call
> > - wrapping shell script etc...
> > we need something as ugly as this:
> >
> > > # environment variable should contain our additional cmake find script
> > Modules
> > SET(CMAKE_MODULE_PATH $ENV{CMAKE_MODULE_PATH})
> > IF(NOT CMAKE_MODULE_PATH)
> > MESSAGE(FATAL_ERROR "FATAL ERROR: Please set shell variable
> > CMAKE_MODULE_PATH to our additional CMakeModules repository.")
> > ELSE(NOT CMAKE_MODULE_PATH)
> > # a user modules path is set
> > # check for at least one of our find scripts to be sure the path is no
> > crap.
> > FIND_FILE(BIAS_CMAKE_MODULE_PATH_OK FindBLAS.cmake ${CMAKE_MODULE_PATH}
> > DOC "testing CMAKE_MODULE_PATH")
> > IF (NOT BIAS_CMAKE_MODULE_PATH_OK)
> > MESSAGE(FATAL_ERROR "Your CMAKE_MODULE_PATH=${CMAKE_MODULE_PATH} is
> > invalid because FindBLAS.cmake not found. Please set shell variable
> > CMAKE_MODULE_PATH to your (cvs) CMakeModules repository.")
> > ENDIF (NOT BIAS_CMAKE_MODULE_PATH_OK)
> > ENDIF(NOT CMAKE_MODULE_PATH)
> > MARK_AS_ADVANCED(BIAS_CMAKE_MODULE_PATH_OK)
>
> Exactly. This is why I don't want the 3rd party files...users will have
> to set something like this.
>
> > Extending cmake would be much easier and more "open"
> > with an easy way to extend teh search path for FIND_PACKAGE.
>
> What we really need is a way to make FIND_PACKAGE find the
> QtDBUSConfig.cmake file and set QtDBUS_DIR more robustly. Then you
> would not need any FindQtDBUS.cmake file at all. It looks like this was
> overlooked in the recent FIND_* changes.
This means there are no standard locations where the FooConfig.cmake files are searched ?
That's basically the same problem, the file has to be installed in some place where it is found by cmake.
I think it doesn't really matter whether these are FindFoo.cmake or FooConfig.cmake or SomeMacro.cmake files.
Bye
Alex
--
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
More information about the CMake
mailing list