summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2007-05-18 14:55:35 (GMT)
committerAlexander Neundorf <neundorf@kde.org>2007-05-18 14:55:35 (GMT)
commit15a7414a60bc31cd75c5e5af2618c3d4ffc64944 (patch)
treeb6911cb15e011cccea791ad79b52e8663cf7e4bd
parent891f2130cf27fdf965367cb2f37f0b1f068fadee (diff)
downloadCMake-15a7414a60bc31cd75c5e5af2618c3d4ffc64944.zip
CMake-15a7414a60bc31cd75c5e5af2618c3d4ffc64944.tar.gz
CMake-15a7414a60bc31cd75c5e5af2618c3d4ffc64944.tar.bz2
COMP: if a new cmake runs on an old build tree, set CMAKE_LINKER to link to make it link
Alex
-rw-r--r--Modules/CMakeFindBinUtils.cmake4
-rw-r--r--Modules/Platform/cl.cmake8
2 files changed, 12 insertions, 0 deletions
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)