-
-
Notifications
You must be signed in to change notification settings - Fork 14
/
_Building.txt
80 lines (66 loc) · 3.56 KB
/
_Building.txt
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
How to Build MacTerm 2018-09-26
PREREQUISITES
Build with the latest macOS and Xcode.
Scripts in MacTerm will use "make" to run "xcodebuild" from the
command line. If you have used "xcode-select" to customize
these tools, ensure that they are set to an appropriate version
of Xcode.
MacTerm is implemented as a C++ framework that is loaded into
Python. This is accomplished with the Simple Wrapper Interface
Generator (SWIG), which you must download and build separately
or install via something like "brew". The latest version of
SWIG is recommended (the 4.x series was tested recently). See
"Build/Shared/CustomPaths.xcconfig" for a variable that sets
the install path (/opt/swig-<version>/bin/swig by default).
Note that the build system only uses artwork from a component's
Resources directory (such as "Build/Application/Resources").
If you decide to modify any of the source artwork files located
in directories like "Build/Application/Artwork", you will need
to manually perform PNG exports, run Icon Composer or otherwise
generate the required file format in the appropriate Resources
directory before your changes will be visible in MacTerm.
Files of type ".xcf" were created using Seashore; those of type
".pxm" were created using Pixelmator.
When building source code documentation only, you will need
Doxygen (http://www.doxygen.org/), and Dot (part of GraphViz,
http://www.graphviz.org/). Also, doxypy for the Quills API
documentation is recommended.
UNDERSTANDING THE DIRECTORY STRUCTURE
The components of the project are in a few main folders:
Licenses/
Source code licenses. Please see _Licenses.txt.
Build/
Source code for all components and documentation, and the
scripts required to build them. The top level has Xcode
projects and/or build scripts for each component. Files
used by more than one component are in Build/Shared/.
Debug/
Scripts that simplify MacTerm debugging.
HOW TO BUILD
The MacTerm.app bundle has an unusual file layout so it is
constructed by a makefile.
There are a few ways to do builds, and they are equivalent:
- Use "Build/Application.xcodeproj". The "Everything" target
just runs the makefile to create the entire bundle. You can
build components separately to save time during development.
- Run "Build/_MacTermBuild.command" from the Finder.
- Run "make" from the Build directory, in a shell window. If
you build in this way, your environment or command line can
include settings that customize the build.
You can clean in the usual ways (i.e. the Clean command on the
"Everything" target, or "make clean"). Note also that since
the vast majority of files go into "Build/_Generated", it is
often enough to simply trash that folder.
IMPORTANT: The build system currently will only rebuild Python
wrappers when the SWIG file "Quills.i" is changed, even though
this is NOT the only file affecting wrappers. In particular,
if you ever change Quills*.{cp,h}, you should also "touch"
Quills.i so that the wrapper is rebuilt with your changes.
HOW TO CUSTOMIZE THE BUILD
It is possible to tweak the makefile or environment to change
what is built.
Run "make help" from the Build directory to see options that
can be tweaked through the command line. Other settings may
require GNUmakefile edits or changes to the .xcconfig files.
Kevin Grant ([email protected])
Lead Developer, MacTerm