使用CMake生成可再发行项目

mad*_*uci 9 c++ linux windows cmake

我正在寻找使用CMake作为项目配置系统和gcc-4.8/VS2012以及Qt5等额外的第三方库为Windows和Linux生成可再发行项目.如何创建具有所有所需依赖项的包并使项目在其他计算机上运行,​​而无需在这些计算机上安装所需的包(即Qt5设置)?

编辑

谷歌搜索巨资我找到QT5需要一些文件,我已经找到了这种讨论 部署QT5库应用程序在Windows 7无法启动

这解释了所需的Qt5依赖关系.

小智 1

通常,我会用来install列出所需的文件并CPack打包它们。也就是说,假设我想创建一个包含以下组件的包:

  • my_nifty_library.dll
  • my_nifty_executable.exe
  • QtCore.dll
  • QtGUI.dll

(免责声明:我不是 Qt 专家,因此最后两个文件可能根本不存在,但您明白了。)

鉴于 和my_nifty_library都是my_nifty_executable您项目的一部分,您可以控制它们,因此只需执行以下操作:

install(TARGETS my_nifty_library my_nifty_executable
        RUNTIME DESTINATION bin
        LIBRARY DESTINATION lib
        ARCHIVE DESTINATION lib)
Run Code Online (Sandbox Code Playgroud)

现在,由于 Qt 不会作为您的项目的一部分构建,因此我建议您使用该ExternalProject模块。

现在,您可以使用CPack和创建 NSIS 安装程序或tar.gz已安装的文件。