Ben,
Thanks. I saw -C but misunderstood it. It does fit well. For user acceptance, 
the cache sytax would be preferable, but you can't have everything and I'm not 
about to set it up as an elaborate workaround.   The "include" solution I 
quoted obviously assumed regular cmake syntax as well.

Thanks again.
Eli


________________________________
From: cmake-boun...@cmake.org [cmake-boun...@cmake.org] On Behalf Of Ben Morgan 
[bmorgan.warw...@gmail.com]
Sent: Friday, June 22, 2012 8:32 AM
To: cmake@cmake.org
Subject: Re: [CMake] Text user configuration (features, flags) that is more 
persistent than cache?

Hi Eli,

On 21 June 2012 21:25, Ateljevich, Eli 
<e...@water.ca.gov<mailto:e...@water.ca.gov>> wrote:
Hi,
I was wondering if there is a best practice for providing a file for user 
configuration decisions (options, unique flags) that will be more persistent 
than the cache? I have a project where a dozen or two algorithmic decisions 
have to be made. I find that this is just enough that cache overwrites cause me 
fear. I could do this on the environment, I suppose, but most of my users 
prefer a small list of name-value pairs for decisions that are pretty stable 
for them.

I couldn’t find anything on this. The concept is alluded to by a 2001 email 
about INCLUDE by Bill Hoffman:
It could be used like this:

INCLUDE (${PROJECT_BINARY_DIR}/UserCacheSettings.txt OPTIONAL)

This would allow the user to pre-set values for the Cache file, but still
be able to delete the Cache file.

But I wasn’t sure about the mechanics of this. When would it have to be read to 
fulfill this role and what does “pre-set” really mean in light of that as far 
as precedence if there are duplicate entries? Wouldn’t everything that could be 
set have to be something that will also appear in CMakeCache.txt? I assume the 
format would be just like CMakeCache.txt? …which would be ideal.

Thanks,


Could you use an initial cache file - see the "-C <initial-cache>" command line 
option for CMake?

Apologies if you've already seen that, but it seems to fit what you're looking 
for. The format of the initial cache is CMake script rather than CMakeCache.txt,
but as it's just set(...) commands with the CACHE option it should be easy for 
users to write.

I'm not 100% sure what you need in terms of persistency and precedence, but 
variables set in an initial cache file will "take priority over the project's 
default values" according to the CMake manaul entry.

Cheers,

Ben.
--

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

Reply via email to