[Cmake-commits] [cmake-commits] king committed cmComputeLinkInformation.cxx 1.49 1.50 cmGlobalXCodeGenerator.cxx 1.216 1.217 cmLocalVisualStudio7Generator.cxx 1.245 1.246 cmMakefileExecutableTargetGenerator.cxx 1.60 1.61 cmMakefileLibraryTargetGenerator.cxx 1.76 1.77 cmTarget.cxx 1.258 1.259 cmTarget.h 1.136 1.137 cmVisualStudio10TargetGenerator.cxx 1.6 1.7

cmake-commits at cmake.org cmake-commits at cmake.org
Wed Jul 8 13:04:06 EDT 2009


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

Modified Files:
	cmComputeLinkInformation.cxx cmGlobalXCodeGenerator.cxx 
	cmLocalVisualStudio7Generator.cxx 
	cmMakefileExecutableTargetGenerator.cxx 
	cmMakefileLibraryTargetGenerator.cxx cmTarget.cxx cmTarget.h 
	cmVisualStudio10TargetGenerator.cxx 
Log Message:
ENH: Pass config to cmTarget::GetLinkerLanguage

This passes the build configuration to most GetLinkerLanguage calls.  In
the future the linker language will account for targets linked in each
configuration.


Index: cmVisualStudio10TargetGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmVisualStudio10TargetGenerator.cxx,v
retrieving revision 1.6
retrieving revision 1.7
diff -C 2 -d -r1.6 -r1.7
*** cmVisualStudio10TargetGenerator.cxx	7 Jul 2009 11:44:12 -0000	1.6
--- cmVisualStudio10TargetGenerator.cxx	8 Jul 2009 17:04:04 -0000	1.7
***************
*** 583,587 ****
    // assume incremental linking
    const char* incremental = "true";
