I found that the “cmake_uninstall.cmake.in” in the test branch can't remove any installation files, but still prompted files uninstalled. Then I located a bug at this line: COMMAND "@CMAKE_COMMAND@" -E remove \"{file}\", and found that there are two issues: 1st. the "\" was added in front of the file string quote, resulting in incorrect parsing of the file path, it needs to be removed. 2nd. The deprecated cmake -E remove command does not check whether the file path is correct, nor return an error to be captured by if (NOT "${rm_retval}" STREQUAL 0), the solution is to use 'cmake -E rm' instead. I have made these fix and added a file verification to my fork repository, I hope to contribute my code here.
I found that the “cmake_uninstall.cmake.in” in the test branch can't remove any installation files, but still prompted files uninstalled. Then I located a bug at this line:
COMMAND "@CMAKE_COMMAND@" -E remove \"{file}\"
, and found that there are two issues: 1st. the "\" was added in front of the file string quote, resulting in incorrect parsing of the file path, it needs to be removed. 2nd. The deprecatedcmake -E remove
command does not check whether the file path is correct, nor return an error to be captured by if(NOT "${rm_retval}" STREQUAL 0)
, the solution is to use 'cmake -E rm' instead. I have made these fix and added a file verification to my fork repository, I hope to contribute my code here.