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.k...@kitware.com>
AuthorDate: Wed Nov 10 13:21:17 2010 -0500
Commit:     CMake Topic Stage <kwro...@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.k...@kitware.com>
AuthorDate: Tue Nov 9 17:54:40 2010 -0500
Commit:     Brad King <brad.k...@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.k...@kitware.com>
AuthorDate: Tue Nov 9 17:48:18 2010 -0500
Commit:     Brad King <brad.k...@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
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits

Reply via email to