• Fujii Hironori's avatar
    VS: Generate a custom command only in the least dependent target · f59c33a7
    Fujii Hironori authored
    If a custom command is assigned to multiple targets, generate the build
    rule only in the least-dependent `.vcxproj` file.  Otherwise MSBuild
    will run the command on the first build of a dependent target even if
    its dependencies already brought the command up to date (in order to
    populates its build log).
    
    Generate targets in least-to-most-dependent order, and assign a custom
    command to the least dependent target.
    
    Added cmLocalVisualStudio10Generator::GenerateTargetsDepthFirst to call
    cmVisualStudio10TargetGenerator::Generate in least-dependent order.
    
    Moved SourcesVisited from cmVisualStudio10TargetGenerator to
    cmLocalVisualStudio10Generator to avoid attaching a custom command to
    multiple targets among the local generator.
    
    Fixes: #16767
    f59c33a7
Name
Last commit
Last update
..
TargetNotInDir Loading commit data...
AppendNoOutput-result.txt Loading commit data...
AppendNoOutput-stderr.txt Loading commit data...
AppendNoOutput.cmake Loading commit data...
AppendNotOutput-result.txt Loading commit data...
AppendNotOutput-stderr.txt Loading commit data...
AppendNotOutput.cmake Loading commit data...
AssigningMultipleTargets.cmake Loading commit data...
BadArgument-result.txt Loading commit data...
BadArgument-stderr.txt Loading commit data...
BadArgument.cmake Loading commit data...
CMakeLists.txt Loading commit data...
NoArguments-result.txt Loading commit data...
NoArguments-stderr.txt Loading commit data...
NoArguments.cmake Loading commit data...
NoOutputOrTarget-result.txt Loading commit data...
NoOutputOrTarget-stderr.txt Loading commit data...
NoOutputOrTarget.cmake Loading commit data...
OutputAndTarget-result.txt Loading commit data...
OutputAndTarget-stderr.txt Loading commit data...
OutputAndTarget.cmake Loading commit data...
RemoveEmptyCommands-check.cmake Loading commit data...
RemoveEmptyCommands.cmake Loading commit data...
RunCMakeTest.cmake Loading commit data...
SourceByproducts-result.txt Loading commit data...
SourceByproducts-stderr.txt Loading commit data...
SourceByproducts.cmake Loading commit data...
SourceUsesTerminal-result.txt Loading commit data...
SourceUsesTerminal-stderr.txt Loading commit data...
SourceUsesTerminal.cmake Loading commit data...
TargetImported-result.txt Loading commit data...
TargetImported-stderr.txt Loading commit data...
TargetImported.cmake Loading commit data...
TargetNotInDir-result.txt Loading commit data...
TargetNotInDir-stderr.txt Loading commit data...
TargetNotInDir.cmake Loading commit data...
a.c Loading commit data...
generate-once.cmake Loading commit data...