diff options
author | Brad King <brad.king@kitware.com> | 2016-09-22 14:34:45 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-09-22 17:53:10 (GMT) |
commit | 59aae29214b727944978b8e545a552f96c88b883 (patch) | |
tree | ebfe620e3030e712a4839e4653516b3a74dee156 /Source/cmNinjaTargetGenerator.h | |
parent | 39ebfc79e614dc395d5ace2ad5818b3ba75ca478 (diff) | |
download | CMake-59aae29214b727944978b8e545a552f96c88b883.zip CMake-59aae29214b727944978b8e545a552f96c88b883.tar.gz CMake-59aae29214b727944978b8e545a552f96c88b883.tar.bz2 |
Ninja: Add dyndep rules for Fortran module dependencies
Teach the Ninja generator to add dyndep rules and bindings as described
in the design comment in `Source/cmGlobalNinjaGenerator.cxx`.
Diffstat (limited to 'Source/cmNinjaTargetGenerator.h')
-rw-r--r-- | Source/cmNinjaTargetGenerator.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Source/cmNinjaTargetGenerator.h b/Source/cmNinjaTargetGenerator.h index e6816db..f5e6511 100644 --- a/Source/cmNinjaTargetGenerator.h +++ b/Source/cmNinjaTargetGenerator.h @@ -72,6 +72,8 @@ protected: std::string LanguageCompilerRule(const std::string& lang) const; std::string LanguagePreprocessRule(std::string const& lang) const; bool NeedExplicitPreprocessing(std::string const& lang) const; + std::string LanguageDyndepRule(std::string const& lang) const; + bool NeedDyndep(std::string const& lang) const; std::string OrderDependsTargetForTarget(); @@ -112,6 +114,12 @@ protected: /// @return the preprocessed source file path for the given @a source. std::string GetPreprocessedFilePath(cmSourceFile const* source) const; + /// @return the dyndep file path for this target. + std::string GetDyndepFilePath(std::string const& lang) const; + + /// @return the target dependency scanner info file path + std::string GetTargetDependInfoPath(std::string const& lang) const; + /// @return the file path where the target named @a name is generated. std::string GetTargetFilePath(const std::string& name) const; @@ -123,6 +131,7 @@ protected: void WriteObjectBuildStatements(); void WriteObjectBuildStatement(cmSourceFile const* source, bool writeOrderDependsTargetForTarget); + void WriteTargetDependInfo(std::string const& lang); void ExportObjectCompileCommand( std::string const& language, std::string const& sourceFileName, @@ -166,6 +175,7 @@ private: cmLocalNinjaGenerator* LocalGenerator; /// List of object files for this target. cmNinjaDeps Objects; + cmNinjaDeps DDIFiles; // TODO: Make per-language. std::vector<cmCustomCommand const*> CustomCommands; cmNinjaDeps ExtraFiles; }; |