summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalNinjaGenerator.h
diff options
context:
space:
mode:
authorNicolas Despres <nicolas.despres@gmail.com>2016-05-13 23:18:20 (GMT)
committerBrad King <brad.king@kitware.com>2016-05-17 13:34:12 (GMT)
commit8a862a4d4b852c9f61ae4ed7fc46042b00a83123 (patch)
tree591906a0300c9619e57394105455d93126dab939 /Source/cmGlobalNinjaGenerator.h
parent038e7716e58e4cf79bda6ba72b92814a14978a8f (diff)
downloadCMake-8a862a4d4b852c9f61ae4ed7fc46042b00a83123.zip
CMake-8a862a4d4b852c9f61ae4ed7fc46042b00a83123.tar.gz
CMake-8a862a4d4b852c9f61ae4ed7fc46042b00a83123.tar.bz2
Ninja: Support embedding of CMake as subninja project
Add a `CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable. When it is set, CMake generates a `build.ninja` file suitable for embedding into another ninja project potentially generated by an alien generator.
Diffstat (limited to 'Source/cmGlobalNinjaGenerator.h')
-rw-r--r--Source/cmGlobalNinjaGenerator.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/cmGlobalNinjaGenerator.h b/Source/cmGlobalNinjaGenerator.h
index 15c0f34..6d9bfe8 100644
--- a/Source/cmGlobalNinjaGenerator.h
+++ b/Source/cmGlobalNinjaGenerator.h
@@ -315,6 +315,8 @@ public:
bool SupportsConsolePool() const;
std::string NinjaOutputPath(std::string const& path);
+ bool HasOutputPathPrefix() const { return !this->OutputPathPrefix.empty(); }
+ void StripNinjaOutputPathPrefixAsSuffix(std::string& path);
protected:
virtual void Generate();
@@ -401,6 +403,9 @@ private:
std::string NinjaVersion;
private:
+ void InitOutputPathPrefix();
+
+ std::string OutputPathPrefix;
std::string TargetAll;
std::string CMakeCacheFile;
};