我需要检查mpirun
命令是否存在,如果不存在则退出并显示错误消息,但仅在用户尝试运行测试时。在构建主库或可执行文件时,此命令不需要存在。
更一般地说,如何在调用特定目标时执行cmake脚本?即,只有当我键入build some_target
时,cmake才会开始搜索某些环境变量,命令等。
修改
解决方法。在我的例子中,自定义目标依赖于可执行文件,对于可执行文件,我可以使用带有add_custom_command
标志的PRE_LINK
。然后,自定义命令将显示错误消息,并在必要时调用exit 1
,并且仅在调用自定义目标时调用PRE_LINK
。但是,setTimeout
选项仅适用于可执行文件和库等真实目标,而不适用于一般的自定义目标,所以我仍然很好奇如何解决一般情况。