首页 > 解决方案 > CMake 到 Bazel 的迁移

问题描述

我正在将 CMake 项目转换为 Bazel。

我有顶级CMakeLists.txt使用一些全局变量,如TYPE_A, TYPE_B。还有另一个CMakeLists.txt使用上述变量。

以下是文件夹结构

在此处输入图像描述

“app”文件夹内的内容CMakeLists.txt包含以下内容。

option(TYPE_A "A BUILD" ON)
option(TYPE_B "B BUILD" ON)

“app2”文件夹内的内容CMakeLists.txt包含以下内容。

if (${TYPE_A})
//Do someprocesing
endif()


if(${TYPE_B})
//Do someprocessing
endif()

我的问题是我将如何设置 Bazel 的 CMakeLists.txt(在“app”文件夹内)中存在的选项,并在“app2”文件夹内的 BUILD 文件中访问相同的变量。换句话说,我将如何处理“app”和“app2”包?

标签: ubuntubazel

解决方案


考虑使用rules_foreign_cc来继续使用 CMake 构建源代码树的那一部分。


推荐阅读