Hi Michael

Thanks for your answers.

One other thing was worrying me. Currently, if a user changes our manually 
written makefile and checks it into svn, other users can do an svn update and 
then invoke make to construct a new build. 

If we move to cmake, users would modify and commit CMakeLists.txt. I was 
worried that they would then need to run cmake followed by make. They might 
forget to do both. But it seems that 'make' compares the timestamp of the 
generated makefile against that of CMakeLists.txt and rebuilds the makefile if 
it is older.  Therefore, the developer would not need to run cmake, just 
'make'. Am I correct?

I guess the only new action in the workflow would be that a complete cmake 
command must be invoked on a freshly checked out working copy, if the build 
tree is in that working copy.  Am I correct?

Thanks

David

> -----Original Message-----
> From: Michael Wild [mailto:them...@gmail.com]
> Sent: 08 September 2010 15:56
> To: David Aldrich
> Cc: CMake@cmake.org
> Subject: Re: [CMake] Newbie questions: verbosity and compiler invocation
> 
> 
> On 8. Sep, 2010, at 16:33 , David Aldrich wrote:
> 
> > Hi
> >
> > I am experimenting with using CMake to replace our manually written gnu
> makefiles on Linux. I have a couple of questions:
> >
> > 1) VERBOSITY
> >
> > I would like to see the compiler command on the console when running
> make. I know that one can run:
> >
> > make VERBOSE=1
> >
> > but that displays a lot of detail, for example:
> >
> > make[1]: Entering directory ...
> >
> > Is there a way that I reduce the commentary to just show the compiler
> commands? For example:
> >
> > /usr/bin/c++     -o CMakeFiles/Kernel.dir/ErrorHandler.cpp.o -c
> /<mypath>/Kernel/ErrorHandler.cpp
> 
> AFAIK there's no way to do that (apart from writing a wrapper script which
> echoes the command to stdout and then invokes it).
> 
> >
> > 2) COMPILER
> >
> > As shown above, cmake is invoking:
> >
> > /usr/bin/c++
> >
> > I don't know what this tool is.  How can I specify to use /usr/bin/g++ ?
> >
> > Best regards
> >
> > David
> 
> The first time you invoke CMake, do it like this:
> 
> CC=/usr/bin/gcc CXX=/usr/bin/g++ cmake /path/to/source
> 
> Alternatively, you can pass -DCMAKE_C_COMPILER=/usr/bin/gcc to the cmake
> program (similarly CMAKE_CXX_COMPILER for the c++ compiler), but that can
> have some nasty side-effects (e.g deleting and rebuilding the whole cache
> if it already exists).
> 
> Usually, on Linux systems, /usr/bin/c++ is just another name for
> /usr/bin/g++. It is traditional to call the default C++ compiler
> /usr/bin/c++, such that hand-crafted Makefiles don't have to guess a name.
> Similarly, /usr/bin/cc is the default C compiler.
> 
> Hope this clears things up a bit for you
> 
> Michael
> 
> --
> There is always a well-known solution to every human problem -- neat,
> plausible, and wrong.
> H. L. Mencken

_______________________________________________
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