调用
ctest -j4 -DCTEST_MEMORYCHECK_COMMAND="/usr/bin/valgrind" -DMemoryCheckCommand="/usr/bin/valgrind" --output-on-failure -T MemCheck
说
Memory checker (MemoryCheckCommand) not set, or cannot find the specified program.
为什么不自动找到valgrind,也不能手动指定?
如CTest Wiki page所述,CTest从构建目录中的文件DartConfiguration.tcl
读取内存检查命令的位置(以及其他设置)。创建dart配置文件的一种方法是在CMakeLists.txt中简单地包含CTest CMake模块:
include (CTest)
CTest模块将在/usr/bin
中找到你的valgrind安装,并在MemoryCheckCommand
文件中放置一个指向它的变量DartConfiguration.tcl
。