Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cmake 仅在运行测试时计算命令_Cmake - Fatal编程技术网

Cmake 仅在运行测试时计算命令

Cmake 仅在运行测试时计算命令,cmake,Cmake,我需要检查mpirun命令是否存在,如果不存在则退出并显示错误消息,但仅当用户尝试运行测试时。仅在构建主库或可执行文件时,此命令不需要存在 更一般地说,如何在调用特定目标时执行cmake脚本?也就是说,只有当我键入构建一些目标时,cmake才应该开始搜索某些环境变量、命令等 编辑 变通办法。在我的例子中,自定义目标依赖于可执行文件,对于可执行文件,我可以使用带有PRE\u链接标志的add\u custom\u命令。然后,自定义命令显示错误消息,并在必要时调用exit 1,并且仅在调用自定义目标时

我需要检查
mpirun
命令是否存在,如果不存在则退出并显示错误消息,但仅当用户尝试运行测试时。仅在构建主库或可执行文件时,此命令不需要存在

更一般地说,如何在调用特定目标时执行cmake脚本?也就是说,只有当我键入
构建一些目标时,cmake才应该开始搜索某些环境变量、命令等

编辑

变通办法。在我的例子中,自定义目标依赖于可执行文件,对于可执行文件,我可以使用带有
PRE\u链接
标志的
add\u custom\u命令
。然后,自定义命令显示错误消息,并在必要时调用
exit 1
,并且仅在调用自定义目标时调用。但是,
PRE_LINK
选项只适用于实际目标,如可执行文件和库,一般来说不适用于自定义目标,因此我仍然很好奇如何在一般情况下解决这个问题