如何在CMake中生成GUID?

时间:2015-11-19 13:28:52

标签: cmake

我需要在CMake中生成GUIDS,以在某些自定义配置文件中定义唯一标识符。如何使用CMake生成GUID?

1 个答案:

答案 0 :(得分:5)

有几种方法可以在CMake中创建唯一标识符(请参阅string() Generation)。

E.g。 string(TIMESTAMP ...)string(RANDOM ...)string(UUID ...)

string(UUID <output variable> NAMESPACE <namespace> NAME <name>
   TYPE <MD5|SHA1> [UPPER])
     

根据RFC4122

创建一个通用的唯一标识符(也称为GUID)

来自CMake string()单元测试Uuid.cmake的示例:

set(UUID_DNS_NAMESPACE 6ba7b810-9dad-11d1-80b4-00c04fd430c8)
string(
    UUID WWW_EXAMPLE_COM_MD5_UUID 
    NAMESPACE ${UUID_DNS_NAMESPACE} 
    NAME "www.example.com" 
    TYPE MD5
)
string(
    UUID WWW_EXAMPLE_COM_SHA1_UUID 
    NAMESPACE ${UUID_DNS_NAMESPACE} 
    NAME "www.example.com" 
    TYPE SHA1 UPPER
)