|
|
@@ -19,6 +19,25 @@
|
|
|
|
|
|
# on UNIX, cygwin and mingw
|
|
|
|
|
|
+if(CMAKE_LINKER)
|
|
|
+ # we only get here if CMAKE_LINKER was specified using -D or a pre-made CMakeCache.txt
|
|
|
+ # (e.g. via ctest) or set in CMAKE_TOOLCHAIN_FILE
|
|
|
+ # find the linker in the PATH if necessary
|
|
|
+ get_filename_component(_CMAKE_USER_LINKER_PATH "${CMAKE_LINKER}" PATH)
|
|
|
+ if(NOT _CMAKE_USER_LINKER_PATH)
|
|
|
+ find_program(CMAKE_LINKER_WITH_PATH NAMES ${CMAKE_LINKER} HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
|
|
|
+ if(CMAKE_LINKER_WITH_PATH)
|
|
|
+ set(CMAKE_LINKER ${CMAKE_LINKER_WITH_PATH})
|
|
|
+ get_property(_CMAKE_LINKER_CACHED CACHE CMAKE_LINKER PROPERTY TYPE)
|
|
|
+ if(_CMAKE_LINKER_CACHED)
|
|
|
+ set(CMAKE_LINKER "${CMAKE_LINKER}" CACHE STRING "Default Linker" FORCE)
|
|
|
+ endif()
|
|
|
+ unset(_CMAKE_LINKER_CACHED)
|
|
|
+ endif()
|
|
|
+ unset(CMAKE_LINKER_WITH_PATH CACHE)
|
|
|
+ endif()
|
|
|
+endif()
|
|
|
+
|
|
|
# if it's the MS C/CXX compiler, search for link
|
|
|
if("x${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_SIMULATE_ID}" STREQUAL "xMSVC"
|
|
|
OR "x${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ID}" STREQUAL "xMSVC"
|