[CMake] What does `cross-platform' mean?

Eric NOULARD eric.noulard at gmail.com
Sun Nov 9 18:11:13 EST 2008


Le Sun, 09 Nov 2008 17:55:12 -0500,
Bill Hoffman <bill.hoffman at kitware.com> a écrit :
 
> 2. CMake needs a way to easily chain variables together so that you
> can clear stuff out if a dependent variable is changed by the user.
> So, if you have MY_PATH_TO_TOOL=/path/to/tool, and it changes to 
> /new/path/to/tool, then all the libraries that where found using 
> MY_PATH_TO_TOOL should be reset and rediscovered.  Currently, this is 
> done ad-hoc in CMake, for example Clinton just added something to the 
> FindQt4 that will reset all the qt variables if the qmake one is 
> changed.   However, this issue has come up more than once and needs a 
> more consistent API for dealing with the issue.

That's a very good idea.
May be adding a DEPENDS option to SET would be nice.
SET(MYLIB "${MY_PATH_TO_TOOL}/whatever/lib" DEPENDS MY_PATH_TO_TOOL)

then MYLIB is explicitely linked with MY_PATH_TO_TOOL such
that if MY_PATH_TO_TOOL is reset or change CMake knows MYLIB
should be deleted from cache or unset.

Note that somehow "direct" dependency like that may even be
added by CMake automatically since "${MY_PATH_TO_TOOL}/whatever/lib"
does contains a ${MY_PATH_TO_TOOL} expansion.


-- 
Erk


More information about the CMake mailing list