CMake变量名称区分大小写?

时间:2016-01-26 21:05:08

标签: cmake case-sensitive

CMake如何处理变量名称?它们是否区分大小写?

如果我使用FindFoo.cmake

find_package(Foo)

我可以使用FOO_FOUNDFoo_FOUNDfoo_FOUND吗?

3 个答案:

答案 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变量是什么。或者有一天可能会使用这个工具:

https://youtu.be/BPgXuvPAl-8?t=659