]> git.saurik.com Git - wxWidgets.git/blame - build/bakefiles/mac_bundles.bkl
added wxVaCopy() and use it to fix wxVsnprintf() crash (see bug 1017651)
[wxWidgets.git] / build / bakefiles / mac_bundles.bkl
CommitLineData
425c0d76
VS
1<?xml version="1.0" ?>
2<!-- $Id$ -->
3
4<makefile>
5
6 <!--
77ffb593 7 Support for application bundles, for wxWidgets samples.
425c0d76
VS
8 -->
9
10 <!--
11 Nasty hack: use $(srcdir) to obtain usable CFBundleIdentifier suffix;
12 converts $(srcdir) like "../../samples/minimal" to "samples.minimal".
13 -->
14 <set var="BUNDLE_IDENTIFIER">
15 `echo $(DOLLAR)(srcdir) | sed -e 's,\.\./,,g' | sed -e 's,/,.,g'`
16 </set>
17
18 <set var="BUNDLE_PLIST">
0b9d77ce 19 $(TOP_SRCDIR)src/mac/carbon/Info.plist.in
425c0d76
VS
20 </set>
21 <set var="BUNDLE_RESOURCE">
22 $(LIBDIRNAME)/libwx_$(TOOLCHAIN_NAME).$(WXSOVERSION[0]).rsrc
23 </set>
24 <set var="BUNDLE_ICONS">
0b9d77ce 25 $(TOP_SRCDIR)src/mac/carbon/wxmac.icns
425c0d76
VS
26 </set>
27
28 <define-tag name="wx-mac-app-bundle" rules="exe">
29
30 <!-- bundle directory: -->
31 <set var="BUNDLE">$(id).app/Contents</set>
54eba47d 32 <set var="BUNDLE_TGT">$(BUNDLE)/PkgInfo</set>
0e6450e1
VS
33 <set var="BUNDLE_TGT_REF">
34 <if cond="TOOLKIT=='MAC'">$(BUNDLE)/PkgInfo</if>
35 <if cond="TOOLKIT=='COCOA'">$(BUNDLE)/PkgInfo</if>
36 </set>
425c0d76 37
54eba47d
VS
38 <add-target target="$(BUNDLE_TGT)" type="action"/>
39 <modify-target target="$(BUNDLE_TGT)">
425c0d76
VS
40 <!-- required data: -->
41 <depends>$(id)</depends>
42 <depends-on-file>$(BUNDLE_PLIST)</depends-on-file>
43 <depends-on-file>$(BUNDLE_RESOURCE)</depends-on-file>
44 <depends-on-file>$(BUNDLE_ICONS)</depends-on-file>
45
46 <command>
47 <!-- create the directories: -->
48 mkdir -p $(BUNDLE)
49 mkdir -p $(BUNDLE)/MacOS
50 mkdir -p $(BUNDLE)/Resources
51
52 <!-- Info.plist: -->
53 sed -e "s/IDENTIFIER/$(BUNDLE_IDENTIFIER)/" \
54 -e "s/EXECUTABLE/$(id)/" \
55 -e "s/VERSION/$(WX_VERSION)/" \
56 $(BUNDLE_PLIST) >$(BUNDLE)/Info.plist
57
58 <!-- PkgInfo: -->
59 echo -n "APPL????" >$(BUNDLE)/PkgInfo
60
61 <!-- make a hardlink to the binary: -->
62 ln -f $(ref("__targetdir",id))$(ref("__targetname",id)) $(BUNDLE)/MacOS/$(id)
63
77ffb593 64 <!-- ditto wxWidgets resources and icons: -->
6919b35e
SC
65 cp -f $(BUNDLE_RESOURCE) $(BUNDLE)/Resources/$(id).rsrc
66 cp -f $(BUNDLE_ICONS) $(BUNDLE)/Resources/wxmac.icns
425c0d76
VS
67 </command>
68 </modify-target>
69
70 <!-- add pseudo target id_bundle: -->
71 <add-target target="$(id)_bundle" type="phony"
72 cond="PLATFORM_MACOSX=='1'"/>
73 <modify-target target="$(id)_bundle">
74 <dependency-of>all</dependency-of>
0e6450e1 75 <depends>$(BUNDLE_TGT_REF)</depends>
425c0d76
VS
76 </modify-target>
77
78 <!-- "make clean" should delete the bundle: -->
79 <modify-target target="clean">
80 <command>rm -rf $(id).app</command>
81 </modify-target>
82
83 </define-tag>
84
85</makefile>