2014-10-16 99 views
1

我將一些舊的測試轉換爲cmake/ctest,並且如果輸出文件包含特定的警告消息,則希望測試失敗。ctest/cmake在輸出文件中搜索字符串

在過去,我會搜索輸出文件的特定字符串。我已經在使用execute_process來使用compare_files命令。有沒有類似的命令來搜索文件的字符串?

感謝您的幫助。

回答

0

不,但您可以使用FILEhttp://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

具體細節可能會有點不同,但這是一般的想法