CMake 安装目标 bin 相当于 Windows

p.d*_*man 2 windows cmake environment-variables

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

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

我做了:

Install(TARGETS ... DESTINATION bin)
Run Code Online (Sandbox Code Playgroud)

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

“whatever”不被识别为内部或外部命令、可操作程序或批处理文件。

Windows 的等效目标是什么?

Tsy*_*rev 6

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

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

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

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

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