summaryrefslogtreecommitdiffstats
path: root/Source/cmFortranParser.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2018-04-19 13:21:58 (GMT)
committerBrad King <brad.king@kitware.com>2018-04-20 14:57:31 (GMT)
commit402735314ec7fe48ec21e5f4c5b19b6f17682c54 (patch)
tree6ad7b1ccfa99d27779cabaa23095bded497a6cfd /Source/cmFortranParser.h
parent62538b2c4c70eeef52886092e24c97a9a7699a00 (diff)
downloadCMake-402735314ec7fe48ec21e5f4c5b19b6f17682c54.zip
CMake-402735314ec7fe48ec21e5f4c5b19b6f17682c54.tar.gz
CMake-402735314ec7fe48ec21e5f4c5b19b6f17682c54.tar.bz2
Fortran: Add support for submodule dependencies
Since commit v3.7.0-rc1~73^2~1 (Fortran: Add support for submodule syntax in dependency scanning, 2016-09-05) we support parsing Fortran sources that use submodule syntax, but it left addition of `.smod` dependencies to future work. Add it now. The syntax submodule (module_name) submodule_name means the current source requires `module_name.mod` and provides `module_name@submodule_name.smod`. The syntax submodule (module_name:submodule_name) nested_submodule_name means the current source requires `module_name@submodule_name.smod` provides `module_name@nested_submodule_name.smod`. Fixes: #17017
Diffstat (limited to 'Source/cmFortranParser.h')
-rw-r--r--Source/cmFortranParser.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/Source/cmFortranParser.h b/Source/cmFortranParser.h
index 5a0bb09..efcd100 100644
--- a/Source/cmFortranParser.h
+++ b/Source/cmFortranParser.h
@@ -45,6 +45,13 @@ void cmFortranParser_RuleLineDirective(cmFortranParser* parser,
void cmFortranParser_RuleInclude(cmFortranParser* parser, const char* name);
void cmFortranParser_RuleModule(cmFortranParser* parser,
const char* module_name);
+void cmFortranParser_RuleSubmodule(cmFortranParser* parser,
+ const char* module_name,
+ const char* submodule_name);
+void cmFortranParser_RuleSubmoduleNested(cmFortranParser* parser,
+ const char* module_name,
+ const char* submodule_name,
+ const char* nested_submodule_name);
void cmFortranParser_RuleDefine(cmFortranParser* parser, const char* name);
void cmFortranParser_RuleUndef(cmFortranParser* parser, const char* name);
void cmFortranParser_RuleIfdef(cmFortranParser* parser, const char* name);