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 值将导致测试在执行前失败。这样做是为了在不改变现有测试的有效行为的前提下,可以在未来添加新的操作。
此属性带来的环境变量更改不会影响其他测试。