diff --git a/doc/how_to_build_macosx.md b/doc/how_to_build_macosx.md index 591d4c8..f55bd5d 100644 --- a/doc/how_to_build_macosx.md +++ b/doc/how_to_build_macosx.md @@ -6,85 +6,122 @@ - git - brew - Xcode -- cmake - - Version 3.2.2 confirmed to work. -- Qt - - http://download.qt.io/official_releases/qt/5.9/5.9.2/ - - qt-opensource-mac-x64-5.9.2.dmg -- boost - - http://www.boost.org/users/history/version_1_55_0.html (or later, though only 1.55.0 is supported) +- cmake (3.2.2 or later) +- Qt (5.9.2 or later) +- boost (1.55.0 or later) ## Building on MacOSX +### Download boost from https://boost.org -### 0. Install Qt 5.9 (Most recent is 5.9.2) +Download the .bz2 mac (unix if mac not specified) version 1_55_0 or later (last tested with 1_69_0) -### 1. Install Dependent Packages +Save for later step. -With homebrew, you can install them with following command. +### Download and install XCode from Apple +When downloading XCode, you should use the appropriate version for your OS version. You can refer to the Version Comparison Table on https://en.wikipedia.org/wiki/Xcode to find out which version you should use. + +Apple store usually provides for the most recent macOS version. For older versions, you will need to go to the Apple Developer site. + +### Install Homebrew from https://brew.sh + +Check site for any changes in installation instructions, but they will probably just be this: + +1. Open a Terminal window +2. Execute the following statement: +``` +$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" +``` + +### Install required software using brew + +In a Terminal window, execute the following statements: ``` -$ brew install glew lz4 libjpeg libpng lzo pkg-config libusb cmake git-lfs libmypaint +$ brew install glew lz4 libjpeg libpng lzo pkg-config libusb cmake git-lfs libmypaint qt +$ git lfs install ``` -Or, you should build and install them manually. +NOTE: This will install the latest version of QT which may not be compatible with older OS versions. +If you cannot use the most recent version, download the online installer from https://www.qt.io/download and install the appropriate version (min 5.9.2). If installing via this method, be sure to install the depricated QT Script libraries. -### 2. Clone the Repository +### Set up OpenToonz repository +These steps will put the OpenToonz repository under /Users/yourlogin/Documents. ``` +$ cd ~/Documents #or where you want to store the repository# $ git clone https://github.com/opentoonz/opentoonz -cd opentoonz -git lfs pull +$ cd opentoonz +$ git lfs pull +$ cd thirdparty/boost +$ mv ~/Downloads/boost_1_69_0.tar.bz2 #or whatever the boost filename you downloaded is# +$ tar xvjf boost_1_69_0.tar.bz2 . +$ cd ../lzo +$ cp -r 2.03/include/lzo driver +$ cd ../tiff-4.0.3 +$ ./configure && make ``` -### (Optional) Create the stuff Directory +### Configure build for QT version + +Edit the `/Users/yourlogin/Documents/opentoonz/toonz/sources/CMakeLists.txt` file at line 160 (64bit OS) or 172 (32bit OS) and modify the root path for the QT lib directory -If the directory `/Applications/OpenToonz/OpenToonz_stuff` does not exist, enter the following command: +If you installed QT using `brew` , you can get the version and path to use with: `$ brew info qt`. The entry will look something like this: `/usr/local/Cellar/qt/5.12.2/lib` +### Configure environment and Build OpenToonz + +1. Create the build directory with the following: ``` -$ sudo cp -r stuff /Applications/OpenToonz/OpenToonz_stuff +$ cd ~/Documents/opentoonz/toonz +$ mkdir build +$ cd build ``` -### 3. Build tiff in thirdparty +2. Set up build environment +To build from command line, do the following: ``` -$ cd thirdparty/tiff-4.0.3 -$ ./configure && make +$ CMAKE_PREFIX_PATH=/usr/local/Cellar/qt/5.12.2 cmake ../sources #replace QT path with your installed QT version# +$ make ``` -### 4. Put Boost library into thirdpaty directory -The following assumes `boost_1_55_0.tar.bz2` was downloaded to `~/Downloads`. - +To build using XCode, do the following: ``` -$ cd ../boost -$ mv ~/Downloads/boost_1_55_0.tar.bz2 . -$ tar xjvf boost_1_55_0.tar.bz2 +$ sudo xcode-select -s /Applications/Xcode.app/Contents/Developer +$ CMAKE_PREFIX_PATH=/usr/local/Cellar/qt/5.12.2 cmake -G Xcode ../sources -B. #replace QT path with your installed QT version# ``` -### 5. Update the path to your Qt 5.9 install in opentoonz/toonz/sources/CMakeLists.txt line 160 or 172 -If using Qt 5.9.2, this is unnecessary. +- Open Xcode app and open project /Users/yourlogin/Documents/opentoonz/toonz/build/OpenToonz.xcodeproj +- Change `ALL_BUILD` to `OpenToonz` +- Start build with: Product -> Build -### 6. Copy the lzo header folder to the lzo driver directory + - NOTE about rebuilding in Xcode: The initial build should succeed without any errors. There after, the build will succeed but the following 3 errors can be ignored: ``` -$ cd ../lzo -$ cp -r 2.03/include/lzo driver +/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: for: /Users/yourlogin/Documents/opentoonz/toonz/build/toonz/Debug/OpenToonz.app/Contents/MacOS/OpenToonz (for architecture x86_64) option "-add_rpath @executable_path/." would duplicate path, file already has LC_RPATH for: @executable_path/. +/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: for: /Users/yourlogin/Documents/opentoonz/toonz/build/toonz/Debug/OpenToonz.app/Contents/MacOS/OpenToonz (for architecture x86_64) option "-add_rpath /usr/local/Cellar/qt/5.12.2/lib/" would duplicate path, file already has LC_RPATH for: /usr/local/Cellar/qt/5.12.2/lib/ +Command /bin/sh emitted errors but did not return a nonzero exit code to indicate failure ``` -### 6. Build Everything Together +### Create the stuff Directory +If you have installed OpenToonz on the machine already, you can skip this. Otherwise, you need to create the stuff folder with the following: ``` -$ cd ../../toonz -$ mkdir build -$ cd build - CMAKE_PREFIX_PATH=~/Qt5.9.2/5.9.2/clang_64 cmake ../sources -$ make +$ cd ~/Documents/opentoonz +$ sudo cp -r stuff /Applications/OpenToonz/OpenToonz_stuff ``` -Please be patient as the install will take a while. - -### After Building +### Running the build +- If built using via command line, run the following: ``` -$ open ./toonz/OpenToonz.app +$ open ~/Documents/opentoonz/build/toonz/OpenToonz.app ``` + +- If built using Xcode, do the following: + + - Open Scheme editor for OpenToonz: Product -> Scheme -> Edit Scheme + - Uncheck: Run -> Options -> Document Version + - Run in Debug mode: Product -> Run + + - To open with command line or from Finder window, the application is found in `/Users/yourlogin/Documents/opentoonz/toonz/build/Debug/OpenToonz.app`