作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为了确保无论构建主机使用何种发行版,我的 Linux 构建都是相同的,我将编译器和 sysroot 文件打包到一个可重定位的 tar 文件中,并将其检查到源代码管理中。
因此,任何构建的第一步(或至少,必须在任何编译步骤之前调用的步骤)必须是提取此 tar 文件。
如果我使用的是 makefile,这将很容易做到。但是,该项目正在使用 cmake,我想不出任何使用 cmake 的方法。甚至可能是我需要在 cmake 开始检测编译器之前调用这个提取步骤:我可以对编译器名称进行硬编码,但是如果 cmake 如果找不到编译器而失败,那么我需要在该测试之前进行解包。
cmake可以做到吗?
最佳答案
您可以使用 execute_process
调用 cmake 的跨平台命令模式 ( cmake -E tar
)。该命令将类似于:
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf MyCompiler.bz2)
project
,所以只要你有你的
execute_process
之前打电话
project
调用,解包将在编译器检查之前完成。
关于cmake - 如何让 cmake 解压我的编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14614813/
我是一名优秀的程序员,十分优秀!