[Cmake-commits] [cmake-commits] king committed cmComputeLinkInformation.cxx 1.48 1.49 cmGlobalUnixMakefileGenerator3.cxx 1.136 1.137 cmInstallTargetGenerator.cxx 1.70 1.71 cmLocalUnixMakefileGenerator3.cxx 1.266 1.267 cmMakefileExecutableTargetGenerator.cxx 1.59 1.60 cmMakefileLibraryTargetGenerator.cxx 1.75 1.76 cmTarget.cxx 1.257 1.258 cmTarget.h 1.135 1.136

cmake-commits at cmake.org cmake-commits at cmake.org
Wed Jul 8 13:03:49 EDT 2009


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

Modified Files:
	cmComputeLinkInformation.cxx 
	cmGlobalUnixMakefileGenerator3.cxx 
	cmInstallTargetGenerator.cxx cmLocalUnixMakefileGenerator3.cxx 
	cmMakefileExecutableTargetGenerator.cxx 
	cmMakefileLibraryTargetGenerator.cxx cmTarget.cxx cmTarget.h 
Log Message:
ENH: Pass config to cmTarget RPATH install methods

This passes the build configuration to cmTarget methods IsChrpathUsed
and NeedRelinkBeforeInstall.  Later these methods will use the value.


Index: cmGlobalUnixMakefileGenerator3.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGlobalUnixMakefileGenerator3.cxx,v
retrieving revision 1.136
retrieving revision 1.137
diff -C 2 -d -r1.136 -r1.137
*** cmGlobalUnixMakefileGenerator3.cxx	25 Jun 2009 13:58:50 -0000	1.136
--- cmGlobalUnixMakefileGenerator3.cxx	8 Jul 2009 17:03:46 -0000	1.137
***************
*** 452,456 ****
        // Add this to the list of depends rules in this directory.
        if((!check_all || !l->second.GetPropertyAsBool("EXCLUDE_FROM_ALL")) &&
!          (!check_relink || l->second.NeedRelinkBeforeInstall()))
          {
          std::string tname = lg->GetRelativeTargetDirectory(l->second);
--- 452,457 ----
        // Add this to the list of depends rules in this directory.
        if((!check_all || !l->second.GetPropertyAsBool("EXCLUDE_FROM_ALL")) &&
!          (!check_relink ||
!           l->second.NeedRelinkBeforeInstall(lg->ConfigurationName.c_str())))
          {
          std::string tname = lg->GetRelativeTargetDirectory(l->second);
***************
*** 660,664 ****
          // Add a local name for the rule to relink the target before
          // installation.
!         if(t->second.NeedRelinkBeforeInstall())
            {
            makeTargetName = lg->GetRelativeTargetDirectory(t->second);
--- 661,665 ----
          // Add a local name for the rule to relink the target before
          // installation.
!         if(t->second.NeedRelinkBeforeInstall(lg->ConfigurationName.c_str()))
            {
            makeTargetName = lg->GetRelativeTargetDirectory(t->second);
***************
*** 830,834 ****
        
        // Add rules to prepare the target for installation.
!       if(t->second.NeedRelinkBeforeInstall())
          {
          localName = lg->GetRelativeTargetDirectory(t->second);
--- 831,835 ----
        
        // Add rules to prepare the target for installation.
!       if(t->second.NeedRelinkBeforeInstall(lg->ConfigurationName.c_str()))
          {
          localName = lg->GetRelativeTargetDirectory(t->second);

Index: cmMakefileLibraryTargetGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmMakefileLibraryTargetGenerator.cxx,v
retrieving revision 1.75
retrieving revision 1.76
diff -C 2 -d -r1.75 -r1.76
*** cmMakefileLibraryTargetGenerator.cxx	7 Jul 2009 11:44:11 -0000	1.75
--- cmMakefileLibraryTargetGenerator.cxx	8 Jul 2009 17:03:47 -0000	1.76
***************
*** 73,77 ****
      case cmTarget::SHARED_LIBRARY:
        this->WriteSharedLibraryRules(false);
!       if(this->Target->NeedRelinkBeforeInstall())
          {
          // Write rules to link an installable version of the target.
--- 73,77 ----
      case cmTarget::SHARED_LIBRARY:
        this->WriteSharedLibraryRules(false);
!       if(this->Target->NeedRelinkBeforeInstall(this->ConfigName))
          {
          // Write rules to link an installable version of the target.
***************
*** 81,85 ****
      case cmTarget::MODULE_LIBRARY:
        this->WriteModuleLibraryRules(false);
!       if(this->Target->NeedRelinkBeforeInstall())
          {
          // Write rules to link an installable version of the target.
--- 81,85 ----
      case cmTarget::MODULE_LIBRARY:
        this->WriteModuleLibraryRules(false);
!       if(this->Target->NeedRelinkBeforeInstall(this->ConfigName))
          {
          // Write rules to link an installable version of the target.

Index: cmTarget.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmTarget.h,v
retrieving revision 1.135
retrieving revision 1.136
diff -C 2 -d -r1.135 -r1.136
*** cmTarget.h	8 Jul 2009 16:04:48 -0000	1.135
--- cmTarget.h	8 Jul 2009 17:03:47 -0000	1.136
***************
*** 354,358 ****
     * Compute whether this target must be relinked before installing.
     */
!   bool NeedRelinkBeforeInstall();
  
    bool HaveBuildTreeRPATH();
--- 354,358 ----
     * Compute whether this target must be relinked before installing.
     */
!   bool NeedRelinkBeforeInstall(const char* config);
  
    bool HaveBuildTreeRPATH();
***************
*** 360,364 ****
  
    /** Return true if builtin chrpath will work for this target */
!   bool IsChrpathUsed();
  
    std::string GetInstallNameDirForBuildTree(const char* config,
--- 360,364 ----
  
    /** Return true if builtin chrpath will work for this target */
!   bool IsChrpathUsed(const char* config);
  
    std::string GetInstallNameDirForBuildTree(const char* config,

Index: cmInstallTargetGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmInstallTargetGenerator.cxx,v
retrieving revision 1.70
retrieving revision 1.71
diff -C 2 -d -r1.70 -r1.71
*** cmInstallTargetGenerator.cxx	3 Jul 2009 12:40:24 -0000	1.70
--- cmInstallTargetGenerator.cxx	8 Jul 2009 17:03:46 -0000	1.71
***************
*** 70,74 ****
    // Compute the build tree directory from which to copy the target.
    std::string fromDirConfig;
!   if(this->Target->NeedRelinkBeforeInstall())
      {
      fromDirConfig = this->Target->GetMakefile()->GetStartOutputDirectory();
--- 70,74 ----
    // Compute the build tree directory from which to copy the target.
    std::string fromDirConfig;
!   if(this->Target->NeedRelinkBeforeInstall(config))
      {
      fromDirConfig = this->Target->GetMakefile()->GetStartOutputDirectory();
***************
*** 530,534 ****
  {
    // Skip the chrpath if the target does not need it.
!   if(this->ImportLibrary || !this->Target->IsChrpathUsed())
      {
      return;
--- 530,534 ----
  {
    // Skip the chrpath if the target does not need it.
!   if(this->ImportLibrary || !this->Target->IsChrpathUsed(config))
      {
      return;
***************
*** 561,565 ****
  {
    // Skip the chrpath if the target does not need it.
!   if(this->ImportLibrary || !this->Target->IsChrpathUsed())
      {
      return;
--- 561,565 ----
  {
    // Skip the chrpath if the target does not need it.
!   if(this->ImportLibrary || !this->Target->IsChrpathUsed(config))
      {
      return;

Index: cmLocalUnixMakefileGenerator3.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmLocalUnixMakefileGenerator3.cxx,v
retrieving revision 1.266
retrieving revision 1.267
diff -C 2 -d -r1.266 -r1.267
*** cmLocalUnixMakefileGenerator3.cxx	25 Jun 2009 13:58:51 -0000	1.266
--- cmLocalUnixMakefileGenerator3.cxx	8 Jul 2009 17:03:46 -0000	1.267
***************
*** 373,377 ****
        // Add a local name for the rule to relink the target before
        // installation.
!       if(t->second.NeedRelinkBeforeInstall())
          {
          makeTargetName = this->GetRelativeTargetDirectory(t->second);
--- 373,377 ----
        // Add a local name for the rule to relink the target before
        // installation.
!       if(t->second.NeedRelinkBeforeInstall(this->ConfigurationName.c_str()))
          {
          makeTargetName = this->GetRelativeTargetDirectory(t->second);

Index: cmMakefileExecutableTargetGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmMakefileExecutableTargetGenerator.cxx,v
retrieving revision 1.59
retrieving revision 1.60
diff -C 2 -d -r1.59 -r1.60
*** cmMakefileExecutableTargetGenerator.cxx	7 Jul 2009 11:44:11 -0000	1.59
--- cmMakefileExecutableTargetGenerator.cxx	8 Jul 2009 17:03:47 -0000	1.60
***************
*** 61,65 ****
    // write the link rules
    this->WriteExecutableRule(false);
!   if(this->Target->NeedRelinkBeforeInstall())
      {
      // Write rules to link an installable version of the target.
--- 61,65 ----
    // write the link rules
    this->WriteExecutableRule(false);
!   if(this->Target->NeedRelinkBeforeInstall(this->ConfigName))
      {
      // Write rules to link an installable version of the target.

Index: cmComputeLinkInformation.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmComputeLinkInformation.cxx,v
retrieving revision 1.48
retrieving revision 1.49
diff -C 2 -d -r1.48 -r1.49
*** cmComputeLinkInformation.cxx	7 Jul 2009 11:44:07 -0000	1.48
--- cmComputeLinkInformation.cxx	8 Jul 2009 17:03:46 -0000	1.49
***************
*** 316,320 ****
        (this->Makefile->
         GetSafeDefinition("CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH"));
!     this->RuntimeUseChrpath = this->Target->IsChrpathUsed();
  
      // Get options needed to help find dependent libraries.
--- 316,320 ----
        (this->Makefile->
         GetSafeDefinition("CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH"));
!     this->RuntimeUseChrpath = this->Target->IsChrpathUsed(config);
  
      // Get options needed to help find dependent libraries.

Index: cmTarget.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmTarget.cxx,v
retrieving revision 1.257
retrieving revision 1.258
diff -C 2 -d -r1.257 -r1.258
*** cmTarget.cxx	8 Jul 2009 17:03:22 -0000	1.257
--- cmTarget.cxx	8 Jul 2009 17:03:47 -0000	1.258
***************
*** 3026,3030 ****
  
  //----------------------------------------------------------------------------
! bool cmTarget::NeedRelinkBeforeInstall()
  {
    // Only executables and shared libraries can have an rpath and may
--- 3026,3030 ----
  
  //----------------------------------------------------------------------------
! bool cmTarget::NeedRelinkBeforeInstall(const char* config)
  {
    // Only executables and shared libraries can have an rpath and may
***************
*** 3057,3061 ****
  
    // If chrpath is going to be used no relinking is needed.
!   if(this->IsChrpathUsed())
      {
      return false;
--- 3057,3061 ----
  
    // If chrpath is going to be used no relinking is needed.
!   if(this->IsChrpathUsed(config))
      {
      return false;
***************
*** 3350,3354 ****
  
  //----------------------------------------------------------------------------
! bool cmTarget::IsChrpathUsed()
  {
  #if defined(CMAKE_USE_ELF_PARSER)
--- 3350,3354 ----
  
  //----------------------------------------------------------------------------
! bool cmTarget::IsChrpathUsed(const char* config)
  {
  #if defined(CMAKE_USE_ELF_PARSER)
***************
*** 3406,3409 ****
--- 3406,3410 ----
      }
  #endif
+   static_cast<void>(config);
    return false;
  }



More information about the Cmake-commits mailing list