From 15a7414a60bc31cd75c5e5af2618c3d4ffc64944 Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Fri, 18 May 2007 10:55:35 -0400 Subject: COMP: if a new cmake runs on an old build tree, set CMAKE_LINKER to link to make it link Alex --- Modules/CMakeFindBinUtils.cmake | 4 ++++ Modules/Platform/cl.cmake | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/Modules/CMakeFindBinUtils.cmake b/Modules/CMakeFindBinUtils.cmake index b65877a..8eb1fa2 100644 --- a/Modules/CMakeFindBinUtils.cmake +++ b/Modules/CMakeFindBinUtils.cmake @@ -49,6 +49,10 @@ ENDIF(APPLE) IF("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC" OR "${CMAKE_C_COMPILER_ID}" MATCHES "MSVC") FIND_PROGRAM(CMAKE_LINKER NAMES link PATHS ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH) FIND_PROGRAM(CMAKE_LINKER NAMES link) + + IF(NOT CMAKE_LINKER) + MESSAGE(FATAL_ERROR "Could not find link, please check your installation.") + ENDIF(NOT CMAKE_LINKER) MARK_AS_ADVANCED(CMAKE_LINKER) ENDIF("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC" OR "${CMAKE_C_COMPILER_ID}" MATCHES "MSVC") diff --git a/Modules/Platform/cl.cmake b/Modules/Platform/cl.cmake index b578ab2..eba5c32 100644 --- a/Modules/Platform/cl.cmake +++ b/Modules/Platform/cl.cmake @@ -2,6 +2,14 @@ SET(CMAKE_LIBRARY_PATH_FLAG "-LIBPATH:") SET(CMAKE_LINK_LIBRARY_FLAG "") SET(MSVC 1) +# hack: if a new cmake (which uses CMAKE__LINKER) runs on an old build tree +# (where link was hardcoded) and where CMAKE_LINKER isn't in the cache +# and still cmake didn't fail in CMakeFindBinUtils.cmake (because it isn't rerun) +# hardcode CMAKE_LINKER here to link, so it behaves as it did before, Alex +IF(NOT DEFINED CMAKE_LINKER) + SET(CMAKE_LINKER link) +ENDIF(NOT DEFINED CMAKE_LINKER) + IF(CMAKE_VERBOSE_MAKEFILE) SET(CMAKE_CL_NOLOGO) ELSE(CMAKE_VERBOSE_MAKEFILE) -- cgit v0.12