我从源代码配置CMake项目并使用make
进行构建和安装,即
$ ls
./build/ ./source/
$ cd build/
$ cmake ../source/
[...]
$ make
[...]
$ make install
[...]
我现在注意到项目配置错误,因为它包含许多在安装目录中被覆盖的同名文件,例如/usr/local/include/mystring.h
被make install
多次写入。
是否有系统的方法来检测文件是否在同一个项目中被覆盖?
答案 0 :(得分:1)
好吧,您可以将install()
个调用包装到您自己的函数中,该函数会将所有已安装的文件存储在缓存列表变量中,并在实际调用install()
之前检查现有项目。
您也可以查看${PROJECT_BINARY_DIR}/install_manifest.txt
文件 - 也许它会包含重复项。