在CMake中将字符串的一部分转换为大写

Ant*_*ony 10 regex cmake capitalization

有没有一种方便的方法来转换全部小写的字符串,以便第一个字符是大写?

我目前有一个有效的解决方案:

#PROTO_NAME is the lower-case string
string(SUBSTRING ${PROTO_NAME} 0 1 FIRST_LETTER)
string(TOUPPER ${FIRST_LETTER} FIRST_LETTER)
string(REGEX REPLACE "^.(.*)" "${FIRST_LETTER}\\1" PROTO_NAME_CAP "${PROTO_NAME}")
Run Code Online (Sandbox Code Playgroud)

结果在PROTO_NAME_CAP变量中.有没有更简单或更方便的方法来实现这一目标?

lan*_*tar 8

在CMake中没有内置的解决方案.如果要使事物更具可读性,则只能隐藏函数后面的代码.