【问题标题】:CMake install destination bin equivalent for WindowsCMake 安装目标 bin 等效于 Windows
【发布时间】:2017-12-07 14:40:22
【问题描述】:

在 Linux 上,我将 CMake 配置为在 bin 文件夹中安装输出。

然后我可以在终端中调用可执行文件,无论当前目录是什么。

我做到了:

Install(TARGETS ... DESTINATION bin)

在 Windows 上,它不起作用。它告诉我:

'whatever' 不被识别为内部或外部命令, 可运行的程序或批处理文件。

Windows 的等效目标是什么?

【问题讨论】:

标签: windows cmake environment-variables


【解决方案1】:

与 Linux 不同,Windows 没有用于将 可运行文件 安装到其中的 common 目录。

如果您的项目包含可运行文件,您可以将它们放在项目安装前缀下的任何位置(反过来看起来像C:/Program Files/<Package name>):您可以将可运行文件直接放在安装前缀下或bin/ 子目录或其他任何位置。

为了使文件可以仅按名称运行,您需要将包含该文件的目录添加到 PATH 环境变量中。

我不确定 CMake 是否支持在普通安装 CMake 项目时自动修改 PATH 变量。

但是,当使用CPack 打包您的项目时,some generators 允许您创建项目的安装程序并自动更新PATH。例如。对于 NSIS 生成器,请参阅 CPACK_NSIS_MODIFY_PATHCPACK_NSIS_EXECUTABLES_DIRECTORY 变量。

【讨论】:

  • 谢谢,我去看看 cpack。我需要安装 nsis,但用户是否也需要安装它才能使用我将生成的 cpack 文件?
  • 你有 cpack 的教程吗?因为我不知道如何使用它。我不明白。我添加了 set(CPACK_GENERATOR NSIS) set(CPACK_PACKAGE_NAME "MyLib") set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "MyLib - CPack 组件安装示例") set(CPACK_PACKAGE_VERSION "1.0.0") set(CPACK_PACKAGE_INSTALL_DIRECTORY "CPack Component Example") SET(CPACK_NSIS_MODIFY_PATH ON) Include (CPACK)然后我该怎么办?我仍然使用 cmake-gui 进行配置/生成并使用 Visual Studio 构建?然后呢?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-25
  • 2016-03-30
  • 2017-01-14
相关资源
最近更新 更多