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
1 changed files with 4 additions and 3 deletions

View File

@ -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")
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)