summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Cedilnik <andy.cedilnik@kitware.com>2003-12-18 18:04:28 (GMT)
committerAndy Cedilnik <andy.cedilnik@kitware.com>2003-12-18 18:04:28 (GMT)
commitc3840b5cc3e26886bab16faf7e27a4ef80f3686d (patch)
tree854f1415ffa4b5dc377dfee9f213c437bf1b8c18
parent31bb398dc332c74726f5a896973450f6518685d1 (diff)
downloadCMake-c3840b5cc3e26886bab16faf7e27a4ef80f3686d.zip
CMake-c3840b5cc3e26886bab16faf7e27a4ef80f3686d.tar.gz
CMake-c3840b5cc3e26886bab16faf7e27a4ef80f3686d.tar.bz2
BUG: Fix Bug #445 - Same library in multiple projects can cause problems
-rw-r--r--Source/cmLinkLibrariesCommand.cxx2
-rw-r--r--Source/cmLocalUnixMakefileGenerator.cxx9
-rw-r--r--Source/cmTarget.cxx2
-rw-r--r--Source/cmTargetLinkLibrariesCommand.cxx4
4 files changed, 9 insertions, 8 deletions
diff --git a/Source/cmLinkLibrariesCommand.cxx b/Source/cmLinkLibrariesCommand.cxx
index d45f246..56d4937 100644
--- a/Source/cmLinkLibrariesCommand.cxx
+++ b/Source/cmLinkLibrariesCommand.cxx
@@ -50,7 +50,7 @@ bool cmLinkLibrariesCommand::InitialPass(std::vector<std::string> const& args)
{
std::string libPath = *i + "_CMAKE_PATH";
const char* dir = m_Makefile->GetDefinition(libPath.c_str());
- if( dir )
+ if( dir && *dir )
{
m_Makefile->AddLinkDirectory( dir );
}
diff --git a/Source/cmLocalUnixMakefileGenerator.cxx b/Source/cmLocalUnixMakefileGenerator.cxx
index d656860..b9de317 100644
--- a/Source/cmLocalUnixMakefileGenerator.cxx
+++ b/Source/cmLocalUnixMakefileGenerator.cxx
@@ -1575,9 +1575,10 @@ void cmLocalUnixMakefileGenerator::OutputDependLibs(std::ostream& fout)
// if cache and not the current directory add a rule, to
// jump into the directory and build for the first time
- if(cacheValue &&
+ if(cacheValue && *cacheValue &&
(!this->SamePath(m_Makefile->GetCurrentOutputDirectory(), cacheValue)))
{
+ std::cout << "Cache Value: " << cacheValue << std::endl;
// add the correct extension
std::string ltname = *lib+"_LIBRARY_TYPE";
const char* libType
@@ -1726,7 +1727,7 @@ void cmLocalUnixMakefileGenerator::OutputLibDepend(std::ostream& fout,
std::string libPath = name;
libPath += "_CMAKE_PATH";
const char* cacheValue = m_Makefile->GetDefinition(libPath.c_str());
- if(cacheValue )
+ if( cacheValue && *cacheValue )
{
// if there is a cache value, then this is a library that cmake
// knows how to build, so we can depend on it
@@ -1783,7 +1784,7 @@ void cmLocalUnixMakefileGenerator::OutputExeDepend(std::ostream& fout,
std::string exePath = name;
exePath += "_CMAKE_PATH";
const char* cacheValue = m_Makefile->GetDefinition(exePath.c_str());
- if(cacheValue )
+ if( cacheValue && *cacheValue )
{
// if there is a cache value, then this is a executable/utility that cmake
// knows how to build, so we can depend on it
@@ -2168,7 +2169,7 @@ void cmLocalUnixMakefileGenerator::OutputCustomRules(std::ostream& fout)
// watch for target dependencies,
std::string libPath = dep + "_CMAKE_PATH";
const char* cacheValue = m_Makefile->GetDefinition(libPath.c_str());
- if (cacheValue)
+ if ( cacheValue && *cacheValue )
{
libPath = cacheValue;
if (m_Makefile->GetDefinition("EXECUTABLE_OUTPUT_PATH") &&
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index af47b2e..6481d47 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -165,7 +165,7 @@ void cmTarget::TraceVSDependencies(std::string projFile,
// watch for target dependencies,
std::string libPath = dep + "_CMAKE_PATH";
const char* cacheValue = makefile->GetDefinition(libPath.c_str());
- if (cacheValue)
+ if (cacheValue && *cacheValue)
{
// add the depend as a utility on the target
this->AddUtility(dep.c_str());
diff --git a/Source/cmTargetLinkLibrariesCommand.cxx b/Source/cmTargetLinkLibrariesCommand.cxx
index 6b3e50f..1237fac 100644
--- a/Source/cmTargetLinkLibrariesCommand.cxx
+++ b/Source/cmTargetLinkLibrariesCommand.cxx
@@ -64,7 +64,7 @@ bool cmTargetLinkLibrariesCommand::InitialPass(std::vector<std::string> const& a
std::string libPath = *i + "_CMAKE_PATH";
const char* dir = m_Makefile->GetDefinition(libPath.c_str());
- if( dir )
+ if( dir && *dir )
{
m_Makefile->AddLinkDirectoryForTarget(args[0].c_str(), dir );
}
@@ -91,7 +91,7 @@ void cmTargetLinkLibrariesCommand::FinalPass()
{
libPath = m_HasLocation[cc] + "_CMAKE_PATH";
const char* dir = m_Makefile->GetDefinition(libPath.c_str());
- if ( dir )
+ if ( dir && *dir )
{
std::string str = "Library " + m_HasLocation[cc] +
" is defined using ADD_LIBRARY after the library is used "