aboutsummaryrefslogtreecommitdiff
path: root/dependencies.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-04-10 22:41:46 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2013-04-10 22:41:46 +0300
commit2c3d35802f738d003a983378ae408716a707e8ec (patch)
tree8e25135fdaf8671ceb68c154179e209bc5df82ae /dependencies.py
parent0ae280ce77cae787b6cc809a7130d746a0bbd261 (diff)
downloadmeson-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.py22
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,
}