I need to generate GUIDS in CMake to define unique identifiers in some custom configuration files. How can I use CMake to generate GUIDs?
Asked
Active
Viewed 3,241 times
1 Answers
6
There are several ways to create unique identifiers in CMake (see string()
Generation).
E.g. string(TIMESTAMP ...)
, string(RANDOM ...)
or string(UUID ...)
:
string(UUID <output variable> NAMESPACE <namespace> NAME <name> TYPE <MD5|SHA1> [UPPER])
Create a univerally unique identifier (aka GUID) as per RFC4122
Examples from CMake's string()
Unit Test 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 )

Florian
- 39,996
- 9
- 133
- 149