在Linux上我配置了CMake以在bin
文件夹中安装输出。
然后,无论当前目录是什么,我都可以在终端中调用可执行文件。
我做了:
Install(TARGETS ... DESTINATION bin)
在Windows上,它不起作用。它告诉我:
'无论'不被识别为内部或外部命令, 可操作程序或批处理文件。
Windows的等效目标是什么?
答案 0 :(得分:2)
与Linux不同,Windows没有通用目录,用于将可运行文件安装到其中。
如果您的项目包含可运行的文件,您可以将它们放在项目的安装前缀(反过来看起来像C:/Program Files/<Package name>
)下的任何位置:您可以将可运行文件直接放在安装前缀下或放入{{ 1}}子目录或其他任何内容。
为了使文件只能按名称运行,你需要将一个带有该文件的目录添加到 PATH 环境变量。
我不确定CMake是否支持在CMake项目的普通安装时自动修改 PATH 变量。
但是,在使用CPack打包项目时,some generators允许您使用自动 PATH 更新来创建项目的安装程序。例如。对于NSYS生成器,请参阅 CPACK_NSIS_MODIFY_PATH 和 CPACK_NSIS_EXECUTABLES_DIRECTORY 变量。