Hi David

Yes, this is correct. And before you even get the idea: Never add the 
CMake-generated files (Makefile, CMakeCache.txt, etc.) to your version control 
system. They are not relocatable.

Michael

On 8. Sep, 2010, at 17:23 , David Aldrich wrote:

> 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
> 

--
There is always a well-known solution to every human problem -- neat, 
plausible, and wrong.
H. L. Mencken

Attachment: PGP.sig
Description: This is a digitally signed message part

_______________________________________________
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