我正在准备一个应该使用和不使用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,但我收到了消息,并且构建了库。在哪里寻找错误?
答案 0 :(得分:4)
将我的评论转化为答案
您的代码看起来不错。所以我假设这里的问题是option()
确实通过初始配置步骤将给定值传递到CMakeCache.txt
。之后,您只能通过修改NEED_GUI
的缓存条目来更改它。在生成构建环境后更改CMakeLists.txt
中的选项将不再更新缓存。
<强>参考强>
答案 1 :(得分:1)
if (NEED_GUI MATCHES ON)
是适当的用法而不是
if (NEED_GUI)