使用CMake生成可再发行项目

时间:2014-04-07 14:44:40

标签: c++ linux windows cmake

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

修改

谷歌严重我发现Qt5需要一些文件,我发现这个讨论 Application deployed with QT5 libraries does not start on Windows 7

解释了所需的Qt5依赖关系。

1 个答案:

答案 0 :(得分:1)

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

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

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

鉴于my_nifty_librarymy_nifty_executable都是您项目的一部分,您可以控制它们,所以只需执行以下操作:

install(TARGETS my_nifty_library my_nifty_executable
        RUNTIME DESTINATION bin
        LIBRARY DESTINATION lib
        ARCHIVE DESTINATION lib)

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

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