mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-15 20:46:37 +08:00
BinUtils: Find linker and librarian for OpenWatcom
Update our OpenWatcom linker and archiver rules to use the `<CMAKE_LINKER>` and `<CMAKE_AR>` placeholders instead of hard-coding the tool names.
This commit is contained in:
@@ -86,6 +86,11 @@ if(("x${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_SIMULATE_ID}" STREQUAL "xMSVC" AND
|
||||
|
||||
list(APPEND _CMAKE_TOOL_VARS LINKER MT AR)
|
||||
|
||||
elseif("x${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ID}" MATCHES "^x(Open)?Watcom$")
|
||||
set(_CMAKE_LINKER_NAMES "wlink")
|
||||
set(_CMAKE_AR_NAMES "wlib")
|
||||
list(APPEND _CMAKE_TOOL_VARS LINKER AR)
|
||||
|
||||
# in all other cases search for ar, ranlib, etc.
|
||||
else()
|
||||
if(CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN)
|
||||
|
@@ -43,13 +43,13 @@ endforeach()
|
||||
|
||||
# C create import library
|
||||
set(CMAKE_C_CREATE_IMPORT_LIBRARY
|
||||
"wlib -c -q -n -b <TARGET_IMPLIB> +<TARGET_QUOTED>")
|
||||
"<CMAKE_AR> -c -q -n -b <TARGET_IMPLIB> +<TARGET_QUOTED>")
|
||||
# C++ create import library
|
||||
set(CMAKE_CXX_CREATE_IMPORT_LIBRARY ${CMAKE_C_CREATE_IMPORT_LIBRARY})
|
||||
|
||||
# C link a object files into an executable file
|
||||
set(CMAKE_C_LINK_EXECUTABLE
|
||||
"wlink ${CMAKE_WLINK_QUIET} name <TARGET> <LINK_FLAGS> file {<OBJECTS>} <LINK_LIBRARIES>")
|
||||
"<CMAKE_LINKER> ${CMAKE_WLINK_QUIET} name <TARGET> <LINK_FLAGS> file {<OBJECTS>} <LINK_LIBRARIES>")
|
||||
# C++ link a object files into an executable file
|
||||
set(CMAKE_CXX_LINK_EXECUTABLE ${CMAKE_C_LINK_EXECUTABLE})
|
||||
|
||||
@@ -69,19 +69,19 @@ set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE
|
||||
|
||||
# C create a shared library
|
||||
set(CMAKE_C_CREATE_SHARED_LIBRARY
|
||||
"wlink ${CMAKE_WLINK_QUIET} name <TARGET> <LINK_FLAGS> option implib=<TARGET_IMPLIB> file {<OBJECTS>} <LINK_LIBRARIES>")
|
||||
"<CMAKE_LINKER> ${CMAKE_WLINK_QUIET} name <TARGET> <LINK_FLAGS> option implib=<TARGET_IMPLIB> file {<OBJECTS>} <LINK_LIBRARIES>")
|
||||
# C++ create a shared library
|
||||
set(CMAKE_CXX_CREATE_SHARED_LIBRARY ${CMAKE_C_CREATE_SHARED_LIBRARY})
|
||||
|
||||
# C create a shared module
|
||||
set(CMAKE_C_CREATE_SHARED_MODULE
|
||||
"wlink ${CMAKE_WLINK_QUIET} name <TARGET> <LINK_FLAGS> file {<OBJECTS>} <LINK_LIBRARIES>")
|
||||
"<CMAKE_LINKER> ${CMAKE_WLINK_QUIET} name <TARGET> <LINK_FLAGS> file {<OBJECTS>} <LINK_LIBRARIES>")
|
||||
# C++ create a shared module
|
||||
set(CMAKE_CXX_CREATE_SHARED_MODULE ${CMAKE_C_CREATE_SHARED_MODULE})
|
||||
|
||||
# C create a static library
|
||||
set(CMAKE_C_CREATE_STATIC_LIBRARY
|
||||
"wlib ${CMAKE_LIB_QUIET} -c -n -b <TARGET_QUOTED> <LINK_FLAGS> <OBJECTS> ")
|
||||
"<CMAKE_AR> ${CMAKE_LIB_QUIET} -c -n -b <TARGET_QUOTED> <LINK_FLAGS> <OBJECTS> ")
|
||||
# C++ create a static library
|
||||
set(CMAKE_CXX_CREATE_STATIC_LIBRARY ${CMAKE_C_CREATE_STATIC_LIBRARY})
|
||||
|
||||
|
Reference in New Issue
Block a user