[CMake] cmake integration

Brandon J. Van Every bvanevery at gmail.com
Fri Feb 9 19:01:49 EST 2007


Pavel Volkovitskiy wrote:
> Brandon J. Van Every wrote:
>>
>> There's nothing stopping anyone from writing code like
>>
>> IF(KDE)
>>  FIND_LIBRARY(ASPELL_PATH ...)
>>  blah
>> ELSE(KDE)
>>  blah
>> ENDIF(KDE)
>>
>> but nobody's going to do that without a motive.  It sounds like the 
>> real problem here is that conary is improperly designed.
>>
> it's strange to find something if you are not going to use it
> It takes time, resources, but yeah it cheap :)

You're assuming that "you" means you.  "You," generally speaking, 
probably means someone else.  You want to build with KDE, other people 
don't.  You want options X Y Z P D Q, other people may not.  Making all 
the IF(X) statements for the exponential number of combinations of 
options that people may or may not want, can get really boring really 
quickly.  As well as being error prone when modified.  The performance 
of a Find* is not much of an issue here.  The real issue is 
distinguishing actual build requirements.

>
> So conary looks on config.log (and in CMakeCache.txt in my tree too) 
> for founded paths
> then it checks if that path belongs to some installed packages and if 
> conary found it,
> it tells that this path (package) _probably_ a build requirement. And 
> it recipe writer job to check this.
> This helps _a_lot_ to get correct build requirements
>
> But i want to make conary as smart as possible :) so if this possible 
> to get founded paths,
> which is really used during build - i really want to know it :)
>

I did some RTFM.  I don't see any standard, supported way to do this.
I poked around in the GetVariablesFromCMakeDashboards listing.
http://www.cmake.org/Wiki/CMake_Useful_Variables/Get_Variables_From_CMake_Dashboards
Nothing jumps out at me; I don't see any "list of libraries we are 
actually building with."
You could look through the CMake source code.
You could make a feature request in the CMake bug tracker.  
http://www.cmake.org/Bug


Cheers,
Brandon Van Every





More information about the CMake mailing list