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:
Brad King 2014-04-10 10:10:39 -04:00
parent db924e00b4
commit 7147ed5ce4

View File

@ -19,9 +19,10 @@
# make sure we don't use CMAKE_BASE_NAME from somewhere else # make sure we don't use CMAKE_BASE_NAME from somewhere else
set(CMAKE_BASE_NAME) set(CMAKE_BASE_NAME)
get_filename_component(CMAKE_BASE_NAME ${CMAKE_RC_COMPILER} NAME_WE) if(CMAKE_RC_COMPILER MATCHES "windres[^/]*$")
if("${CMAKE_BASE_NAME}" MATCHES "windres") set(CMAKE_BASE_NAME "windres")
set(CMAKE_BASE_NAME "windres") else()
get_filename_component(CMAKE_BASE_NAME ${CMAKE_RC_COMPILER} NAME_WE)
endif() endif()
set(CMAKE_SYSTEM_AND_RC_COMPILER_INFO_FILE set(CMAKE_SYSTEM_AND_RC_COMPILER_INFO_FILE
${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}.cmake) ${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}.cmake)