Subject: Re: [boost] "I want everything" should build "out of the box" (on Windows)
From: Vladimir Prus (vladimir_at_[hidden])
Date: 2009-07-29 14:51:47


Doug Gregor wrote:

> On Wed, Jul 29, 2009 at 10:00 AM, Vladimir
> Prus<vladimir_at_[hidden]> wrote:
>> Doug Gregor wrote:
>>
>>> On Wed, Jul 29, 2009 at 5:14 AM, Vladimir Prus<vladimir_at_[hidden]> wrote:
>>>> I personally find that putting configuration details into a file is superior
>>>> approach compared to zillion of options or environment variables. Say, if you
>>>> build a project with automake with zillion of configure options, those options
>>>> are put directly in Makefile, in your build dir, so if you remove your build tree,
>>>> you have to re-figure those options next time you build.
>>>>
>>>> In fact, this is a flaw shared by CMake -- if you configure some project as:
>>>>
>>>> cmake -Dfoo=blah -DBOOST_ROOT=whatever ../src
>>>>
>>>> it helpfully puts those options into the cache file. Unfortunately, when the
>>>> configure magic confuses itself (which does happen), your only solution is to
>>>> remove the cache, and then you need to recall and pass the same options again.
>>>
>>> FWIW, CMake has an option to provide an initial cache file (using -C
>>> cache-filename). So, you can place those configuration details into
>>> your own initial cache file, and ask CMake to start with that
>>> configuration (configuring whatever else it needs) if you need to
>>> re-configure your tree.
>>
>> Does initial cache use the same syntax as the ordinary cache,
>
> Yes.

Hmm, does not work for me:

        $ cp CMakeCache.txt initial
        $ cmake -C initial .
        loading initial cache file initial
        CMake Error: Error in cmake code at
        /tmp/x/initial:17:
        Parse error. Expected a command name, got unquoted argument with text "//Path".
        CMake Error: Error processing file:initial
        -- Configuring incomplete, errors occurred!
        $ cmake --version
        cmake version 2.6-patch 2

Am I doing something wrong?

>> and can be edited
>> using the GUI?
>
> No, but that would be a big improvement.

OK. Regardless of the reason for the above error -- which might well be my error --
I think I now understand the attractive parts of CMake configuration framework, and
will make use of that understanding.

Thanks,
Volodya