diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2014-02-23 22:30:41 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2014-02-23 22:30:41 +0200 |
commit | 1f1a3f516e950cc8f49d7983f1127a2737c87a22 (patch) | |
tree | 8816573a114a53757db08181c8bdd77efcf4df83 | |
parent | 836c978c94e4a0b94c269cbd10a8eeea0437ff66 (diff) | |
download | meson-1f1a3f516e950cc8f49d7983f1127a2737c87a22.zip meson-1f1a3f516e950cc8f49d7983f1127a2737c87a22.tar.gz meson-1f1a3f516e950cc8f49d7983f1127a2737c87a22.tar.bz2 |
Start of subproject redesign, moved subprojects to the dedicated subdirectory.
-rw-r--r-- | interpreter.py | 8 | ||||
-rw-r--r-- | test cases/common/49 subproject/subprojects/sublib/include/subdefs.h (renamed from test cases/common/49 subproject/sublib/include/subdefs.h) | 0 | ||||
-rw-r--r-- | test cases/common/49 subproject/subprojects/sublib/meson.build (renamed from test cases/common/49 subproject/sublib/meson.build) | 0 | ||||
-rw-r--r-- | test cases/common/49 subproject/subprojects/sublib/simpletest.c (renamed from test cases/common/49 subproject/sublib/simpletest.c) | 0 | ||||
-rw-r--r-- | test cases/common/49 subproject/subprojects/sublib/sublib.c (renamed from test cases/common/49 subproject/sublib/sublib.c) | 0 | ||||
-rw-r--r-- | test cases/common/50 subproject options/subprojects/subproject/meson.build (renamed from test cases/common/50 subproject options/subproject/meson.build) | 0 | ||||
-rw-r--r-- | test cases/common/50 subproject options/subprojects/subproject/meson_options.txt (renamed from test cases/common/50 subproject options/subproject/meson_options.txt) | 0 |
7 files changed, 6 insertions, 2 deletions
diff --git a/interpreter.py b/interpreter.py index 3ca425f..3976614 100644 --- a/interpreter.py +++ b/interpreter.py @@ -799,7 +799,7 @@ class Interpreter(): raise InterpreterException('Subprojects of subprojects are not yet supported.') if dirname in self.build.subprojects: raise InterpreterException('Tried to add the same subproject twice.') - subdir = os.path.join(self.subproject, self.subdir, dirname) + subdir = os.path.join('subprojects', dirname) abs_subdir = os.path.join(self.build.environment.get_source_dir(), subdir) if not os.path.isdir(abs_subdir): raise InterpreterException('Subproject directory does not exist.') @@ -807,7 +807,7 @@ class Interpreter(): mlog.log('\nExecuting subproject ', mlog.bold(dirname), '.\n', sep='') subi = Interpreter(self.build, subdir) subi.run() - mlog.log('\nSubproject finished.\n') + mlog.log('\nSubproject', mlog.bold(dirname), 'finished.') self.build.subprojects[dirname] = True self.subprojects[dirname] = SubprojectHolder(subi) return self.subprojects[dirname] @@ -995,6 +995,10 @@ class Interpreter(): if len(kwargs) > 0: raise InvalidArguments('subdir command takes no keyword arguments.') self.validate_arguments(args, 1, [str]) + if '..' in args[0]: + raise InvalidArguments('Subdir contains ..') + if self.subdir == '' and args[0] == 'subprojects': + raise InvalidArguments('Must not go into subprojects dir with subdir(), use subproject() instead.') prev_subdir = self.subdir subdir = os.path.join(prev_subdir, args[0]) if subdir in self.visited_subdirs: diff --git a/test cases/common/49 subproject/sublib/include/subdefs.h b/test cases/common/49 subproject/subprojects/sublib/include/subdefs.h index 9261c78..9261c78 100644 --- a/test cases/common/49 subproject/sublib/include/subdefs.h +++ b/test cases/common/49 subproject/subprojects/sublib/include/subdefs.h diff --git a/test cases/common/49 subproject/sublib/meson.build b/test cases/common/49 subproject/subprojects/sublib/meson.build index 3b6ad7d..3b6ad7d 100644 --- a/test cases/common/49 subproject/sublib/meson.build +++ b/test cases/common/49 subproject/subprojects/sublib/meson.build diff --git a/test cases/common/49 subproject/sublib/simpletest.c b/test cases/common/49 subproject/subprojects/sublib/simpletest.c index 3801a40..3801a40 100644 --- a/test cases/common/49 subproject/sublib/simpletest.c +++ b/test cases/common/49 subproject/subprojects/sublib/simpletest.c diff --git a/test cases/common/49 subproject/sublib/sublib.c b/test cases/common/49 subproject/subprojects/sublib/sublib.c index 7045c61..7045c61 100644 --- a/test cases/common/49 subproject/sublib/sublib.c +++ b/test cases/common/49 subproject/subprojects/sublib/sublib.c diff --git a/test cases/common/50 subproject options/subproject/meson.build b/test cases/common/50 subproject options/subprojects/subproject/meson.build index 1f52e19..1f52e19 100644 --- a/test cases/common/50 subproject options/subproject/meson.build +++ b/test cases/common/50 subproject options/subprojects/subproject/meson.build diff --git a/test cases/common/50 subproject options/subproject/meson_options.txt b/test cases/common/50 subproject options/subprojects/subproject/meson_options.txt index ac78533..ac78533 100644 --- a/test cases/common/50 subproject options/subproject/meson_options.txt +++ b/test cases/common/50 subproject options/subprojects/subproject/meson_options.txt |