meson: try harder to infer build and source directories if called without arguments
If there's no meson.build file in the current directory and there is one in the parent directory, assume that we are in the build directory.
This commit is contained in:
parent
6d2b227dc1
commit
f5d63cd47e
|
@ -223,15 +223,22 @@ def run(mainfile, args):
|
|||
return 0
|
||||
args = options.directories
|
||||
if len(args) == 0 or len(args) > 2:
|
||||
print('{} <source directory> <build directory>'.format(sys.argv[0]))
|
||||
print('If you omit either directory, the current directory is substituted.')
|
||||
print('Run {} --help for more information.'.format(sys.argv[0]))
|
||||
return 1
|
||||
dir1 = args[0]
|
||||
if len(args) > 1:
|
||||
dir2 = args[1]
|
||||
# if there's a meson.build in the dir above, and not in the current
|
||||
# directory, assume we're in the build directory
|
||||
if len(args) == 0 and not os.path.exists('meson.build') and os.path.exists('../meson.build'):
|
||||
dir1 = '..'
|
||||
dir2 = '.'
|
||||
else:
|
||||
print('{} <source directory> <build directory>'.format(sys.argv[0]))
|
||||
print('If you omit either directory, the current directory is substituted.')
|
||||
print('Run {} --help for more information.'.format(sys.argv[0]))
|
||||
return 1
|
||||
else:
|
||||
dir2 = '.'
|
||||
dir1 = args[0]
|
||||
if len(args) > 1:
|
||||
dir2 = args[1]
|
||||
else:
|
||||
dir2 = '.'
|
||||
while os.path.islink(mainfile):
|
||||
resolved = os.readlink(mainfile)
|
||||
if resolved[0] != '/':
|
||||
|
|
Loading…
Reference in New Issue