From 6813ef1e2424cdcfc0811bb0c7b3d2efc996fd36 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Fri, 12 Jul 2019 21:54:09 -0400 Subject: cmake: Handle disabling subprojects --- mesonbuild/modules/cmake.py | 5 ++++- test cases/cmake/9 disabled subproject/meson.build | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 test cases/cmake/9 disabled subproject/meson.build diff --git a/mesonbuild/modules/cmake.py b/mesonbuild/modules/cmake.py index a36d7485a..3a01636c8 100644 --- a/mesonbuild/modules/cmake.py +++ b/mesonbuild/modules/cmake.py @@ -274,7 +274,10 @@ class CmakeModule(ExtensionModule): if len(args) != 1: raise InterpreterException('Subproject takes exactly one argument') dirname = args[0] - return CMakeSubprojectHolder(interpreter.do_subproject(dirname, 'cmake', kwargs), dirname) + subp = interpreter.do_subproject(dirname, 'cmake', kwargs) + if not subp.held_object: + return subp + return CMakeSubprojectHolder(subp, dirname) def initialize(*args, **kwargs): return CmakeModule(*args, **kwargs) diff --git a/test cases/cmake/9 disabled subproject/meson.build b/test cases/cmake/9 disabled subproject/meson.build new file mode 100644 index 000000000..ba38410d6 --- /dev/null +++ b/test cases/cmake/9 disabled subproject/meson.build @@ -0,0 +1,5 @@ +project('cmakeSubTest', ['c', 'cpp']) + +cm = import('cmake') + +sub_pro = cm.subproject('nothinig', required: false) \ No newline at end of file -- cgit v1.2.3