[Cmake-commits] [cmake-commits] hoffman committed cmake.h 1.114 1.115 cmake.cxx 1.387 1.388

cmake-commits at cmake.org cmake-commits at cmake.org
Fri Jun 20 16:25:05 EDT 2008


Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv12363

Modified Files:
	cmake.h cmake.cxx 
Log Message:
BUG: fix for bug 7222 manifest:no not working for makefiles


Index: cmake.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmake.h,v
retrieving revision 1.114
retrieving revision 1.115
diff -C 2 -d -r1.114 -r1.115
*** cmake.h	30 Apr 2008 17:42:40 -0000	1.114
--- cmake.h	20 Jun 2008 20:25:01 -0000	1.115
***************
*** 417,420 ****
--- 417,421 ----
    static int VisualStudioLinkNonIncremental(std::vector<std::string>& args,
                                              int type,
+                                             bool hasManifest,
                                              bool verbose);
    static int ParseVisualStudioLinkCommand(std::vector<std::string>& args, 
***************
*** 429,433 ****
    ///! Find the full path to one of the cmake programs like ctest, cpack, etc.
    std::string FindCMakeProgram(const char* name) const;
! private:
    ProgressCallbackType ProgressCallback;
    void* ProgressCallbackClientData;
--- 430,436 ----
    ///! Find the full path to one of the cmake programs like ctest, cpack, etc.
    std::string FindCMakeProgram(const char* name) const;
! private: 
!   cmake(const cmake&);  // Not implemented.
!   void operator=(const cmake&);  // Not implemented.
    ProgressCallbackType ProgressCallback;
    void* ProgressCallbackClientData;

Index: cmake.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmake.cxx,v
retrieving revision 1.387
retrieving revision 1.388
diff -C 2 -d -r1.387 -r1.388
*** cmake.cxx	18 Jun 2008 17:28:24 -0000	1.387
--- cmake.cxx	20 Jun 2008 20:25:02 -0000	1.388
***************
*** 3891,3896 ****
        }
      }
!   // figure out if this is an incremental link or not and run the correct
!   // link function.
    for(std::vector<std::string>::iterator i = expandedArgs.begin();
        i != expandedArgs.end(); ++i)
--- 3891,3896 ----
        }
      }
!   bool hasIncremental = false;
!   bool hasManifest = true;
    for(std::vector<std::string>::iterator i = expandedArgs.begin();
        i != expandedArgs.end(); ++i)
***************
*** 3898,3913 ****
      if(cmSystemTools::Strucmp(i->c_str(), "/INCREMENTAL:YES") == 0)
        {
!       if(verbose)
!         {
!         std::cout << "Visual Studio Incremental Link\n";
!         }
!       return cmake::VisualStudioLinkIncremental(expandedArgs, type, verbose);
        }
      }
    if(verbose)
      {
!     std::cout << "Visual Studio Non-Incremental Link\n";
      }
!   return cmake::VisualStudioLinkNonIncremental(expandedArgs, type, verbose);
  }
  
--- 3898,3928 ----
      if(cmSystemTools::Strucmp(i->c_str(), "/INCREMENTAL:YES") == 0)
        {
!       hasIncremental = true;
!       }
!     if(cmSystemTools::Strucmp(i->c_str(), "/MANIFEST:NO") == 0)
!       {
!       hasManifest = false;
!       }
!     }
!   if(hasIncremental && hasManifest)
!     {
!     if(verbose)
!       {
!       std::cout << "Visual Studio Incremental Link with embeded manifests\n";
        }
+     return cmake::VisualStudioLinkIncremental(expandedArgs, type, verbose);
      }
    if(verbose)
      {
!     if(!hasIncremental)
!       {
!       std::cout << "Visual Studio Non-Incremental Link\n";
!       }
!     else
!       {
!       std::cout << "Visual Studio Incremental Link without manifests\n";
!       }
      }
!   return cmake::VisualStudioLinkNonIncremental(expandedArgs, type, hasManifest, verbose);
  }
  
***************
*** 4114,4117 ****
--- 4129,4133 ----
  int cmake::VisualStudioLinkNonIncremental(std::vector<std::string>& args,
                                            int type,
+                                           bool hasManifest,
                                            bool verbose)
  {
***************
*** 4127,4130 ****
--- 4143,4150 ----
      return -1;
      }
+   if(!hasManifest)
+     {
+     return 0;
+     }
    std::vector<cmStdString> mtCommand;
    mtCommand.push_back(cmSystemTools::FindProgram("mt.exe"));



More information about the Cmake-commits mailing list