@@ -172,10 +172,9 @@ def get_git_version(git_base_path, git_tag_override):
172
172
"but got '%s'" ) % val )
173
173
# There might be "-" in the tag name. But we can be sure that the final
174
174
# two "-" are those inserted by the git describe command.
175
- commits_ahead_of_tag = split_val [- 2 ]
176
175
abbrev_commit = split_val [- 1 ]
177
176
val = bytes (
178
- "-" .join ([git_tag_override , commits_ahead_of_tag , abbrev_commit ]))
177
+ "-" .join ([git_tag_override , "0" , abbrev_commit ]))
179
178
return val if val else unknown_label
180
179
except subprocess .CalledProcessError :
181
180
return unknown_label
@@ -257,20 +256,21 @@ def generate(arglist, git_tag_override=None):
257
256
write_version_info (dest_file , git_version )
258
257
259
258
260
- def raw_generate (output_file , git_tag_override = None ):
259
+ def raw_generate (output_file , source_dir , git_tag_override = None ):
261
260
"""Simple generator used for cmake/make build systems.
262
261
263
262
This does not create any symlinks. It requires the build system
264
263
to build unconditionally.
265
264
266
265
Args:
267
266
output_file: Output filename for the version info cc
267
+ source_dir: Base path of the source code
268
268
git_tag_override: Override the value for the git tag. This is useful for
269
269
releases where we want to build the release before the git tag is
270
270
created.
271
271
"""
272
272
273
- git_version = get_git_version ("." , git_tag_override )
273
+ git_version = get_git_version (source_dir , git_tag_override )
274
274
write_version_info (output_file , git_version )
275
275
276
276
@@ -308,6 +308,11 @@ def raw_generate(output_file, git_tag_override=None):
308
308
type = str ,
309
309
help = "Generate version_info.cc (simpler version used for cmake/make)" )
310
310
311
+ parser .add_argument (
312
+ "--source_dir" ,
313
+ type = str ,
314
+ help = "Base path of the source code (used for cmake/make)" )
315
+
311
316
args = parser .parse_args ()
312
317
313
318
if args .configure is not None :
@@ -317,7 +322,10 @@ def raw_generate(output_file, git_tag_override=None):
317
322
elif args .generate is not None :
318
323
generate (args .generate , args .git_tag_override )
319
324
elif args .raw_generate is not None :
320
- raw_generate (args .raw_generate , args .git_tag_override )
325
+ source_path = "."
326
+ if args .source_dir is not None :
327
+ source_path = args .source_dir
328
+ raw_generate (args .raw_generate , source_path , args .git_tag_override )
321
329
else :
322
330
raise RuntimeError ("--configure or --generate or --raw_generate "
323
- "must be used" )
331
+ "must be used" )
0 commit comments