我正在将一些旧测试转换为 cmake/ctest,如果输出文件包含特定的警告消息,我希望测试失败。
过去,我会在输出文件中搜索特定字符串。我已经在使用 execute_process 来使用 compare_files 命令。是否有类似的命令用于在文件中搜索字符串?
谢谢你的帮助。
不,但您可以使用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
细节可能有点不同,但这是一般的想法。