【发布时间】:2018-02-17 01:26:55
【问题描述】:
我为 MacOS 编写了一个应用程序,它采用命令行参数,因此需要从 Terminal 运行。在CMake,我有以下几行:
if(APPLE)
add_executable(myApp MACOSX_BUNDLE myApp.cpp)
endif()
INSTALL(TARGETS myApp DESTINATION /usr/local/bin)
在make install之后,应用程序可以从Terminal运行为:
/usr/local/bin/myApp.app/Contents/MacOS/myApp <command-line-args>
由于MACOSX_BUNDLE,上面太麻烦了,我想简单地调用它为myApp。
【问题讨论】:
-
你对设置PATH了解多少?
-
我确实想过,但没有比手动设置应用内容文件夹路径更优雅的解决方案吗?
make install有什么技巧吗? -
杜尔。我是愚蠢的。你控制程序。您可能控制构建脚本。将符号链接构建指令添加到 make install 规则中。
-
只需删除
MACOSX_BUNDLE并像 Linux/Win 二进制文件一样构建它 -
@dr_rk 也许您应该提出一个问题,即为什么您似乎需要构建为一个捆绑包才能使回调工作。我怀疑你真的这样做了。