ENH: Patch from Toni Timonen to allow cross-compiling of DLLs.

This commit is contained in:
Brad King 2006-09-07 10:05:12 -04:00
parent 64231a20a2
commit d458764791
1 changed files with 43 additions and 35 deletions

View File

@ -367,6 +367,11 @@ bool cmInstallCommand::HandleTargetsMode(std::vector<std::string> const& args)
return false;
}
// Check whether this is a DLL platform.
bool dll_platform = (this->Makefile->IsOn("WIN32") ||
this->Makefile->IsOn("CYGWIN") ||
this->Makefile->IsOn("MINGW"));
// Compute destination paths.
std::string archive_dest;
std::string library_dest;
@ -389,7 +394,8 @@ bool cmInstallCommand::HandleTargetsMode(std::vector<std::string> const& args)
// platforms. All windows platforms are DLL platforms
// including cygwin. Currently no other platform is a DLL
// platform.
#if defined(_WIN32) || defined(__CYGWIN__)
if(dll_platform)
{
// This is a DLL platform.
if(archive_destination)
{
@ -409,7 +415,9 @@ bool cmInstallCommand::HandleTargetsMode(std::vector<std::string> const& args)
runtime_configurations,
runtime_component.c_str()));
}
#else
}
else
{
// This is a non-DLL platform.
if(library_destination)
{
@ -428,7 +436,7 @@ bool cmInstallCommand::HandleTargetsMode(std::vector<std::string> const& args)
this->SetError(e.str().c_str());
return false;
}
#endif
}
}
break;
case cmTarget::STATIC_LIBRARY: