Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用CMake命令从旧版本中提取分支的SVN信息_Svn_Cmake - Fatal编程技术网

使用CMake命令从旧版本中提取分支的SVN信息

使用CMake命令从旧版本中提取分支的SVN信息,svn,cmake,Svn,Cmake,我有一个与CMake命令相关但更多的问题 我在我的项目中使用find软件包来获取有关工作副本修订的信息,我需要在我的应用程序中显示这些信息 # Load built-in SVN module find_package(Subversion) if(SUBVERSION_FOUND) # WC_INFO will define ${PROJECT_NAME}_WC_REVISION among others subversion_wc_info(${PROJECT_SOURCE

我有一个与CMake命令相关但更多的问题

我在我的项目中使用find软件包来获取有关工作副本修订的信息,我需要在我的应用程序中显示这些信息

# Load built-in SVN module
find_package(Subversion)

if(SUBVERSION_FOUND)
    # WC_INFO will define ${PROJECT_NAME}_WC_REVISION among others
    subversion_wc_info(${PROJECT_SOURCE_DIR} ${PROJECT_NAME})

    set(${PROJECT_NAME}_VERSION_REVISION ${${PROJECT_NAME}_WC_REVISION})
endif()
问题:


我从旧版本
(#300)
创建了一个分支来修复一些bug,并将新分支切换到当前工作副本。但是当我在新创建的分支上运行
find_-package(Subversion)
命令时,它会给我相同的WC-copy-revision
\363
。我希望得到
#355
${${PROJECT_NAME}\u WC_REVISION}
新分支机构的工作副本修订版应为
355
。但是我得到了两个分支的
#363

      Main
        |
   #300 |---branch
        |   |
        |   | 
        |   HEAD (committed changes at #355)
        |
        |
       HEAD
       #363

我是不是遗漏了什么?我想,
${${PROJECT\u NAME}{u WC\u REVISION}
应该给我当前请求的分支机构的头版本。如何获取各个分支的
svn HEAD信息

Subversion
存储库中切换分支时,需要删除
CMakeCache.txt
并重新运行
CMake

听起来像是缓存问题。您是否已经删除了CMakeCache.txt文件并重复了CMake运行?“但是当我在新创建的分支上运行
find\u package(Subversion)
命令时…”-您可能指的是用于检查项目的命令
Subversion\u wc\u info
。命令
find\u package(Subversion)
只定位
svn
可执行文件,而不是你的项目。我现在觉得很愚蠢@这是缓存问题。成功了。谢谢如果你愿意补充的话,我会把你的建议作为一个答案。否则我只回答我自己的问题来解决这个问题。