summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalNinjaGenerator.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-09-22 14:19:44 (GMT)
committerBrad King <brad.king@kitware.com>2016-09-22 17:52:57 (GMT)
commit0f331d7893bee523e61109661d4e51566f41c350 (patch)
treecdb254ed3512462c36e14db3b8fe2cbe21e501d9 /Source/cmGlobalNinjaGenerator.h
parentd3e0b64b1432700a71a10ddf06084f7bb8500694 (diff)
downloadCMake-0f331d7893bee523e61109661d4e51566f41c350.zip
CMake-0f331d7893bee523e61109661d4e51566f41c350.tar.gz
CMake-0f331d7893bee523e61109661d4e51566f41c350.tar.bz2
Ninja: Add internal tool to produce a ninja dyndep file for Fortran
Create an internal `cmake -E cmake_ninja_dyndep` tool to read the "ddi" files generated by `cmake -E cmake_ninja_depends` from all sources in a target and generate a ninja dyndep file that tells Ninja about Fortran module dependencies within the target and on target dependencies.
Diffstat (limited to 'Source/cmGlobalNinjaGenerator.h')
-rw-r--r--Source/cmGlobalNinjaGenerator.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/Source/cmGlobalNinjaGenerator.h b/Source/cmGlobalNinjaGenerator.h
index 0183952..6fb93e4 100644
--- a/Source/cmGlobalNinjaGenerator.h
+++ b/Source/cmGlobalNinjaGenerator.h
@@ -347,6 +347,15 @@ public:
bool HasOutputPathPrefix() const { return !this->OutputPathPrefix.empty(); }
void StripNinjaOutputPathPrefixAsSuffix(std::string& path);
+ bool WriteDyndepFile(std::string const& dir_top_src,
+ std::string const& dir_top_bld,
+ std::string const& dir_cur_src,
+ std::string const& dir_cur_bld,
+ std::string const& arg_dd,
+ std::vector<std::string> const& arg_ddis,
+ std::string const& module_dir,
+ std::vector<std::string> const& linked_target_dirs);
+
protected:
void Generate() CM_OVERRIDE;