[CMake] MSBuild and automatic project file regenation

Bill Hoffman bill.hoffman at kitware.com
Fri Jan 13 09:42:54 EST 2012


On 1/13/2012 9:10 AM, Michael Hertling wrote:

> With CMake 2.8.7 and VS 2008, I can report the following findings:
>
> (1) Starting out from within an empty build directory: "cmake .."
>      followed by "cmake --build ." configures/builds as expected.
> (2) Tweaking CMakeLists.txt file only and leaving sources alone.
> (3) "cmake --build ." rebuilds the ZERO_CHECK target and, thus,
>      updates the project file to reflect the changes from (2).
>      However, the corresponding target is not rebuilt and,
>      thus, does not reflect the changes from (2).
> (4) A further "cmake --build ." does *nothing* - definitely.
> (5) To get the concerned target rebuilt, I need to apply
>      David's hint, i.e. "cmake .&&  cmake --build .", or
>      clean first, i.e. "cmake --build . --clean-first".

Can you provide an example and how to reproduce this?

I find it hard to believe that

cmake --build .
cmake --build .

will not build everything.

I get that the ZERO_TARGET does not get things to reload, but I don't 
see how the second build would not get things up to date.  It has 
nothing to do with the project files depending on the targets.  I assume 
something really changed and there really needs to be a rebuild?  What 
type of thing are you changing in the CMakeLists.txt?

-Bill


More information about the CMake mailing list