CMake如何处理变量名称?它们是否区分大小写?
如果我使用FindFoo.cmake
和
find_package(Foo)
我可以使用FOO_FOUND
,Foo_FOUND
和foo_FOUND
吗?
答案 0 :(得分:16)
CMake变量区分大小写。请参阅documentation。
作为旁注,命令不区分大小写,并且它们的参数区分大小写。见wiki。像STATUS这样的关键字区分大小写,因为它们是参数。例如:
message(STATUS foo)
MESSAGE(status foo)
输出:
foo
statusfoo
第二个标记为警告(默认消息类型)。
仍然关注区分大小写,请查看boolean variable section。
答案 1 :(得分:4)
他们 区分大小写。
这是一个例子:
set(foo 42)
MESSAGE( STATUS ${foo})
MESSAGE( STATUS ${Foo})
输出:
-- 42
--
答案 2 :(得分:1)
查看FindFoo的文档,找出正确的_FOUND
变量是什么。或者有一天可能会使用这个工具: