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