diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-04-10 22:41:46 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-04-10 22:41:46 +0300 |
commit | 2c3d35802f738d003a983378ae408716a707e8ec (patch) | |
tree | 8e25135fdaf8671ceb68c154179e209bc5df82ae /dependencies.py | |
parent | 0ae280ce77cae787b6cc809a7130d746a0bbd261 (diff) | |
download | meson-2c3d35802f738d003a983378ae408716a707e8ec.zip meson-2c3d35802f738d003a983378ae408716a707e8ec.tar.gz meson-2c3d35802f738d003a983378ae408716a707e8ec.tar.bz2 |
Can use Apple frameworks with Objective C.
Diffstat (limited to 'dependencies.py')
-rw-r--r-- | dependencies.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/dependencies.py b/dependencies.py index 7ed1b9d..94c1e28 100644 --- a/dependencies.py +++ b/dependencies.py @@ -23,6 +23,7 @@ import os, stat, glob, subprocess, shutil from coredata import MesonException +import environment class DependencyException(MesonException): def __init__(self, *args, **kwargs): @@ -414,6 +415,26 @@ class GnuStepDependency(Dependency): def get_link_flags(self): return self.libs +class AppleFrameworks(Dependency): + def __init__(self, kwargs): + Dependency.__init__(self) + modules = kwargs.get('modules', []) + if isinstance(modules, str): + modules = [modules] + if len(modules) == 0: + raise DependencyException("AppleFrameworks dependency requires at least one module.") + self.frameworks = modules + + def get_link_flags(self): + flags = [] + for f in self.frameworks: + flags.append('-framework') + flags.append(f) + return flags + + def found(self): + return environment.is_osx() + def get_dep_identifier(name, kwargs): elements = [name] modlist = kwargs.get('modules', []) @@ -431,4 +452,5 @@ packages = {'boost': BoostDependency, 'qt5': Qt5Dependency, 'Qt5': Qt5Dependency, # Qt people sure do love their upper case. 'gnustep': GnuStepDependency, + 'appleframeworks': AppleFrameworks, } |