summaryrefslogtreecommitdiff
path: root/BUILDING.md
diff options
context:
space:
mode:
Diffstat (limited to 'BUILDING.md')
-rw-r--r--BUILDING.md121
1 files changed, 121 insertions, 0 deletions
diff --git a/BUILDING.md b/BUILDING.md
new file mode 100644
index 0000000..eeddf74
--- /dev/null
+++ b/BUILDING.md
@@ -0,0 +1,121 @@
+Building MrsWatson from Source
+==============================
+
+To build MrsWatson on any platform, you will need to acquire a copy of the
+VST SDK source code. Due to licensing restrictions of the VST SDK, this code
+is not distributed with MrsWatson itself. It can be downloaded from
+[Steinberg's Developer Page][1], and then extracted to the
+`vendor/vstsdk2.4` subdirectory of the project before compiling.
+
+The MrsWatson source code also contains a few submodules, it is recommended
+//do you know what this means? syn c th git has submodules to include other repositories into current repository ahh so is there a command to sync them
+from the current repo or do I have to find them? we can try without it
+that you sync the submodules before building the code.
+
+//I should have the cmake package
+Mac OSX
+-------
+
+To build MrsWatson on Mac OS X, you will need to have Apple's Developer
+Tools installed. You can download Xcode either from Apple's developer
+website or from the Mac App Store. You also need to install the command line
+tools provided by Xcode, which are not installed by default. To do this, go
+to Xcode's preferences, then to the downloads tab, and in "Components" you
+find a button to install the command line tools.
+
+[Homebrew][2] is also recommended for building MrsWatson on Mac OS X. from
+homebrew, you will need the CMake package, but possibly automake and
+autoconf as well. See the homebrew webpage for details on installation of
+packages.
+
+If you want to use Xcode to develop MrsWatson you will need to generate a
+project file like so:
+
+ cmake -G Xcode .
+
+This command will generate an Xcode project in the current directory which
+you can use to compile the software as you would any other project. For
+other IDE's, such as CLion, QT Creator, NetBeans, emacs, or vim, you can
+generate a regular makefile to build the software like any other Unix
+package. To do that you must generate the makefiles like so:
+
+ cmake -G "Unix Makefiles" .
+ make
+
+Ninja and CCache are also supported, both tools should work "out of the box".
+
+
+Linux
+-----
+
+Building MrsWatson on Linux may require a few additional packages on your
+computer, including those necessary to make a 32-bit build on 64-bit
+machines. By default, the software is built with your native architecture,
+so if you would like to make a 32-bit build on a 64-bit machine, you will
+also need the following packages:
+
+ * libstdc++
+ * g++-multilib
+ * ia32-libs
+
+This is in addition to the standard build tools (gcc, g++, etc). Otherwise,
+building on Linux should be a simple matter of:
+
+ cmake .
+ make
+ make install
+
+
+General Unix Tips
+-----------------
+
+There are several other generators supported by CMake, you can see the list
+of supported ones by running cmake -h on the command line. By default, cmake
+will generate a release build configuration, which will place binaries in
+the "bin" directory. If you want debuggable binaries, then you must run the
+following command when you generate your build environment:
+
+ cmake -DCMAKE_BUILD_TYPE=Debug -G "Your generator of choice" .
+ make clean && make
+
+On Unix (including both Mac OS X and Linux), the project generated by CMake
+will produce both 32 and 64-bit binaries. These binaries will have the
+number "64" appended to the end. Even though Mac OS X has the Universal
+Binary format that could contain both architectures, two separate binaries
+are shipped on this platform to avoid confusion when loading plugins.
+
+
+Windows
+-------
+
+On Windows, Visual Studio is used to compile the software. The MrsWatson
+source code does not include a Visual Studio project, instead CMake is used
+to generate Visual Studio project which can then be used to build the
+software. After you've installed cmkae for Windows, you must generate the
+build directory where the Visual Studio product will be placed. Unlike on
+Unix, you cannot build the software from the same directory as the source
+code. So generating the Visual Studio project will look something like this:
+
+ cd c:\wherever
+ mkdir MrsWatson-build
+ cd MrsWatson-build
+ cmake -G "Visual Studio 11" C:\path\to\MrsWatson
+
+This command will generate a Visual Studio project in
+`C:\wherever\MrsWatson-build` which can use to build the software. Just like
+on Unix, CMake supports several different generators which can be listed by
+running CMake -h. Namely, several different versions of Visual Studio are
+supported, and you should pick the one which matches your installation.
+
+Unlike on Unix, the generated Visual Studio project will not generate both
+32- and 64-bit builds of the software. Instead you must create another build
+directory for the 64-bit project. That is done like so:
+
+ cd c:\wherever
+ mkdir MrsWatson-build64
+ cd MrsWatson-build64
+ cmake -G "Visual Studio 11 Win64" C:\path\to\MrsWatson
+
+
+[1]: http://www.steinberg.net/en/company/developer.html
+[2]: http://mxcl.github.io/homebrew/