qt - 什么会导致 CMake 选项不起作用?

标签 qt cmake option

我正在准备一个可以使用和不使用 GUI 的应用程序,所以我在我的 CMakeLists.txt 中使用命令

option (NEED_GUI "Include Qt support"  OFF) 


if (NEED_GUI)
  message("****GUI should be OFF****")
  add_subdirectory(QtGUI)   # The Qt-based graphics routines
endif (NEED_GUI)

尽管我将选项设置为 OFF,但我还是收到了消息并构建了库。在哪里查找错误?

最佳答案

把我的评论变成答案

你的代码看起来不错。所以我假设这里的问题是 option() 确实将给定的值转移到您的 CMakeCache.txt 中与初始配置步骤。之后,您只能通过修改 NEED_GUI 的缓存条目来更改它。 .更改您的 CMakeLists.txt 中的选项生成构建环境后,将不再更新缓存。

引用文献

  • What's the CMake syntax to set and use variables?
  • Advantages of using CMake option command rather than set?
  • How to tell whether CMake used initial value for an option?
  • 关于qt - 什么会导致 CMake 选项不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35744647/

    相关文章:

    qt - 如何缩短 Qt 制作过程?

    c++ - QtCreator Build/Clean 究竟是做什么的?

    c++ - 如何将所有 3rdparty 运行时依赖项包含到 linux 上的 cmake/cpack 生成的包中?

    ios4 - 单击选择框时如何弹出自定义选项框(iOS,HTML,CSS)

    php - 在单个产品页面上添加一个复选框,这会在 Woocommerce 中增加额外费用

    javascript - 我的选择列表中的所有选项都连接在一个大选项中。我该如何解决?

    c++ - 交叉编译Qt for ARM时出错

    python - 如何子类化 QMessageBox 并在 PySide 中添加进度条

    qt - 如何在 QML 中使用 QFlags?

    c++ - 预处理器定义不会从 CMake 传播到 Unix Makefile