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