windows - Windows 的 CMake 安装目标 bin 等效项

标签 windows cmake environment-variables

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

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

我做到了:

Install(TARGETS ... DESTINATION bin)

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

'whatever' is not recognized as an internal or external command, operable program or batch file.

Windows 的等效目标是什么?

最佳答案

与 Linux 不同,Windows 没有用于安装可运行文件公共(public)目录。

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

要使文件仅通过名称即可运行,您需要将包含该文件的目录添加到 PATH 环境变量。

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

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

关于windows - Windows 的 CMake 安装目标 bin 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47697492/

相关文章:

linux - 如何在 cmake COMMAND 中回显 shebang

Azure docker : linuxFxVersion vs DOCKER_CUSTOM_IMAGE_NAME

c# - 如何将新字符串添加到 REG_MULTI_SZ 类型的注册表项?

c - 打包要从 C 调用的 Lua 脚本文件的最佳做法是什么。使用 CMake

c++ - CLion Cmake mysql.h 误解

junit - 如何通过 Junit 设置环境变量?

c - Linux getenv() 无法获取 $PS1 或 $PS2

c# - 检测窗口何时关闭并在 C# 中传递窗口的路径

Java 多播套接字在 Windows 上不起作用(SocketPermission 异常)

windows - 第一次开发简单的 Windows 应用程序需要什么 IDE?