summaryrefslogtreecommitdiffstats
path: root/Source/cmNinjaTargetGenerator.h
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2019-05-08 05:01:59 (GMT)
committerBrad King <brad.king@kitware.com>2019-05-16 18:41:05 (GMT)
commit7d7f31161d65d8b1f460eaf23e1b092bdaf7c238 (patch)
treec8016fd8334a688e3d83af0049e1d2e73e7f104a /Source/cmNinjaTargetGenerator.h
parentd688c4c19d0ec6d639ba7047e786bdacb7a4b45b (diff)
downloadCMake-7d7f31161d65d8b1f460eaf23e1b092bdaf7c238.zip
CMake-7d7f31161d65d8b1f460eaf23e1b092bdaf7c238.tar.gz
CMake-7d7f31161d65d8b1f460eaf23e1b092bdaf7c238.tar.bz2
Ninja: add support for Swift's output-file-map.json
Add an emitter for the Swift's output-map-file.json to emit the requisite support files for Swift compilation. This additionally prevents the build rules for the object file emission as well to properly support the Swift build semantics.
Diffstat (limited to 'Source/cmNinjaTargetGenerator.h')
-rw-r--r--Source/cmNinjaTargetGenerator.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/Source/cmNinjaTargetGenerator.h b/Source/cmNinjaTargetGenerator.h
index 235c60c..3055e18 100644
--- a/Source/cmNinjaTargetGenerator.h
+++ b/Source/cmNinjaTargetGenerator.h
@@ -5,6 +5,8 @@
#include "cmConfigure.h" // IWYU pragma: keep
+#include "cm_jsoncpp_value.h"
+
#include "cmCommonTargetGenerator.h"
#include "cmGlobalNinjaGenerator.h"
#include "cmNinjaTypes.h"
@@ -128,6 +130,8 @@ protected:
void WriteObjectBuildStatement(cmSourceFile const* source);
void WriteTargetDependInfo(std::string const& lang);
+ void EmitSwiftDependencyInfo(cmSourceFile const* source);
+
void ExportObjectCompileCommand(
std::string const& language, std::string const& sourceFileName,
std::string const& objectDir, std::string const& objectFileName,
@@ -171,7 +175,10 @@ private:
cmLocalNinjaGenerator* LocalGenerator;
/// List of object files for this target.
cmNinjaDeps Objects;
+ // Fortran Support
std::map<std::string, cmNinjaDeps> DDIFiles;
+ // Swift Support
+ Json::Value SwiftOutputMap;
std::vector<cmCustomCommand const*> CustomCommands;
cmNinjaDeps ExtraFiles;
};