有几种方法可以在CMake中创建唯一标识符(请参阅string() 生成).
例如string(TIMESTAMP ...),string(RANDOM ...)或string(UUID ...):
Run Code Online (Sandbox Code Playgroud)string(UUID <output variable> NAMESPACE <namespace> NAME <name> TYPE <MD5|SHA1> [UPPER])根据RFC4122创建一个通用的唯一标识符(也称为GUID)
来自CMake的string()单元测试Uuid.cmake的示例:
Run Code Online (Sandbox Code Playgroud)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 )