diff options
author | Brad King <brad.king@kitware.com> | 2005-03-02 14:02:36 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2005-03-02 14:02:36 (GMT) |
commit | ba6f07b10c5dcf238d50953e203e769ee87f1856 (patch) | |
tree | 9cc9c0c551bd02a306492c4acbc9d4c7ec3971c2 /Source | |
parent | 749b80c7ed4a27c33917ea1613b1bfc4d8570fbf (diff) | |
download | CMake-ba6f07b10c5dcf238d50953e203e769ee87f1856.zip CMake-ba6f07b10c5dcf238d50953e203e769ee87f1856.tar.gz CMake-ba6f07b10c5dcf238d50953e203e769ee87f1856.tar.bz2 |
BUG: We need to test the compiler for the case of the mod file names. For now this is a temporary hack to use upper case on SGI and lower case on Sun.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmDependsFortran.cxx | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Source/cmDependsFortran.cxx b/Source/cmDependsFortran.cxx index 9dd5310..e3c2a2e 100644 --- a/Source/cmDependsFortran.cxx +++ b/Source/cmDependsFortran.cxx @@ -23,6 +23,10 @@ #include <assert.h> #include <stack> +// TODO: Test compiler for the case of the mod file. Some always +// use lower case and some always use upper case. I do not know if any +// use the case from the source code. + //---------------------------------------------------------------------------- // Parser methods not included in generated interface. @@ -139,7 +143,12 @@ bool cmDependsFortran::WriteDependencies(std::ostream& os) // Require only modules not provided in the same source. if(parser.Provides.find(*i) == parser.Provides.end()) { + // Temporary hack for Fortran: choose case depending on platform +#if defined(__sgi) + std::string m = cmSystemTools::UpperCase(*i); +#else std::string m = cmSystemTools::LowerCase(*i); +#endif os << m_TargetFile.c_str() << ": " << m.c_str() << ".mod.stamp" << std::endl; os << m_TargetFile.c_str() << ".requires: " << i->c_str() << ".mod.proxy" @@ -173,7 +182,12 @@ bool cmDependsFortran::WriteDependencies(std::ostream& os) for(std::set<cmStdString>::const_iterator i = parser.Provides.begin(); i != parser.Provides.end(); ++i) { + // Temporary hack for Fortran: choose case depending on platform +#if defined(__sgi) + std::string m = cmSystemTools::UpperCase(*i); +#else std::string m = cmSystemTools::LowerCase(*i); +#endif os << "\t@$(CMAKE_COMMAND) -E copy_if_different " << m.c_str() << ".mod " << m.c_str() << ".mod.stamp\n"; } |