[Cmake-commits] CMake branch, next, updated. v2.8.3-593-gb40ecb4
Brad King
brad.king at kitware.com
Wed Nov 10 13:21:23 EST 2010
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via b40ecb48751886e8f80d6014a0cec7a314770d99 (commit)
via 22aec406e6df44dcde0fa98e694455306febeaf1 (commit)
via 3d79e7d58ca0ebb63ffaba4ed16c1ea8c6bcf91d (commit)
from 0ba03a02a29bff03645ab14ff2140d277e5c6021 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b40ecb48751886e8f80d6014a0cec7a314770d99
commit b40ecb48751886e8f80d6014a0cec7a314770d99
Merge: 0ba03a0 22aec40
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Nov 10 13:21:17 2010 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Nov 10 13:21:17 2010 -0500
Merge topic 'vs-intel-RuntimeLibrary' into next
22aec40 Set Intel .vfproj RuntimeLibrary attribute
3d79e7d Fix Intel .vfproj SubSystem attribute values
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=22aec406e6df44dcde0fa98e694455306febeaf1
commit 22aec406e6df44dcde0fa98e694455306febeaf1
Author: Brad King <brad.king at kitware.com>
AuthorDate: Tue Nov 9 17:54:40 2010 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Tue Nov 9 17:54:40 2010 -0500
Set Intel .vfproj RuntimeLibrary attribute
Look for the "/threads", "/libs:dll", and "/dbglibs" flags and convert
them to the proper RuntimeLibrary attribute value in the IDE. This is
a 3-to-1 flag mapping and such needs special handling in the parser.
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index ffe26b1..7fd7fd2 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -669,6 +669,7 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(std::ostream& fout,
targetOptions.FixExceptionHandlingDefault();
targetOptions.Parse(flags.c_str());
targetOptions.Parse(defineFlags.c_str());
+ targetOptions.ParseFinish();
targetOptions.AddDefines
(this->Makefile->GetProperty("COMPILE_DEFINITIONS"));
targetOptions.AddDefines(target.GetProperty("COMPILE_DEFINITIONS"));
diff --git a/Source/cmVisualStudioGeneratorOptions.cxx b/Source/cmVisualStudioGeneratorOptions.cxx
index 972af95..f1bad9c 100644
--- a/Source/cmVisualStudioGeneratorOptions.cxx
+++ b/Source/cmVisualStudioGeneratorOptions.cxx
@@ -45,6 +45,10 @@ cmVisualStudioGeneratorOptions
// Slash options are allowed for VS.
this->AllowSlash = true;
+
+ this->FortranRuntimeDebug = false;
+ this->FortranRuntimeDLL = false;
+ this->FortranRuntimeMT = false;
}
//----------------------------------------------------------------------------
@@ -133,8 +137,55 @@ void cmVisualStudioGeneratorOptions::Parse(const char* flags)
}
//----------------------------------------------------------------------------
+void cmVisualStudioGeneratorOptions::ParseFinish()
+{
+ if(this->CurrentTool == FortranCompiler)
+ {
+ // "RuntimeLibrary" attribute values:
+ // "rtMultiThreaded", "0", /threads /libs:static
+ // "rtMultiThreadedDLL", "2", /threads /libs:dll
+ // "rtMultiThreadedDebug", "1", /threads /dbglibs /libs:static
+ // "rtMultiThreadedDebugDLL", "3", /threads /dbglibs /libs:dll
+ // These seem unimplemented by the IDE:
+ // "rtSingleThreaded", "4", /libs:static
+ // "rtSingleThreadedDLL", "10", /libs:dll
+ // "rtSingleThreadedDebug", "5", /dbglibs /libs:static
+ // "rtSingleThreadedDebugDLL", "11", /dbglibs /libs:dll
+ std::string rl = "rtMultiThreaded";
+ rl += this->FortranRuntimeDebug? "Debug" : "";
+ rl += this->FortranRuntimeDLL? "DLL" : "";
+ this->FlagMap["RuntimeLibrary"] = rl;
+ }
+}
+
+//----------------------------------------------------------------------------
void cmVisualStudioGeneratorOptions::StoreUnknownFlag(const char* flag)
{
+ // Look for Intel Fortran flags that do not map well in the flag table.
+ if(this->CurrentTool == FortranCompiler)
+ {
+ if(strcmp(flag, "/dbglibs") == 0)
+ {
+ this->FortranRuntimeDebug = true;
+ return;
+ }
+ if(strcmp(flag, "/threads") == 0)
+ {
+ this->FortranRuntimeMT = true;
+ return;
+ }
+ if(strcmp(flag, "/libs:dll") == 0)
+ {
+ this->FortranRuntimeDLL = true;
+ return;
+ }
+ if(strcmp(flag, "/libs:static") == 0)
+ {
+ this->FortranRuntimeDLL = false;
+ return;
+ }
+ }
+
// This option is not known. Store it in the output flags.
this->FlagString += " ";
this->FlagString +=
diff --git a/Source/cmVisualStudioGeneratorOptions.h b/Source/cmVisualStudioGeneratorOptions.h
index f7d1a02..8619ba0 100644
--- a/Source/cmVisualStudioGeneratorOptions.h
+++ b/Source/cmVisualStudioGeneratorOptions.h
@@ -39,6 +39,7 @@ public:
// Store options from command line flags.
void Parse(const char* flags);
+ void ParseFinish();
// Fix the ExceptionHandling option to default to off.
void FixExceptionHandlingDefault();
@@ -67,6 +68,10 @@ private:
Tool CurrentTool;
cmVisualStudio10TargetGenerator* TargetGenerator;
+ bool FortranRuntimeDebug;
+ bool FortranRuntimeDLL;
+ bool FortranRuntimeMT;
+
virtual void StoreUnknownFlag(const char* flag);
};
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3d79e7d58ca0ebb63ffaba4ed16c1ea8c6bcf91d
commit 3d79e7d58ca0ebb63ffaba4ed16c1ea8c6bcf91d
Author: Brad King <brad.king at kitware.com>
AuthorDate: Tue Nov 9 17:48:18 2010 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Tue Nov 9 17:48:18 2010 -0500
Fix Intel .vfproj SubSystem attribute values
The SubSystem attribute value must be "subSystemConsole" or
"subSystemWindows", not "1" or "2". Commit 20f49730 (Reset
platform/compiler info status for each language, 2010-09-28) exposed
this bug by (correctly) passing the /libs:dll flag to the compiler,
which chokes the linker if a value for "/subsystem:" is not given.
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index cb34bb6..ffe26b1 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -1098,11 +1098,13 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout,
}
if ( target.GetPropertyAsBool("WIN32_EXECUTABLE") )
{
- fout << "\t\t\t\tSubSystem=\"2\"\n";
+ fout << "\t\t\t\tSubSystem=\""
+ << (this->FortranProject? "subSystemWindows" : "2") << "\"\n";
}
else
{
- fout << "\t\t\t\tSubSystem=\"1\"\n";
+ fout << "\t\t\t\tSubSystem=\""
+ << (this->FortranProject? "subSystemConsole" : "1") << "\"\n";
}
std::string stackVar = "CMAKE_";
stackVar += linkLanguage;
-----------------------------------------------------------------------
Summary of changes:
Source/cmLocalVisualStudio7Generator.cxx | 7 +++-
Source/cmVisualStudioGeneratorOptions.cxx | 51 +++++++++++++++++++++++++++++
Source/cmVisualStudioGeneratorOptions.h | 5 +++
3 files changed, 61 insertions(+), 2 deletions(-)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list