summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalNinjaGenerator.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-05-18 17:31:11 (GMT)
committerBrad King <brad.king@kitware.com>2015-05-18 19:01:06 (GMT)
commita390de65e09e3ebc496fc14d40848ea4940cc9b0 (patch)
treef8d2c58ba7b46117e408af8378cfd79a3e370f5f /Source/cmGlobalNinjaGenerator.h
parent00ccfff2bc06e640a185fb3d628ac36ea0b0fe9a (diff)
downloadCMake-a390de65e09e3ebc496fc14d40848ea4940cc9b0.zip
CMake-a390de65e09e3ebc496fc14d40848ea4940cc9b0.tar.gz
CMake-a390de65e09e3ebc496fc14d40848ea4940cc9b0.tar.bz2
Ninja: Generate separate compile and link rules for each target
Our <LANG>_COMPILER and <LANG>_<TARGET_TYPE>_LINKER rule generation has access to a specific cmTarget so the results may depend on it. Instead generate separate rules for each target using an encoded target name. In particular, this makes CTEST_USE_LAUNCHERS report proper target information.
Diffstat (limited to 'Source/cmGlobalNinjaGenerator.h')
-rw-r--r--Source/cmGlobalNinjaGenerator.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/Source/cmGlobalNinjaGenerator.h b/Source/cmGlobalNinjaGenerator.h
index 00dc237..444c3e2 100644
--- a/Source/cmGlobalNinjaGenerator.h
+++ b/Source/cmGlobalNinjaGenerator.h
@@ -61,6 +61,7 @@ public:
/// Write a divider in the given output stream @a os.
static void WriteDivider(std::ostream& os);
+ static std::string EncodeRuleName(std::string const& name);
static std::string EncodeIdent(const std::string &ident, std::ostream &vars);
static std::string EncodeLiteral(const std::string &lit);
std::string EncodePath(const std::string &path);
@@ -87,7 +88,8 @@ public:
const cmNinjaDeps& orderOnlyDeps,
const cmNinjaVars& variables,
const std::string& rspfile = std::string(),
- int cmdLineLimit = -1);
+ int cmdLineLimit = -1,
+ bool* usedResponseFile = 0);
/**
* Helper to write a build statement with the special 'phony' rule.