Workaround broken `get_filename_component(... REALPATH)` on Windows
See https://gitlab.kitware.com/cmake/cmake/-/issues/17206
This commit is contained in:
parent
dd3ae7b32b
commit
c2bd68824c
|
@ -594,7 +594,16 @@ if (REQUIRED_ICONS)
|
|||
string(REGEX REPLACE "(^[^/\\]+)" "${NEW_ICON_THEME_NAME}" NEW_ICON_THEME_FILE_RELATIVE_PATH
|
||||
"${ICON_THEME_FILE_RELATIVE_PATH}")
|
||||
set(ICON_THEME_FILE_ALIAS " alias=\"${NEW_ICON_THEME_FILE_RELATIVE_PATH}\"")
|
||||
get_filename_component(ICON_THEME_FILE "${ICON_THEME_FILE}" REALPATH)
|
||||
if (CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
|
||||
find_program(REALPATH_BIN "realpath")
|
||||
if (NOT REALPATH_BIN)
|
||||
message(FATAL_ERROR "Set REALPATH_BIN to the location of realpath.exe to workaround https://gitlab.kitware.com/cmake/cmake/-/issues/17206")
|
||||
endif ()
|
||||
execute_process(COMMAND "${REALPATH_PATH}" "${ICON_THEME_FILE}" OUTPUT_VARIABLE ICON_THEME_FILE OUTPUT_STRIP_TRAILING_WHITESPACE COMMAND_ERROR_IS_FATAL ANY)
|
||||
string(REGEX REPLACE "\n$" "" ICON_THEME_FILE "${ICON_THEME_FILE}")
|
||||
else ()
|
||||
get_filename_component(ICON_THEME_FILE "${ICON_THEME_FILE}" REALPATH)
|
||||
endif ()
|
||||
else ()
|
||||
unset(ICON_THEME_FILE_ALIAS)
|
||||
endif ()
|
||||
|
|
Loading…
Reference in New Issue