使用CMake命令从旧版本中提取分支的SVN信息
我有一个与CMake命令相关但更多的问题 我在我的项目中使用find软件包来获取有关工作副本修订的信息,我需要在我的应用程序中显示这些信息使用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
# 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
可执行文件,而不是你的项目。我现在觉得很愚蠢@这是缓存问题。成功了。谢谢如果你愿意补充的话,我会把你的建议作为一个答案。否则我只回答我自己的问题来解决这个问题。