cmake 返回當前路徑的上層路徑 string(REGEX REPLACE...)

返回當前路徑的上層路徑

  • 先上實現代碼
string(REGEX REPLACE "(.+)\\learn/basic.*" "\\1" PROJECT_INIT_PATH ${PROJECT_SOURCE_DIR})

說明

  • CMakeLists.txt 所在路徑,可由cmake的宏得到,即PROJECT_SOURCE_DIR,如下
/home/sxy/Personal/github/opencv_cpp/learn/basic/build
  • 目標路徑,爲CMakeLists.txt 所在路徑的上級目錄,保存到PROJECT_INIT_PATH,如下
/home/sxy/Personal/github/opencv_cpp/
  • 使用cmake 中的string()函數和正則表達式可以做到
//原型
string(REGEX REPLACE <regular expression> <replace expression> <ouput variable> <input> [<input> ...])
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章