cmLinkLineComputer: Move ComputeLinkLibs from cmLocalGenerator

Add a cmOutputConverter to the cmLinkLineComputer and factory methods to
facilitate shell escapes.

Add state to the cmLinkLineComputer to record whether outputting for
response files or for watcom, to satisfy the cmOutputConverter API.
These are constant for the lifetime of the cmLinkLineComputer, even when
its functionality is extended in the future.  This also keeps the
signatures of cmLinkLineComputer relatively simple.

Pass the cmComputeLinkInformation as a method parameter so that
cmLinkLineComputer is free from target-specific state.  An instance
should be usable for all targets in a directory.
This commit is contained in:
Stephen Kelly
2016-10-08 12:21:38 +02:00
parent 0152a01f11
commit 0c97806325
19 changed files with 113 additions and 49 deletions

View File

@@ -5,8 +5,9 @@
#include "cmGlobalNinjaGenerator.h"
cmNinjaLinkLineComputer::cmNinjaLinkLineComputer(
cmState::Directory stateDir, cmGlobalNinjaGenerator const* gg)
: cmLinkLineComputer(stateDir)
cmOutputConverter* outputConverter, cmState::Directory stateDir,
cmGlobalNinjaGenerator const* gg)
: cmLinkLineComputer(outputConverter, stateDir)
, GG(gg)
{
}