[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