cmake分割字符串


1. cmake分割字符串

以linux-4.8.16为例获取4 8 16

set(SEXY_STRING "linux-4.8.16")
string(REPLACE "-" ";" Linux_Name ${SEXY_STRING})
list(GET Linux_Name 1 LINUX_VERSION)
MESSAGE(STATUS "show linux version ${LINUX_VERSION}")

string(REPLACE "." ";" VERSION_LIST ${LINUX_VERSION})

message(STATUS "string = ${SEXY_STRING}")
message(STATUS "list = ${VERSION_LIST}")

list(LENGTH SEXY_LIST len)
message(STATUS "len = ${len}")

list(GET VERSION_LIST 0 MY_PROGRAM_VERSION_MAJOR)
list(GET VERSION_LIST 1 MY_PROGRAM_VERSION_MINOR)
list(GET VERSION_LIST 2 MY_PROGRAM_VERSION_PATCH)
MESSAGE(STATUS "BUILD MY_PROGRAM_VERSION_MAJOR ${MY_PROGRAM_VERSION_MAJOR}")
MESSAGE(STATUS "BUILD MY_PROGRAM_VERSION_MINOR ${MY_PROGRAM_VERSION_MINOR}")
MESSAGE(STATUS "BUILD MY_PROGRAM_VERSION_PATCH ${MY_PROGRAM_VERSION_PATCH}")

结果:

-- show linux version 4.8.16
-- string = linux-4.8.16
-- list = 4;8;16
-- len = 0
-- BUILD MY_PROGRAM_VERSION_MAJOR 4
-- BUILD MY_PROGRAM_VERSION_MINOR 8
-- BUILD MY_PROGRAM_VERSION_PATCH 16


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM