如何在CMake中生成GUID?

5

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


1
你能否检查一下这个链接 https://dev59.com/QG_Xa4cB1Zd3GeqP3qkB 是否是重复的?不太确定... - kebs
1
这不是一个重复的内容。 - jbcoe
1个回答

6

在CMake中有几种方法可以创建唯一标识符(参见string() 生成)。

例如,string(TIMESTAMP ...)string(RANDOM ...)string(UUID ...)

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

Create a univerally unique identifier (aka GUID) as per RFC4122

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
)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接