diff options
author | Andy Cedilnik <andy.cedilnik@kitware.com> | 2003-12-18 18:04:28 (GMT) |
---|---|---|
committer | Andy Cedilnik <andy.cedilnik@kitware.com> | 2003-12-18 18:04:28 (GMT) |
commit | c3840b5cc3e26886bab16faf7e27a4ef80f3686d (patch) | |
tree | 854f1415ffa4b5dc377dfee9f213c437bf1b8c18 | |
parent | 31bb398dc332c74726f5a896973450f6518685d1 (diff) | |
download | CMake-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.cxx | 2 | ||||
-rw-r--r-- | Source/cmLocalUnixMakefileGenerator.cxx | 9 | ||||
-rw-r--r-- | Source/cmTarget.cxx | 2 | ||||
-rw-r--r-- | Source/cmTargetLinkLibrariesCommand.cxx | 4 |
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 " |