Doh :-) Thanks for pointing out what should perhaps have been obvious in retrospect. Cache variables are one of the more confusing areas of cmake.
-- Glenn On 10 October 2011 22:38, Bill Hoffman <bill.hoff...@kitware.com> wrote: > On 10/10/2011 3:52 PM, Robert Dailey wrote: > >> Yes, this works perfectly. >> >> It's a bit disappointing that cache variables are, for all intents and >> purposes, read-only in functions. The property approach is a bit more >> verbose but it functions! I think 'set' needs a new override >> specifically for cases like this. Something similar to "PARENT_SCOPE", >> but something like "CACHE_SCOPE", that forces CMake to first check for >> the existance of a cache variable with that name, and it would take >> precedence over any identically named variable in function scope. >> >> On another note, you'd think this would work too but it doesn't: >> >> set( project_count ${new_count} CACHE INTERNAL FORCE ) >> >> > This works: > > > set( project_count 0 CACHE INTERNAL "") > function( define_project ) > > math( EXPR count "${project_count}+1" ) > set( project_count ${count} CACHE INTERNAL "") > endfunction() > define_project() > message(${project_count}) > define_project() > message(${project_count}) > define_project() > message(${project_count}) > > It prints out > 1 > 2 > 3 > > -Bill > > -- > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/** > opensource/opensource.html<http://www.kitware.com/opensource/opensource.html> > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/**CMake_FAQ<http://www.cmake.org/Wiki/CMake_FAQ> > > Follow this link to subscribe/unsubscribe: > http://www.cmake.org/mailman/**listinfo/cmake<http://www.cmake.org/mailman/listinfo/cmake> >
-- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake