将 CMake 项目集成到 Buck 中的最佳方式是什么?

sdg*_*sdh 6 c++ build cmake buck

我将 Buck 用于我自己的 C++ 项目,但我依赖于使用 CMake 构建的第三方库。CMake 文件很复杂,因此我认为在 Buck 中重新创建他们的 CMake 文件是不切实际的。相反,我想从 Buck 调用 CMake。

从 Buck 调用 CMake 的最佳方式是什么?

我应该如何构建我的项目以最大程度地减少头痛?

小智 4

我的建议是使用 genrule 和 prebuilt_cxx_library。

这是我使用Google Test 的Buck 研究项目: https://github.com/ar90n/lab/tree/master/sandbox/buck-study/gtest

该项目包含两个 Buck 文件。其中一个 ( ./gtest/BUCK) 用于获取和构建 Google 测试。另一个 ( ./BUCK) 用于构建和运行测试程序。

如果您想构建并运行该项目,请执行以下命令,

$ buck fetch //gtest:googletest-src
$ buck build :sample1
$ buck run :sample1
Run Code Online (Sandbox Code Playgroud)