[CMake] Multiple generators on the same library

Alan W. Irwin irwin at beluga.phys.uvic.ca
Thu Apr 12 23:59:22 EDT 2007


On 2007-04-12 22:12-0400 Bill Hoffman wrote:

> Alan W. Irwin wrote:
>>>> CMake is a great program, once you get to grips with it, more examples
>>>> for the documentation would make that much easier.
>> 
>>> however
>>> http://www.cmake.org/HTML/RunningCMake.html
>> 
>> The in-source and out-of-source build are documented there, yet that
>> documentation is going to lead a lot of users astray since it is not
>> mentioned there that if a CMakeCache.txt file is in the source tree (say
>> from a previous in-source build) the out-of-source build won't work.
>> 
>> I hope that "feature" is scheduled for removal the next time (2.6?) the
>> CMake developers are willing to accept a backwards incompatible change 
>> since
>> so many stumble over that "feature" despite the FAQ
>> (http://www.cmake.org/Wiki/CMake_FAQ#I_run_an_out-of-source_build_but_CMake_generates_in-source_anyway._Why.3F) 
>> entry warning users about it.
> The "feature" is not scheduled for removal.   It is a matter of semantics.
>
> What should this do:
>
> cmake /some/path
>
> If /some/path is not a build tree then the above will create a build tree in 
> the current directory.
> However if /some/path is a build tree, then cmake will be re-run on that 
> build tree.

The two separate meanings of /some/path cause some nasty confusion, and I
have never seen much utility in being able to specify an old build-tree
directory this way since you can always change directory to wherever you
want to do your build.

But that is just my opinion, of course, and it sounds like you feel the
feature of being able to specify an old build tree is worth the ambiguity.

> cmake -H/path/to/Source -B/path/to/binary

Thanks for pointing out this unambiguous alternative.

Alan

__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________


More information about the CMake mailing list