我是一个boost.build newby,虽然bjam很容易用于大多数编译任务,但我并没有想出如何做一些非常简单的事情:在系统中安装我的应用程序。
假设我有一个非常简单的项目,在树中有两个文件(除了Jamroot)。
hello.cpp:一个C ++程序说打印/etc/hello.conf的内容
hello.conf:默认的hello.conf
我想做的是:
下面是我开始写的bjam:
exe hello : hello.cpp ;
alias install : install-bin install-etc ;
install install-bin : hello : <location>/usr/bin ;
install install-etc : hello.conf : <location>/etc ;
我的问题是,作为用户,我无法写入/ etc和/ usr / bin,我希望只有在明确调用安装目标时才能执行此操作,而不是每次键入bjam时都这样做。
将安装和构建阶段分开是非常重要的,因为构建阶段应该使用用户权限并使用管理员权限安装阶段。
答案 0 :(得分:3)
你写的内容似乎很好,除了两个问题。首先,最后一行应为:
install install-etc : hello.conf : <location>/etc ;
explicit install install-bin install-etc ;
其次,install
别名应引用install-bin
和install-etc
。当你做出这些改变时,做事情会有效吗?