我需要以下事项的建议:
我有一个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.