ENVIRONMENT_MODIFICATION

3.22 版本新增。

指定运行测试时应修改的环境变量。注意,此属性执行的操作是在 ENVIRONMENT 属性应用之后执行的。

将其设置为一个以分号分隔的列表,包含格式为 MYVAR=OP:VALUE 的环境变量及其值,其中 MYVAR 是要修改的环境变量的区分大小写的名称。条目将按照属性值中指定的顺序进行处理。OP 可以是以下值之一:

  • reset:重置为未修改的值,忽略在此条目之前对 MYVAR 的所有修改。注意,如果 ENVIRONMENT 设置了该变量,它将重置为该属性设置的值,否则将重置为 CTest 执行过程中的原始状态。

  • set:使用 VALUE 替换 MYVAR 的当前值。

  • unset:取消设置 MYVAR 的当前值。

  • string_append:将单个 VALUE 追加到 MYVAR 的当前值之后。

  • string_prepend:将单个 VALUE 添加到 MYVAR 的当前值之前。

  • path_list_append:使用宿主平台的路径列表分隔符(Windows 上为 ;,其他平台为 :),将单个 VALUE 追加到 MYVAR 的当前值之后。

  • path_list_prepend:使用宿主平台的路径列表分隔符(Windows 上为 ;,其他平台为 :),将单个 VALUE 添加到 MYVAR 的当前值之前。

  • cmake_list_append:使用 ; 作为分隔符,将单个 VALUE 追加到 MYVAR 的当前值之后。

  • cmake_list_prepend:使用 ; 作为分隔符,将单个 VALUE 添加到 MYVAR 的当前值之前。

无法识别的 OP 值将导致测试在执行前失败。这样做是为了在不改变现有测试的有效行为的前提下,可以在未来添加新的操作。

此属性带来的环境变量更改不会影响其他测试。