BUG: Sweeping changes to cleanup computation of target names. This should

fix many bugs related to target names being computed inconsistently.

- Centralized computation of a target's file name to a method in
  cmTarget.  Now that global knowledge is always available the
  *_CMAKE_PATH cache variables are no longer needed.

- Centralized computation of link library command lines and link
  directory search order.

- Moved computation of link directories needed to link CMake targets
  to be after evaluation of linking dependencies.

This also removed alot of duplicate code in which each version had its
own bugs.

This commit is surrounded by the tags

  CMake-TargetNameCentralization1-pre

and

  CMake-TargetNameCentralization1-post

so make the large set of changes easy to identify.
This commit is contained in:
Brad King
2006-01-13 18:18:32 -05:00
parent 2622956159
commit 22c62c9e65
28 changed files with 1233 additions and 1103 deletions
-11
View File
@@ -288,12 +288,6 @@ bool cmFileCommand::HandleInstallCommand(
build_type += 2;
}
const char* debug_postfix
= m_Makefile->GetDefinition("CMAKE_DEBUG_POSTFIX");
if(!debug_postfix)
{
debug_postfix = "";
}
const char* destdir = cmSystemTools::GetEnv("DESTDIR");
std::string extra_dir = "";
@@ -505,11 +499,6 @@ bool cmFileCommand::HandleInstallCommand(
case cmTarget::MODULE_LIBRARY:
case cmTarget::STATIC_LIBRARY:
case cmTarget::SHARED_LIBRARY:
if ( debug )
{
fname = fnamewe + debug_postfix + ext;
destfile = destfilewe + debug_postfix + ext;
}
{
// Handle shared library versioning
const char* lib_version = 0;