长话短说,我们有一个Qt项目,我正在考虑迁移到CMake。但是,我们的一些客户将现有库用作Qt子项目中的子项目。这是否意味着我们仍然坚持使用Qt构建系统?
答案 0 :(得分:2)
这是可能的,但很难看。例如,您可以在qmake文件中使用system()函数:
您可以使用系统函数的这种变体从命令中获取stdout并将其分配给变量。
例如:
UNAME = $$ system(uname -s) contains(UNAME,[lL] inux):message(这看起来像Linux($$ UNAME)给我)
正如评论中所讨论的,您的后备选项是为您的项目维护两者,并为您的客户提供合理数量的qmake通知期,以便他们有足够的时间进行迁移,如果他们愿意的话。
否则,使用system()函数运行所需的cmake和build命令看起来至少有一种方法。