ENH: remove ifdef code and use makefile definitions

This commit is contained in:
Bill Hoffman 2003-08-22 11:56:44 -04:00
parent 9cc69e8292
commit 26c08ee33b
1 changed files with 28 additions and 26 deletions

View File

@ -296,30 +296,30 @@ void cmLocalUnixMakefileGenerator::OutputMakefile(const char* file,
#if defined(_WIN32) && ! defined(__CYGWIN__)
std::string cmLocalUnixMakefileGenerator::GetOutputExtension(const char* s) std::string cmLocalUnixMakefileGenerator::GetOutputExtension(const char* s)
{ {
std::string sourceExtension = s; if(m_Makefile->IsOn("WIN32") && !(m_Makefile->IsOn("CYGWIN") || m_Makefile->IsOn("MINGW")))
if(sourceExtension == "def")
{ {
return ""; std::string sourceExtension = s;
if(sourceExtension == "def")
{
return "";
}
if(sourceExtension == "ico" || sourceExtension == "rc2")
{
return "";
}
if(sourceExtension == "rc")
{
return ".res";
}
return ".obj";
} }
if(sourceExtension == "ico" || sourceExtension == "rc2") else
{ {
return ""; return ".o";
} }
if(sourceExtension == "rc")
{
return ".res";
}
return ".obj";
} }
#else
std::string cmLocalUnixMakefileGenerator::GetOutputExtension(const char*)
{
return ".o";
}
#endif
std::string cmLocalUnixMakefileGenerator::GetFullTargetName(const char* n, std::string cmLocalUnixMakefileGenerator::GetFullTargetName(const char* n,
const cmTarget& t) const cmTarget& t)
@ -1051,19 +1051,21 @@ void cmLocalUnixMakefileGenerator::OutputSharedLibraryRule(std::ostream& fout,
linkFlags += this->GetSafeDefinition(build.c_str()); linkFlags += this->GetSafeDefinition(build.c_str());
linkFlags += " "; linkFlags += " ";
} }
#ifdef _WIN32 if(m_Makefile->IsOn("WIN32") && !(m_Makefile->IsOn("CYGWIN") || m_Makefile->IsOn("MINGW")))
const std::vector<cmSourceFile*>& sources = t.GetSourceFiles();
for(std::vector<cmSourceFile*>::const_iterator i = sources.begin();
i != sources.end(); ++i)
{ {
if((*i)->GetSourceExtension() == "def") const std::vector<cmSourceFile*>& sources = t.GetSourceFiles();
for(std::vector<cmSourceFile*>::const_iterator i = sources.begin();
i != sources.end(); ++i)
{ {
linkFlags += this->GetSafeDefinition("CMAKE_LINK_DEF_FILE_FLAG"); if((*i)->GetSourceExtension() == "def")
linkFlags += cmSystemTools::ConvertToOutputPath((*i)->GetFullPath().c_str()); {
linkFlags += " "; linkFlags += this->GetSafeDefinition("CMAKE_LINK_DEF_FILE_FLAG");
linkFlags += cmSystemTools::ConvertToOutputPath((*i)->GetFullPath().c_str());
linkFlags += " ";
}
} }
} }
#endif
const char* targetPrefix = t.GetProperty("PREFIX"); const char* targetPrefix = t.GetProperty("PREFIX");
if(!targetPrefix) if(!targetPrefix)
{ {