CMAKE_EXPORT_SARIF¶
在版本 4.0 中新增。
啟用或停用專案的 SARIF 格式 CMake 診斷輸出。
如果啟用,CMake 將會產生一個 SARIF 記錄檔,其中包含在專案中執行 CMake 時輸出的診斷訊息。預設情況下,記錄檔會寫入 .cmake/sarif/cmake.sarif
,但可以透過設定命令列選項 cmake --sarif-output
更改為所需的路徑。
靜態分析結果交換格式 (SARIF) 是一種基於 JSON 的標準格式,供靜態分析工具(包括像 CMake 這樣的建置工具)記錄和傳達診斷訊息。CMake 會為在專案上執行 CMake 時產生的警告和錯誤產生 SARIF 記錄項目(例如 message()
呼叫)。每個記錄項目都包含訊息、嚴重程度和位置資訊(如果有的話)。
以下是 CMake SARIF 輸出的範例
{
"version" : "2.1.0",
"$schema" : "https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0-rtm.4.json",
"runs" :
[
{
"tool" :
{
"driver" :
{
"name" : "CMake",
"rules" :
[
{
"id" : "CMake.Warning",
"messageStrings" :
{
"default" :
{
"text" : "CMake Warning: {0}"
}
},
"name" : "CMake Warning"
}
]
}
},
"results" :
[
{
"level" : "warning",
"locations" :
[
{
"physicalLocation" :
{
"artifactLocation" :
{
"uri" : "/home/user/development/project/CMakeLists.txt"
},
"region" :
{
"startLine" : 5
}
}
}
],
"message" :
{
"text" : "An example warning"
},
"ruleId" : "CMake.Warning",
"ruleIndex" : 0
}
]
}
]
}