【cmake】cmake_dependent_option
cmake_dependent_option
cmake_dependent_option(<option> "<help_text>" <value> <depends> <force>)
说明:
- 如果<depends>中以分号分割的条件列表全部为true,则使<option>对用户可用。否则,名为<option>的局部变量将设置为<force>。
- 当<option>可用时,使用给定的<help_text>和初始<value>;否则,用户设置的任何值都会被保留,以备将来满足<depends>时使用。
CMAKE_DEPENDENT_OPTION(WITH_LIBURING "Enable io_uring bluestore backend" ON "WITH_BLUESTORE;HAVE_LIBAIO" OFF)
-
WITH_LIBURING:- 这是被定义的选项名称。
- 用于控制是否启用
io_uring(Linux 的高性能异步 I/O API)作为 Bluestore 的后端支持。
-
"Enable io_uring bluestore backend":- 此选项的描述文本,用于在 CMake 工具中展示给用户。
- 描述了
WITH_LIBURING的功能,即启用基于io_uring的 Bluestore 后端。
-
ON(value_if_cond_true):- 如果条件
WITH_BLUESTORE;HAVE_LIBAIO为TRUE,则WITH_LIBURING的默认值为ON。 - 表示满足条件时,默认启用
WITH_LIBURING。
- 如果条件
-
"WITH_BLUESTORE;HAVE_LIBAIO"(<condition>):- 控制
WITH_LIBURING启用的条件。 - 是一个逻辑 "与" 的组合,表示只有当
WITH_BLUESTORE=TRUE且HAVE_LIBAIO=TRUE时,WITH_LIBURING才会显示为可配置。 - 这是一个依赖链,确保
WITH_LIBURING仅在满足前置条件时才有意义。
- 控制
-
OFF(value_if_cond_false):- 如果条件
WITH_BLUESTORE;HAVE_LIBAIO为FALSE,则WITH_LIBURING的默认值为OFF并且被禁用。
- 如果条件

浙公网安备 33010602011771号