summaryrefslogtreecommitdiffstats
path: root/Source/cmCommonTargetGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-07-08 19:52:42 (GMT)
committerBrad King <brad.king@kitware.com>2015-07-09 13:50:07 (GMT)
commitab8240189dd67cc15c5aed59b8c0ffde99d3b403 (patch)
treea5aeb063f3188ecfcadf33b7ca569a1c3dd03587 /Source/cmCommonTargetGenerator.cxx
parent0b22c0b815974de148b5fed3a33a3337380347c9 (diff)
downloadCMake-ab8240189dd67cc15c5aed59b8c0ffde99d3b403.zip
CMake-ab8240189dd67cc15c5aed59b8c0ffde99d3b403.tar.gz
CMake-ab8240189dd67cc15c5aed59b8c0ffde99d3b403.tar.bz2
cmCommonTargetGenerator: Adopt AppendFortranFormatFlags
Move up from cmMakefileTargetGenerator.
Diffstat (limited to 'Source/cmCommonTargetGenerator.cxx')
-rw-r--r--Source/cmCommonTargetGenerator.cxx30
1 files changed, 30 insertions, 0 deletions
diff --git a/Source/cmCommonTargetGenerator.cxx b/Source/cmCommonTargetGenerator.cxx
index cbcf682..c691fa4 100644
--- a/Source/cmCommonTargetGenerator.cxx
+++ b/Source/cmCommonTargetGenerator.cxx
@@ -15,6 +15,7 @@
#include "cmGlobalCommonGenerator.h"
#include "cmLocalCommonGenerator.h"
#include "cmMakefile.h"
+#include "cmSourceFile.h"
#include "cmSystemTools.h"
#include "cmTarget.h"
@@ -192,3 +193,32 @@ void cmCommonTargetGenerator::AddFortranFlags(std::string& flags)
}
}
}
+
+//----------------------------------------------------------------------------
+void
+cmCommonTargetGenerator
+::AppendFortranFormatFlags(std::string& flags, cmSourceFile const& source)
+{
+ const char* srcfmt = source.GetProperty("Fortran_FORMAT");
+ cmLocalGenerator::FortranFormat format =
+ this->LocalGenerator->GetFortranFormat(srcfmt);
+ if(format == cmLocalGenerator::FortranFormatNone)
+ {
+ const char* tgtfmt = this->Target->GetProperty("Fortran_FORMAT");
+ format = this->LocalGenerator->GetFortranFormat(tgtfmt);
+ }
+ const char* var = 0;
+ switch (format)
+ {
+ case cmLocalGenerator::FortranFormatFixed:
+ var = "CMAKE_Fortran_FORMAT_FIXED_FLAG"; break;
+ case cmLocalGenerator::FortranFormatFree:
+ var = "CMAKE_Fortran_FORMAT_FREE_FLAG"; break;
+ default: break;
+ }
+ if(var)
+ {
+ this->LocalGenerator->AppendFlags(
+ flags, this->Makefile->GetDefinition(var));
+ }
+}