我试图在编译时获取git标记,并将其在cpp文件中的项目中使用(如全局变量)。
我尝试使用本教程:http://xit0.org/2013/04/cmake-use-git-branch-and-commit-details-in-project/
这是代码:
<cfset arrLabels = [
"label1/label12/label13/label14",
"label1/label12/label15",
"label1/label12/label16",
"label7/label72/label73"
]>
<cffunction name="labelConversion" returntype="struct">
<cfargument name="arrLabels" type="array">
<cfset var structLabels = {} />
<cfloop from="1" to="#ArrayLen(arguments.arrLabels)#" index="i">
<cfset StructGet("structLabels."&replace(arguments.arrLabels[i],'/','.', 'all'))>
</cfloop>
<cfreturn structLabels />
</cffunction>
<cfdump var="#labelConversion(arrLabels)#">
<cfabort>
但它似乎不起作用,我的文件仅显示“ @ GIT_BRANCH @”,而不是实际值。
任何人都有可行的解决方案,即使它与以上教程有所不同。 我正在使用cmake_minimum_required(版本2.8.3),并且正在使用catkin_make。