我正在使用Facebook使用proxygen库的项目。后者通过称为的脚本来构建自身,该脚本deps.sh
用于以apt-get
超级用户身份进行调用。我已经cmake
使用add_custom_target
伪指令成功创建了一个自定义目标,但是由于上面的调用带有错误sudo: no tty present and no askpass program specified
,所以它失败了,这当然是有道理的。
无论如何,我一直无法找到一种执行该脚本的方法,因此无法使用超级用户作为超级用户来调用命令add_custom_target
。我可以安全地安装该库并FindProxygen
为我的同事编写一个模块,以使构建过程保持一致,但是我想知道是否有一种干净的解决方案可以解决以root身份启动命令cmake
并因此将库放到库中的问题。作为项目的子模块。
响应非常简单:不。
如评论中所述,cmake希望找到系统中已经安装的所有必需的库(或至少在搜索路径中),任何其他解决方案都将停止执行并等待用户输入。
据我所知,通常的方法是创建一个脚本来负责下载,编译和准备项目,在上面提到的项目中我也使用了这种方法,之后又立即开始使用另一种方法。在环境中,proxygen本身也是如此。
最终用户将被要求首先执行该脚本,因此他将能够继续使用cmake。
就这样,谢谢您的评论。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句