stlink-org / stlink

Open source STM32 MCU programming toolset
BSD 3-Clause "New" or "Revised" License
4.38k stars 1.24k forks source link

Replaced deprecated cmd to fix package uninstall #1426

Closed jsnowy closed 2 days ago

jsnowy commented 2 weeks ago

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.