cmake_instrumentation¶
4.0 版本新增。
注意
此命令仅在通过 CMAKE_EXPERIMENTAL_INSTRUMENTATION 门启用实验性插桩支持时可用。
启用与 CMake 插桩 API 的交互。
这允许在项目级别配置插桩。
cmake_instrumentation(
API_VERSION <version>
DATA_VERSION <version>
[HOOKS <hooks>...]
[QUERIES <queries>...]
[CALLBACK <callback>]
)
API_VERSION 和 DATA_VERSION 必须始终给出。目前,这两个字段唯一支持的值是 1。有关 API_VERSION 的详细信息,请参见API v1;有关 DATA_VERSION 的详细信息,请参见Data v1。
可选关键字 HOOKS、QUERIES 和 CALLBACK 中的每一个都对应于v1 查询文件的参数之一。CALLBACK 关键字可以多次提供以创建多个回调。
每当调用 cmake_instrumentation 时,将在 <build>/.cmake/instrumentation/v1/query/generated 中生成一个查询文件,以启用带有所提供参数的插桩。
示例¶
以下示例展示了命令的调用及其等效的 JSON 查询文件。
cmake_instrumentation(
API_VERSION 1
DATA_VERSION 1
HOOKS postGenerate preCMakeBuild postCMakeBuild
QUERIES staticSystemInformation dynamicSystemInformation
CALLBACK ${CMAKE_COMMAND} -P /path/to/handle_data.cmake
CALLBACK ${CMAKE_COMMAND} -P /path/to/handle_data_2.cmake
)
{
"version": 1,
"hooks": [
"postGenerate", "preCMakeBuild", "postCMakeBuild"
],
"queries": [
"staticSystemInformation", "dynamicSystemInformation"
],
"callbacks": [
"/path/to/cmake -P /path/to/handle_data.cmake"
"/path/to/cmake -P /path/to/handle_data_2.cmake"
]
}