From 59adb4eabe6881cd29bc2470ad63b54d8527039e Mon Sep 17 00:00:00 2001 From: Andy Cedilnik Date: Tue, 3 Feb 2004 09:26:36 -0500 Subject: [PATCH] ENH: Fix ADD_DEPENDENCIES on Unix makefiles and fix SimpleInstall test not to link the module --- Source/cmLocalUnixMakefileGenerator.cxx | 11 ++++++++++- Tests/SimpleInstall/CMakeLists.txt | 4 +++- Tests/SimpleInstallS2/CMakeLists.txt | 4 +++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Source/cmLocalUnixMakefileGenerator.cxx b/Source/cmLocalUnixMakefileGenerator.cxx index 2dc584a35..035059219 100644 --- a/Source/cmLocalUnixMakefileGenerator.cxx +++ b/Source/cmLocalUnixMakefileGenerator.cxx @@ -1603,7 +1603,16 @@ void cmLocalUnixMakefileGenerator::OutputDependLibs(std::ostream& fout) if(emitted.insert(*util).second) { // Output this dependency. - this->OutputExeDepend(fout, util->c_str()); + std::string utilType = *util + "_LIBRARY_TYPE"; + const char* libType = m_Makefile->GetDefinition(utilType.c_str()); + if ( libType ) + { + this->OutputLibDepend(fout, util->c_str()); + } + else + { + this->OutputExeDepend(fout, util->c_str()); + } } } fout << "\n"; diff --git a/Tests/SimpleInstall/CMakeLists.txt b/Tests/SimpleInstall/CMakeLists.txt index d87ec48fb..ede22c1ce 100644 --- a/Tests/SimpleInstall/CMakeLists.txt +++ b/Tests/SimpleInstall/CMakeLists.txt @@ -9,7 +9,9 @@ ADD_LIBRARY(test1 STATIC lib1.cxx) ADD_LIBRARY(test2 SHARED lib2.cxx) ADD_LIBRARY(test3 MODULE lib3.cxx) ADD_EXECUTABLE (SimpleInstall inst.cxx foo.c foo.h) -TARGET_LINK_LIBRARIES(SimpleInstall test1 test2 test3) +TARGET_LINK_LIBRARIES(SimpleInstall test1 test2) + +ADD_DEPENDENCIES(SimpleInstall test3) INSTALL_TARGETS(/bin SimpleInstall) INSTALL_TARGETS(/lib test1 test2 test3) diff --git a/Tests/SimpleInstallS2/CMakeLists.txt b/Tests/SimpleInstallS2/CMakeLists.txt index d87ec48fb..ede22c1ce 100644 --- a/Tests/SimpleInstallS2/CMakeLists.txt +++ b/Tests/SimpleInstallS2/CMakeLists.txt @@ -9,7 +9,9 @@ ADD_LIBRARY(test1 STATIC lib1.cxx) ADD_LIBRARY(test2 SHARED lib2.cxx) ADD_LIBRARY(test3 MODULE lib3.cxx) ADD_EXECUTABLE (SimpleInstall inst.cxx foo.c foo.h) -TARGET_LINK_LIBRARIES(SimpleInstall test1 test2 test3) +TARGET_LINK_LIBRARIES(SimpleInstall test1 test2) + +ADD_DEPENDENCIES(SimpleInstall test3) INSTALL_TARGETS(/bin SimpleInstall) INSTALL_TARGETS(/lib test1 test2 test3)