qmake 项目内的 CMake 项目



长话短说,我们有一个Qt项目,我正在考虑迁移到CMake。但是,我们的一些客户将现有库用作Qt子目录项目中的子项目。这是否意味着我们在构建系统中坚持使用Qt?

这是

可能的,但很丑陋。例如,您可以在 qmake 文件中使用 system() 函数:

系统(命令[,模式])

您可以使用系统函数的此变体从命令中获取 stdout 并将其分配给变量。

例如:

UNAME = $$system(uname -s)contains( UNAME, [lL]inux ):message( 这看起来像 Linux ($$UNAME) 对我来说)

如评论中所述,您的后备选项是为您的项目维护两者,并为您的客户提供合理的 qmake 通知期,以便他们有足够的时间进行迁移(如果他们愿意的话)。

否则,使用 system() 函数运行所需的 cmake 和 build 命令看起来至少要走一条路。

最新更新