summaryrefslogtreecommitdiff
path: root/distribution/osx/gtk-bundle/gtk-bundle.README
blob: 0c7c9eac33c5c8a7e0510176b15cce1bdfdd9a74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Readme for gtk-bundle directory.
Created 12-1-2016 by Adam Richards

Date: Nov-2017. 

The gtk-bundle technique replaces prior bundle techniques for OSX. 

Prerequisites: 
This directory produces files only for use with the gtk-mac-bundler tool (G-M-B). 
That tool is available as a MacPort and should be installed with
"sudo port install gtk-mac-bundler" 
The bundler also requires a prior Macports install of GTK  
"sudo port install webkit-gtk" 
and that was the GTK level was used to build the xtrkcad binary.

The ccmake install process will place a copy of the binary in the /bin install subdirectory 
for use by G-M-B. It also copies over the resource share libraries into a subdirectory. 
 
Process:
Once ccmake has been run "make" followed by "make install", the G-M-B tool is run. 
"cd /gtk-bundle"
"bash xtrkcad-bundler.sh -i <install directory containing xtrkcad binary> -v <version name>"

Output:
G-M-B produces a dmg bundle and zips it in the binary directory that is a self-contained executable 
from the binary xtrkcad. It recursively rewires all the link pointers to be 
self-referential - that is, to point within the bundle.

It uses the xtrkcad.plist to set properties of the app, including the 
icon from the .icns file. It sets the pre-run script to be xtrkcad-launcher.sh

Next Steps:
Once this xtrkcad.dmg file has been created, it can be opened and the included package can be moved to wherever is desirable - such as the Application folder. The app does not have dependencies on GTK components
from MACPorts like the binary does - it is standalone. It does, however, need XQuartz. 

NOTE -
It is expected that as long as the GTK level used in build can run on the OSX level used
in build, the app bundle will work without necessarily having to be rebuilt for each OSX
level.