CMakeRCInformation: Recognize 'windres' tools with '.' in name (#14865)
A 64-bit MinGW windres is named "i686-w64-mingw32.shared-windres". The get_filename_component NAME_WE mode may strip the ".shared-windres" part and cause the result to no longer contain "windres". Instead, match the "windres" name in the full CMAKE_RC_COMPILER value first, and use the get_filename_component code path only for other resource compilers.
This commit is contained in:
parent
db924e00b4
commit
7147ed5ce4
|
@ -19,9 +19,10 @@
|
|||
|
||||
# make sure we don't use CMAKE_BASE_NAME from somewhere else
|
||||
set(CMAKE_BASE_NAME)
|
||||
get_filename_component(CMAKE_BASE_NAME ${CMAKE_RC_COMPILER} NAME_WE)
|
||||
if("${CMAKE_BASE_NAME}" MATCHES "windres")
|
||||
set(CMAKE_BASE_NAME "windres")
|
||||
if(CMAKE_RC_COMPILER MATCHES "windres[^/]*$")
|
||||
set(CMAKE_BASE_NAME "windres")
|
||||
else()
|
||||
get_filename_component(CMAKE_BASE_NAME ${CMAKE_RC_COMPILER} NAME_WE)
|
||||
endif()
|
||||
set(CMAKE_SYSTEM_AND_RC_COMPILER_INFO_FILE
|
||||
${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}.cmake)
|
||||
|
|
Loading…
Reference in New Issue