【发布时间】:2020-10-31 15:04:09
【问题描述】:
我有一个项目,我根据用户的兴趣使用 2 个不同的库。在生成时,我想让用户选择要构建的库。到目前为止,我使用了这样的东西:
set(BUILD_WITH_IR OFF CACHE BOOL "build ir")
set(BUILD_WITH_TOF OFF CACHE BOOL "build tof")
问题:
我在 CMake GUI 中看到 2 个复选框可供选择。我选择一个并单击配置。 CMake 将两个复选框都重置为 OFF(取消选中)。可以理解,因为每次 CMake 配置时两者都设置为 OFF。
我希望用户一次只能选择一个选项。根据用户选择,我配置我的项目的其余部分。
如何使这些变量互斥?
【问题讨论】:
-
?重点是什么?使用
set_property(CACHE BUILD_WITH PROPERTY STRINGS nothing IR TOF)执行set(BUILD_WITH nothing CACHE STRING "build with that thung")。使用多个布尔选项创建多选项很奇怪...blog.kitware.com/… 无论如何,使用cmake_dependent_option 应该是可行的。