!   const char* linkLanguage = this->Target->GetLinkerLanguage();
    if(!linkLanguage)
      {
--- 583,588 ----
    // assume incremental linking
    const char* incremental = "true";
!   const char* linkLanguage =
!     this->Target->GetLinkerLanguage(configName.c_str());
    if(!linkLanguage)
      {
***************
*** 639,643 ****
    if(this->Target->GetType() < cmTarget::UTILITY)
      {
!     const char* linkLanguage = this->Target->GetLinkerLanguage();
      if(!linkLanguage)
        {
--- 640,645 ----
    if(this->Target->GetType() < cmTarget::UTILITY)
      {
!     const char* linkLanguage =
!       this->Target->GetLinkerLanguage(configName.c_str());
      if(!linkLanguage)
        {
***************
*** 773,777 ****
      return;
      }
!   const char* linkLanguage = this->Target->GetLinkerLanguage();
    if(!linkLanguage)
      {
--- 775,780 ----
      return;
      }
!   const char* linkLanguage =
!     this->Target->GetLinkerLanguage(config.c_str());
    if(!linkLanguage)
      {

Index: cmLocalVisualStudio7Generator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmLocalVisualStudio7Generator.cxx,v
retrieving revision 1.245
retrieving revision 1.246
diff -C 2 -d -r1.245 -r1.246
*** cmLocalVisualStudio7Generator.cxx	7 Jul 2009 11:44:10 -0000	1.245
--- cmLocalVisualStudio7Generator.cxx	8 Jul 2009 17:04:02 -0000	1.246
***************
*** 657,661 ****
    if(strcmp(configType, "10") != 0)
      {
!     const char* linkLanguage = target.GetLinkerLanguage();
      if(!linkLanguage)
        {
--- 657,661 ----
    if(strcmp(configType, "10") != 0)
      {
!     const char* linkLanguage = target.GetLinkerLanguage(configName);
      if(!linkLanguage)
        {
***************
*** 1363,1367 ****
        (sf.GetExtension().c_str());
      const char* sourceLang = lg->GetSourceFileLanguage(sf);
!     const char* linkLanguage = target.GetLinkerLanguage();
      bool needForceLang = false;
      // source file does not match its extension language
--- 1363,1367 ----
        (sf.GetExtension().c_str());
      const char* sourceLang = lg->GetSourceFileLanguage(sf);
!     const char* linkLanguage = target.GetLinkerLanguage(i->c_str());
      bool needForceLang = false;
      // source file does not match its extension language

Index: cmGlobalXCodeGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGlobalXCodeGenerator.cxx,v
retrieving revision 1.216
retrieving revision 1.217
diff -C 2 -d -r1.216 -r1.217
*** cmGlobalXCodeGenerator.cxx	8 Jul 2009 17:03:34 -0000	1.216
--- cmGlobalXCodeGenerator.cxx	8 Jul 2009 17:04:00 -0000	1.217
***************
*** 1379,1383 ****
                   (target.GetType() == cmTarget::MODULE_LIBRARY));
  
!   const char* lang = target.GetLinkerLanguage();
    std::string cflags;
    if(lang)
--- 1379,1383 ----
                   (target.GetType() == cmTarget::MODULE_LIBRARY));
  
!   const char* lang = target.GetLinkerLanguage(configName);
    std::string cflags;
    if(lang)

Index: cmComputeLinkInformation.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmComputeLinkInformation.cxx,v
retrieving revision 1.49
retrieving revision 1.50
diff -C 2 -d -r1.49 -r1.50
*** cmComputeLinkInformation.cxx	8 Jul 2009 17:03:46 -0000	1.49
--- cmComputeLinkInformation.cxx	8 Jul 2009 17:03:59 -0000	1.50
***************
*** 265,269 ****
  
    // Get the language used for linking this target.
!   this->LinkLanguage = this->Target->GetLinkerLanguage();
    if(!this->LinkLanguage)
      {
--- 265,269 ----
  
    // Get the language used for linking this target.
!   this->LinkLanguage = this->Target->GetLinkerLanguage(config);
    if(!this->LinkLanguage)
      {

Index: cmMakefileLibraryTargetGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmMakefileLibraryTargetGenerator.cxx,v
retrieving revision 1.76
retrieving revision 1.77
diff -C 2 -d -r1.76 -r1.77
*** cmMakefileLibraryTargetGenerator.cxx	8 Jul 2009 17:03:47 -0000	1.76
--- cmMakefileLibraryTargetGenerator.cxx	8 Jul 2009 17:04:03 -0000	1.77
***************
*** 110,114 ****
  void cmMakefileLibraryTargetGenerator::WriteStaticLibraryRules()
  {
!   const char* linkLanguage = this->Target->GetLinkerLanguage();
    std::string linkRuleVar = "CMAKE_";
    if (linkLanguage)
--- 110,115 ----
  void cmMakefileLibraryTargetGenerator::WriteStaticLibraryRules()
  {
!   const char* linkLanguage =
!     this->Target->GetLinkerLanguage(this->ConfigName);
    std::string linkRuleVar = "CMAKE_";
    if (linkLanguage)
***************
*** 132,136 ****
      return;
      }
!   const char* linkLanguage = this->Target->GetLinkerLanguage();
    std::string linkRuleVar = "CMAKE_";
    if (linkLanguage)
--- 133,138 ----
      return;
      }
!   const char* linkLanguage =
!     this->Target->GetLinkerLanguage(this->ConfigName);
    std::string linkRuleVar = "CMAKE_";
    if (linkLanguage)
***************
*** 177,181 ****
  void cmMakefileLibraryTargetGenerator::WriteModuleLibraryRules(bool relink)
  {
!   const char* linkLanguage = this->Target->GetLinkerLanguage();
    std::string linkRuleVar = "CMAKE_";
    if (linkLanguage)
--- 179,184 ----
  void cmMakefileLibraryTargetGenerator::WriteModuleLibraryRules(bool relink)
  {
!   const char* linkLanguage =
!     this->Target->GetLinkerLanguage(this->ConfigName);
    std::string linkRuleVar = "CMAKE_";
    if (linkLanguage)
***************
*** 202,206 ****
  void cmMakefileLibraryTargetGenerator::WriteFrameworkRules(bool relink)
  {
!   const char* linkLanguage = this->Target->GetLinkerLanguage();
    std::string linkRuleVar = "CMAKE_";
    if (linkLanguage)
--- 205,210 ----
  void cmMakefileLibraryTargetGenerator::WriteFrameworkRules(bool relink)
  {
!   const char* linkLanguage =
!     this->Target->GetLinkerLanguage(this->ConfigName);
    std::string linkRuleVar = "CMAKE_";
    if (linkLanguage)
***************
*** 348,352 ****
    
    // Get the language to use for linking this library.
!   const char* linkLanguage = this->Target->GetLinkerLanguage();
  
    // Make sure we have a link language.
--- 352,357 ----
    
    // Get the language to use for linking this library.
!   const char* linkLanguage =
!     this->Target->GetLinkerLanguage(this->ConfigName);
  
    // Make sure we have a link language.

Index: cmTarget.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmTarget.h,v
retrieving revision 1.136
retrieving revision 1.137
diff -C 2 -d -r1.136 -r1.137
*** cmTarget.h	8 Jul 2009 17:03:47 -0000	1.136
--- cmTarget.h	8 Jul 2009 17:04:04 -0000	1.137
***************
*** 306,310 ****
  
    ///! Return the prefered linker language for this target
!   const char* GetLinkerLanguage();
  
    ///! Return the rule variable used to create this type of target,
--- 306,310 ----
  
    ///! Return the prefered linker language for this target
!   const char* GetLinkerLanguage(const char* config = 0);
  
    ///! Return the rule variable used to create this type of target,

Index: cmMakefileExecutableTargetGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmMakefileExecutableTargetGenerator.cxx,v
retrieving revision 1.60
retrieving revision 1.61
diff -C 2 -d -r1.60 -r1.61
*** cmMakefileExecutableTargetGenerator.cxx	8 Jul 2009 17:03:47 -0000	1.60
--- cmMakefileExecutableTargetGenerator.cxx	8 Jul 2009 17:04:02 -0000	1.61
***************
*** 179,183 ****
  
    // Get the language to use for linking this executable.
!   const char* linkLanguage = this->Target->GetLinkerLanguage();
  
    // Make sure we have a link language.
--- 179,184 ----
  
    // Get the language to use for linking this executable.
!   const char* linkLanguage =
!     this->Target->GetLinkerLanguage(this->ConfigName);
  
    // Make sure we have a link language.

Index: cmTarget.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmTarget.cxx,v
retrieving revision 1.258
retrieving revision 1.259
diff -C 2 -d -r1.258 -r1.259
*** cmTarget.cxx	8 Jul 2009 17:03:47 -0000	1.258
--- cmTarget.cxx	8 Jul 2009 17:04:04 -0000	1.259
***************
*** 2321,2325 ****
  
  //----------------------------------------------------------------------------
! const char* cmTarget::GetLinkerLanguage()
  {
    cmGlobalGenerator* gg =
--- 2321,2325 ----
  
  //----------------------------------------------------------------------------
! const char* cmTarget::GetLinkerLanguage(const char*)
  {
    cmGlobalGenerator* gg =
***************
*** 2773,2777 ****
  
    // Construct the name of the soname flag variable for this language.
!   const char* ll = this->GetLinkerLanguage();
    std::string sonameFlag = "CMAKE_SHARED_LIBRARY_SONAME";
    if(ll)
--- 2773,2777 ----
  
    // Construct the name of the soname flag variable for this language.
!   const char* ll = this->GetLinkerLanguage(config);
    std::string sonameFlag = "CMAKE_SHARED_LIBRARY_SONAME";
    if(ll)
***************
*** 3063,3067 ****
  
    // Check for rpath support on this platform.
!   if(const char* ll = this->GetLinkerLanguage())
      {
      std::string flagVar = "CMAKE_SHARED_LIBRARY_RUNTIME_";
--- 3063,3067 ----
  
    // Check for rpath support on this platform.
!   if(const char* ll = this->GetLinkerLanguage(config))
      {
      std::string flagVar = "CMAKE_SHARED_LIBRARY_RUNTIME_";
***************
*** 3388,3392 ****
    // Enable if the rpath flag uses a separator and the target uses ELF
    // binaries.
!   if(const char* ll = this->GetLinkerLanguage())
      {
      std::string sepVar = "CMAKE_SHARED_LIBRARY_RUNTIME_";
--- 3388,3392 ----
    // Enable if the rpath flag uses a separator and the target uses ELF
    // binaries.
!   if(const char* ll = this->GetLinkerLanguage(config))
      {
      std::string sepVar = "CMAKE_SHARED_LIBRARY_RUNTIME_";



More information about the Cmake-commits mailing list