[CMake] Curious build output
James Bigler
jamesbigler at gmail.com
Wed Oct 5 14:49:39 EDT 2011
What is this extra chatty output from? I never remember seeing it in VS
2008, but I see it in VS 2010.
>------ Build started: Project: copy_scripts, Configuration: Release x64
------
1>Build started 10/5/2011 12:38:07 PM.
1>InitializeBuildStatus:
1> Creating "x64\Release\copy_scripts\copy_scripts.unsuccessfulbuild"
because "AlwaysCreate" was specified.
1>FinalizeBuildStatus:
1> Deleting file "x64\Release\copy_scripts\copy_scripts.unsuccessfulbuild".
1> Touching "x64\Release\copy_scripts\copy_scripts.lastbuildstate".
1>
1>Build succeeded.
3>------ Build started: Project: ALL_BUILD, Configuration: Release x64
------
3>Build started 10/5/2011 12:38:08 PM.
3>InitializeBuildStatus:
3> Creating "x64\Release\ALL_BUILD\ALL_BUILD.unsuccessfulbuild" because
"AlwaysCreate" was specified.
3>CustomBuild:
3> Build all projects
3>FinalizeBuildStatus:
3> Deleting file "x64\Release\ALL_BUILD\ALL_BUILD.unsuccessfulbuild".
3> Touching "x64\Release\ALL_BUILD\ALL_BUILD.lastbuildstate".
3>
3>Build succeeded.
I'm using VS 2010 and CMake 2.8.6 (2.8.5 also did this).
When I click "build solution" it always seems to run this, as if VS thinks
that the dependencies aren't met and decides to build it.
Hmm... I wonder if this is related to the bug where we removed the
%(Outputs) from the Outputs field.
C:/code/rtsdk/rtmain/build-64-vs10-c40/tests/Regression/scripts/CMakeFiles/copy_scripts.rule;C:\code\rtsdk\rtmain\build-64-vs10-c40\bin\correctness.rb;C:\code\rtsdk\rtmain\build-64-vs10-c40\bin\performance.rb;C:\code\rtsdk\rtmain\build-64-vs10-c40\bin\run_tests.rb;C:\code\rtsdk\rtmain\build-64-vs10-c40\bin\test_cases.rb;%(AdditionalInputs)
I removed the $(AdditionalInputs), and that didn't seem to make a
difference.
One thing that is curious is that I have this for the Outputs field, but
that doesn't exist anywhere:
C:\code\rtsdk\rtmain\build-64-vs10-c40\tests\Regression\scripts\CMakeFiles\copy_scripts
How is it that we have a build rule that says it generates a particular
output, but the output isn't generated by the rule.
This is what I used to create this target:
foreach( script ${scripts} )
set( src "${CMAKE_CURRENT_SOURCE_DIR}/${script}" )
set( dest "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${script}" )
list( APPEND dest_files "${dest}" )
add_custom_command(
OUTPUT "${dest}"
COMMAND ${CMAKE_COMMAND} -E copy "${src}" "${dest}"
MAIN_DEPENDENCY "${src}"
COMMENT "Copying ${src} to ${dest}"
VERBATIM
)
endforeach()
add_custom_target( copy_scripts
ALL
DEPENDS ${dest_files}
)
Note that I have the same problem with the ALL_BUILD target.
James
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20111005/94d5a8d1/attachment.htm>
More information about the CMake
mailing list