aboutsummaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2017-06-05 03:29:40 +0530
committerNirbheek Chauhan <nirbheek@centricular.com>2017-06-09 20:21:01 +0530
commit0c83f8352d288134ede8f4b8854e455007ce02b7 (patch)
tree61044ab368b3e57540f2b43fba1418f4d2652a78 /test cases
parent22cfd44221ada3219d9096e15dc8b00d32e0f9f6 (diff)
downloadmeson-0c83f8352d288134ede8f4b8854e455007ce02b7.zip
meson-0c83f8352d288134ede8f4b8854e455007ce02b7.tar.gz
meson-0c83f8352d288134ede8f4b8854e455007ce02b7.tar.bz2
dependencies: Add a new class ExternalDependency
This class now consolidates a lot of the logic that each external dependency was duplicating in its class definition. All external dependencies now set: * self.version * self.compile_args and self.link_args * self.is_found (if found) * self.sources * etc And the abstract ExternalDependency class defines the methods that will fetch those properties. Some classes still override that for various reasons, but those should also be migrated to properties as far as possible. Next step is to consolidate and standardize the way in which we call 'configuration binaries' such as sdl2-config, llvm-config, pkg-config, etc. Currently each class has to duplicate code involved with that even though the format is very similar. Currently only pkg-config supports multiple version requirements, and some classes don't even properly check the version requirement. That will also become easier now.
Diffstat (limited to 'test cases')
-rw-r--r--test cases/linuxlike/5 dependency versions/meson.build12
-rw-r--r--test cases/osx/4 framework/meson.build9
2 files changed, 16 insertions, 5 deletions
diff --git a/test cases/linuxlike/5 dependency versions/meson.build b/test cases/linuxlike/5 dependency versions/meson.build
index 5c2c262..ad513f2 100644
--- a/test cases/linuxlike/5 dependency versions/meson.build
+++ b/test cases/linuxlike/5 dependency versions/meson.build
@@ -90,9 +90,15 @@ if meson.is_cross_build()
assert(native_prefix != cross_prefix, 'native prefix == cross_prefix == ' + native_prefix)
endif
+objc_found = add_languages('objc', required : false)
+
foreach d : ['sdl2', 'gnustep', 'wx', 'gl', 'python3', 'boost', 'gtest', 'gmock']
- dep = dependency(d, required : false)
- if dep.found()
- dep.version()
+ if d == 'gnustep' and not objc_found
+ message('Skipping gnustep because no ObjC compiler found')
+ else
+ dep = dependency(d, required : false)
+ if dep.found()
+ dep.version()
+ endif
endif
endforeach
diff --git a/test cases/osx/4 framework/meson.build b/test cases/osx/4 framework/meson.build
index 8d93bf9..460b480 100644
--- a/test cases/osx/4 framework/meson.build
+++ b/test cases/osx/4 framework/meson.build
@@ -10,8 +10,13 @@
project('xcode framework test', 'c', default_options : ['libdir=libtest'])
-dep_libs = [dependency('appleframeworks', modules : ['OpenGL'], required : true)]
-dep_main = [dependency('appleframeworks', modules : ['Foundation'], required : true)]
+dep_libs = dependency('appleframeworks', modules : ['OpenGL'], required : false)
+if not dep_libs.found()
+ error('OpenGL framework not found')
+endif
+assert(dep_libs.type_name() == 'appleframeworks', 'type_name is wrong')
+
+dep_main = dependency('appleframeworks', modules : ['Foundation'])
stlib = static_library('stat', 'stat.c', install : true, dependencies: dep_libs)
exe = executable('prog', 'prog.c', install : true, dependencies: dep_main)