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"
]
}