From 2c3d35802f738d003a983378ae408716a707e8ec Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Wed, 10 Apr 2013 22:41:46 +0300 Subject: Can use Apple frameworks with Objective C. --- dependencies.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'dependencies.py') 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, } -- cgit v1.1