From 1e62f2392ced335cc5ae34b6ea6ed869a3f899ae Mon Sep 17 00:00:00 2001 From: Andy Cedilnik Date: Thu, 2 Oct 2003 14:50:46 -0400 Subject: [PATCH] ENH: Add CMAKE_IGNORE_DEPENDENCIES_ORDERING to prevent warnings about dependency problems --- Source/cmTargetLinkLibrariesCommand.cxx | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/Source/cmTargetLinkLibrariesCommand.cxx b/Source/cmTargetLinkLibrariesCommand.cxx index d2d80dfec..6b3e50ff1 100644 --- a/Source/cmTargetLinkLibrariesCommand.cxx +++ b/Source/cmTargetLinkLibrariesCommand.cxx @@ -85,19 +85,22 @@ void cmTargetLinkLibrariesCommand::FinalPass() { std::vector::size_type cc; std::string libPath; - for ( cc = 0; cc < m_HasLocation.size(); cc ++ ) + if ( !m_Makefile->GetDefinition("CMAKE_IGNORE_DEPENDENCIES_ORDERING") ) { - libPath = m_HasLocation[cc] + "_CMAKE_PATH"; - const char* dir = m_Makefile->GetDefinition(libPath.c_str()); - if ( dir ) + for ( cc = 0; cc < m_HasLocation.size(); cc ++ ) { - std::string str = "Library " + m_HasLocation[cc] + - " is defined using ADD_LIBRARY after the library is used " - "using TARGET_LINK_LIBRARIES for the target " + m_TargetName + - ". This breaks CMake's dependency " - "handling. Please fix the CMakeLists.txt file."; - this->SetError(str.c_str()); - cmSystemTools::Message(str.c_str(), "CMake Error"); + libPath = m_HasLocation[cc] + "_CMAKE_PATH"; + const char* dir = m_Makefile->GetDefinition(libPath.c_str()); + if ( dir ) + { + std::string str = "Library " + m_HasLocation[cc] + + " is defined using ADD_LIBRARY after the library is used " + "using TARGET_LINK_LIBRARIES for the target " + m_TargetName + + ". This breaks CMake's dependency " + "handling. Please fix the CMakeLists.txt file."; + this->SetError(str.c_str()); + cmSystemTools::Message(str.c_str(), "CMake Error"); + } } } }