我应该为 CMake 中的文件或目录路径列表使用什么类型?

What type should I use for a list of file or directory paths in CMake?

CMake 中的缓存变量具有以下几种之一 types:

Type identifier Description
BOOL Boolean ON/OFF value.
FILEPATH Path to a file on disk.
PATH Path to a directory on disk.
STRING A line of text.
INTERNAL A line of text. cmake-gui does not show internal entries. They may be used to store variables persistently across runs.

如果我想存储一个 CMake 风格的* 文件路径或目录路径列表,我应该将其分别定义为 FILEPATH 还是 PATH?作为字符串?

* - 即以分号分隔的字符串表示。

FILEPATHPATH 仅适用于 单一 路径。例如。当用户填写其中一种类型的参数时,CMake GUI 会提供一个路径选择对话框。

对于路径列表,使用 STRING 参数。


如果您将在路径之间使用非分号分隔符,则需要在 CMakeLists.txt 中使用该列表之前将该分隔符转换为分号。例如。您可以选择冒号 (:) 作为分隔符,例如 Linux.

上的 PATH 变量