From a18d286635aed4feac32d64b589b528422e7eb6c Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Fri, 18 May 2007 11:57:29 -0400 Subject: ENH: move hack to fix "new cmake on old build tree on OSX doesn't have CMAKE_INSTALL_NAME_TOOL in the cache" from cmInstallTargetGenerator.cxx to Darwin.cmake Alex --- Modules/Platform/Darwin.cmake | 9 +++++++++ Source/cmInstallTargetGenerator.cxx | 8 -------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Modules/Platform/Darwin.cmake b/Modules/Platform/Darwin.cmake index adff353..8e5e949 100644 --- a/Modules/Platform/Darwin.cmake +++ b/Modules/Platform/Darwin.cmake @@ -13,6 +13,15 @@ SET(CMAKE_SHARED_MODULE_LOADER_C_FLAG "-Wl,-bundle_loader,") SET(CMAKE_SHARED_MODULE_LOADER_CXX_FLAG "-Wl,-bundle_loader,") SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib" ".so" ".a") +# hack: if a new cmake (which uses CMAKE_INSTALL_NAME_TOOL) runs on an old build tree +# (where install_name_tool was hardcoded) and where CMAKE_INSTALL_NAME_TOOL isn't in the cache +# and still cmake didn't fail in CMakeFindBinUtils.cmake (because it isn't rerun) +# hardcode CMAKE_INSTALL_NAME_TOOL here to install_name_tool, so it behaves as it did before, Alex +IF(NOT DEFINED CMAKE_INSTALL_NAME_TOOL) + SET(CMAKE_INSTALL_NAME_TOOL install_name_tool) +ENDIF(NOT DEFINED CMAKE_INSTALL_NAME_TOOL) + + # setup for universal binaries if sysroot exists IF(EXISTS /Developer/SDKs/MacOSX10.4u.sdk) # set the sysroot to be used if CMAKE_OSX_ARCHITECTURES diff --git a/Source/cmInstallTargetGenerator.cxx b/Source/cmInstallTargetGenerator.cxx index 3487c26..a3d2dbb 100644 --- a/Source/cmInstallTargetGenerator.cxx +++ b/Source/cmInstallTargetGenerator.cxx @@ -349,14 +349,6 @@ void cmInstallTargetGenerator std::string installNameTool = this->Target->GetMakefile()->GetSafeDefinition("CMAKE_INSTALL_NAME_TOOL"); - // hack: if a new cmake runs on an old build tree, CMAKE_INSTALL_NAME_TOOL - // isn't in the cache, because it was simply hardcoded. To make this work - // adjust it here. - if((this->Target->GetMakefile()->IsOn("APPLE")) && (!installNameTool.size())) - { - installNameTool = "install_name_tool"; - } - if(!installNameTool.size()) { return; -- cgit v0.12