CMake:如何将SVN路径存储在变量中?

时间:2014-02-17 08:16:44

标签: svn cmake

我试图将以下命令的输出存储在cmake变量中:

svn info | grep URL | awk -F 'URL: ' '{ print $2}'

使用awk的目的是从输出的开头删除ULR:以使最终字符串成为以http开头的URL。然后我在CMake文件中尝试了以下内容:

EXECUTE_PROCESS(
     COMMAND svn info ${CMAKE_SOURCE_DIR}
     COMMAND grep URL
     COMMAND awk -F 'URL: ' '{ print $2}'
     OUTPUT_VARIABLE SVNPATH
 )

但是我收到了以下语法错误:

  

awk:cmd。 line:1:$ 2}'
  awk:cmd。 line:1:^语法错误
  awk:cmd。 line:1:$ 2}'
  awk:cmd。 line:1:^表达式中的char'''无效

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

这段代码似乎对我有用,你可以尝试一下吗? (当然,将echo替换为svn info

EXECUTE_PROCESS(
     COMMAND echo "URL: http://blabla"
     COMMAND grep URL
     COMMAND awk -F "URL: " "{print $2}"
     OUTPUT_VARIABLE SVNPATH
)

MESSAGE(STATUS "EXEC: ${SVNPATH}")