ctest/cmake在输出文件中搜索字符串

4
我正在将一些旧测试转换为cmake/ctest,如果输出文件包含特定的警告消息,我希望测试失败。
过去,我会搜索输出文件以查找特定字符串。我已经使用execute_process来使用compare_files命令。是否有类似于搜索文件中字符串的命令?
感谢您的帮助。
1个回答

5
不可以直接操作文件,但可以使用file将文件读入变量中(参见http://www.cmake.org/cmake/help/v3.0/command/file.html),然后使用其中的一个string子命令。
file(READ foo TMPTXT)

string(FIND "${TMPTXT}" "needle" matchres)

message(STATUS ${matchres})

if(${matchres} EQUAL -1)
    message(FATAL_ERROR "No match found")
endif ()

然后

${CMAKE_COMMAND} -P findmatch.cmake

具体情况可能有所不同,但这是一般思路。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接