我正在开发一个从CMake过渡到Bazel的项目。我们在讨价还价中显然失去的一个关键特征是能够安装项目,以便其他(不一定是Bazel)项目可以使用它。
AFAICT,目前没有内置支持安装项目?!
我需要创建一个便携式(必须至少在Linux和MacOS上工作)的方式来安装项目。具体做法是:
LICENSE
)。lib64
),或者至少应该可以让用户指定正确的libdir。install
命令很棘手并且存在潜在的可移植性问题。请注意上面的平台要求。)这样做的最佳方式是什么?
答案 0 :(得分:0)
除非你想要特定的包(例如deb或rpm),否则你可能想要创建一个可执行规则来为你安装。
您可以创建一个规则来创建一个可执行文件的安装程序(例如shell脚本)(例如,执行校验和检查是否对已安装文件进行了更改,如果文件有实际副本,则执行改变)。您必须使用扩展语言,这与docker rules does to load an image与incremental loader
的{{3}}类似另外:我忘了说如果规则在顶级BUILD文件中命名为bazel run install
,则使用run命令运行安装本身:install
。