【发布时间】:2013-11-24 02:53:15
【问题描述】:
我使用 CMake 的“安装”关键字将一些可执行文件/库放置到系统路径中。是否有内置机制来执行“distclean”之类的操作,其中所有已安装的文件都会被删除?
无休止的 Google 搜索反复出现对话,如果问题提到“cmake”和“cleanup”,则回复总是提到“rm -fr”,而没有仔细阅读。
【问题讨论】:
标签: cmake
我使用 CMake 的“安装”关键字将一些可执行文件/库放置到系统路径中。是否有内置机制来执行“distclean”之类的操作,其中所有已安装的文件都会被删除?
无休止的 Google 搜索反复出现对话,如果问题提到“cmake”和“cleanup”,则回复总是提到“rm -fr”,而没有仔细阅读。
【问题讨论】:
标签: cmake
执行“make install”后应该有“install_manifest.txt”文件。 以下命令应该可以工作:
cat install_manifest.txt | sudo xargs rm
【讨论】:
/usr/local/bin,如果它恰好是那里安装的唯一东西。可能 install_manifest.txt 还不够……
(cat install_manifest.txt; echo) | sudo sh -c 'while read i ; do rm "$i" ; rmdir --ignore-fail-on-non-empty -p "${i%/*}" ; done' 改进这个想法。只要目录为空,它就会处理所有目录。
sudo make uninstall 通常以askubuntu.com/questions/944544/… 工作
crlf/lf 的痛苦,此代码无法在 Windows 上运行。
您可以要求软件作者在 CMake 中添加“卸载”目标,请参阅 https://gitlab.kitware.com/cmake/community/-/wikis/FAQ#can-i-do-make-uninstall-with-cmake
这样你就可以调用 make uninstall。
【讨论】: