[cmake-developers] Strange VS output file field

David Cole david.cole at kitware.com
Thu Aug 18 13:30:51 EDT 2011


On Tue, Aug 9, 2011 at 6:19 PM, James Bigler <jamesbigler at gmail.com> wrote:
> I recently switched to 2.8.5 and noticed something strange.
>
> I have several files that build into a Debug|Release agnostic place.  If I
> build it in one then switch to the other the files don't regenerate, because
> the build rule has been satisfied.
>
> With CMake 2.8.5 and VS 2010 I noticed something strange.  It wanted to
> build the files in both debug and release.  I then looked at the vsproj
> files and I noticed this:
>
>       <Outputs
> Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">C:\code\build-32-vs10-c40\lib\myfile_build.txt;%(Outputs)</Outputs>
>
> %(Outputs)???  Why is that in there.  If I manually remove $(Outputs) then
> it stops rebuilding my files.
>
> James
>
>
> _______________________________________________
> cmake-developers mailing list
> cmake-developers at cmake.org
> http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
>
>

The "%(Attribute)" notation means inherit the value from the same
element in my "parent". So for a file's attribute, it typically
inherits the value from the same named attribute in the project.

In this case, I'm not entirely sure why it's there, but it's been
there right from the very first commit adding the VS 10 generator to
CMake: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7491f529

I can't think of the reason why it might be needed off the top of my
head, so ... I'll try to remove it and see if all the tests pass. If
they do, I suppose it should be ok to remove it. Does anybody else
reading this thread have any other information?

Thanks,
David



More information about the cmake-developers mailing list