waf/demos/mac_app/wscript

61 lines
1.5 KiB
Python

#! /usr/bin/env python
# encoding: utf-8
# Chris Pickel, 2011
VERSION='0.0.1'
APPNAME='mac_app_test'
top = '.'
out = 'build'
def options(opt):
opt.load('compiler_c')
try:
# you must include the xcode generator in your waf file if you want to use it
opt.load('xcode')
except ImportError:
pass
def configure(conf):
conf.load('compiler_c')
if not conf.env.ARCH_ST:
conf.fatal('This example is for macs only')
conf.env.FRAMEWORK_COCOA = 'Cocoa'
conf.env.ARCH_COCOA = ['x86_64', 'arm64']
def build(bld):
bld.program(
features = 'c cprogram',
target = 'MacApp',
source = 'sources/main.m',
mac_app = True,
mac_plist = 'Info.plist',
mac_files = bld.path.ant_glob('resources/**'),
mac_files_root = 'resources',
use = 'COCOA',
install_path = '${PREFIX}',
)
return
# obscure iphone stuff
bld.env.LIPO = '/usr/bin/lipo'
ARCH = {'arm6':'arm6', 'cocoa': ['i386', 'x64']}
for arch, val in ARCH.items():
bld.env.ARCH = val
bld(source='sources/dump_sbpl.c', target='%s/dump_sbpl' % arch, features='c cprogram')
bld(rule='touch ${TGT} # ${LIPO} -create ${SRC} -output ${TGT}',
shell = True,
target = 'dump_sbpl.app/dump_sbpl',
source = ['%s/dump_sbpl' % x for x in ARCH.keys()]
)
from waflib import TaskGen
@TaskGen.extension('.m')
def m_hook(self, node):
"""Alias .m files to be compiled the same as .c files, gcc will do the right thing."""
return self.create_compiled_task('c', node)
# -*- indent-tabs-mode: t -*-