在以下问题上,我需要一些建议:
我有一个 QT 项目,目前已设置为与 qmake 很好地配合使用。但是,由于项目需求和未来方向的扩展,我需要更改它的构建系统,因为应用程序将需要对其构建方式进行一些更改。
现在每个源文件都被编译成一个相当大的可执行文件,它被(手动)打包并发送到下载区域。一切皆好。
但我的目标是模块化应用程序,将每个“功能”编译到共享库中,并且用户(开发人员)将能够选择他想要编译的组件。这些“功能”放置在源代码树的目录中(例如:query_builder、reverse_engineer、mysql_DB_support、version_managemen 目录等),当用户构建应用程序时,他只需告诉构建系统使用查询构建器编译应用程序, 和 mysql,但没有反向工程,在这种情况下,构建系统从指定目录添加源文件并从中创建一个库。
我还有其他要求,例如:
- windows构建,linux构建
- 可选包构建(deb,rpm)
- 支持 QT 和可能的 QT5
- 多个可执行文件(GUI 客户端、CLI 客户端)
经过一些“市场调查”后,我最终将 CMake 和 SCons 作为我可能使用的两个可能的系统。我有一些 CMake 经验和一些 python 经验,但还没有 SCons。
但我不知道哪一个最适合我的情况,这是我需要你帮助的地方。你能详细说明我应该使用哪个吗?如果您认为我的要求可以通过 qmake 实现,请也告诉我,
干杯,F。