如何让cmake解压缩我的编译器

时间:2013-01-30 22:12:03

标签: cmake

为了确保我的Linux版本完全相同,无论构建主机使用的分发如何,我已将我的编译器和sysroot文件打包成可重定位的tar文件,并将其检入源代码控制。

因此,任何构建的第一步(或者至少是在任何编译步骤之前必须调用的步骤)必须是提取此tar文件。

如果我使用的是makefile,这很简单。但是,该项目正在使用cmake,我无法用cmake找出任何方法。甚至可能是我需要在cmake开始检测编译器之前调用这个提取步骤:我可以对编译器名称进行硬编码,但如果cmake失败,如果它找不到编译器,那么我需要在该测试之前进行解包。

这可以用cmake吗?

1 个答案:

答案 0 :(得分:7)

您可以使用execute_process来调用cmake的跨平台命令模式(cmake -E tar)。该命令将类似于:

execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf MyCompiler.bz2)

导致CMake检查有效编译器的命令是project,因此只要您在execute_process呼叫之前进行了project呼叫,就会在之前完成解包。编译器检查。