source: launchers/macosx/obj-cpp/build.ninja @ 6d0f80f

Last change on this file since 6d0f80f was 6d0f80f, checked in by meeh <meeh@…>, 23 months ago

Fixed a load of issues related to my "sync" approach, and Mac OSX's "async" API.

  • Property mode set to 100644
File size: 1.5 KB
Line 
1cxx = clang++
2cflags = -std=c++14 -g -Wall -I./include -I./include/neither -I/usr/local/include -I/usr/include -Wno-unused-variable -mmacosx-version-min=10.10
3ldflags = -framework CoreFoundation -framework Foundation -framework Cocoa -g -rdynamic
4
5
6pool link_pool
7  depth = 4
8
9rule cxx
10  command = $cxx $cflags -c $in -o $out
11  description = CC $out
12
13rule link
14  command = $cxx $ldflags -o $out $in
15  description = LINK $out
16  pool = link_pool
17
18rule ar
19  command = ar crsT $out $in
20  description = AR $out
21
22rule cleanup
23  command = rm -fr *.o clauncher I2PLauncher.app
24
25# TODO: There must exists a cleaner way to solve this.
26rule bundledir
27  command = mkdir -p I2PLauncher.app/Contents/{MacOS,Resources,Frameworks} $
28    && cp Info.plist I2PLauncher.app/Contents/Info.plist $
29    && cp base.zip I2PLauncher.app/Contents/Resources/base.zip $
30    && cp ../target/scala-2.11/routerLauncher-assembly-0.1.0-SNAPSHOT.jar I2PLauncher.app/Contents/Resources/launcher.jar
31
32rule copytobundledir
33  command = cp clauncher I2PLauncher.app/Contents/MacOS/I2PLauncher
34
35rule copyimgtobundle
36  command = cp ItoopieTransparent.png I2PLauncher.app/Contents/Resources/ItoopieTransparent.png
37
38rule builddir
39  command = mkdir -p build
40
41build main.o: cxx main.mm
42build StatusItemButton.o: cxx StatusItemButton.mm
43build RouterTask.o: cxx RouterTask.mm
44
45build clean: cleanup
46
47build bundle: bundledir
48build copytobundle: copytobundledir | bundle clauncher
49
50build clauncher: link main.o StatusItemButton.o RouterTask.o
51
52build appbundle: copyimgtobundle | clauncher bundle copytobundle
53
54default appbundle
Note: See TracBrowser for help on using the repository browser.