summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-04-10 10:10:39 -0400
committerBrad King <brad.king@kitware.com>2014-04-11 09:10:56 -0400
commit7147ed5ce45ac6ae9d5f4e6e45bce2c66be39be3 (patch)
tree5079cebca5d0d6f9743467534453ddab2e7f56f2
parentdb924e00b4ddb7c068103e43f314042b154f38ac (diff)
downloadcmake-7147ed5ce45ac6ae9d5f4e6e45bce2c66be39be3.tar.gz
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.
-rw-r--r--Modules/CMakeRCInformation.cmake7
1 files changed, 4 insertions, 3 deletions
diff --git a/Modules/CMakeRCInformation.cmake b/Modules/CMakeRCInformation.cmake
index 68994576b0..6bb2636f1f 100644
--- a/Modules/CMakeRCInformation.cmake
+++ b/Modules/CMakeRCInformation.cmake
@@ -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)