From 82168702cda8aa47f9a89c3afe9397ae423261b8 Mon Sep 17 00:00:00 2001 From: jp9000 Date: Fri, 18 Jul 2014 20:07:27 -0700 Subject: [PATCH] Update INSTALL instructions for windows/mac --- INSTALL | 103 +++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 75 insertions(+), 28 deletions(-) diff --git a/INSTALL b/INSTALL index 99c43b60b..deb1cffcd 100644 --- a/INSTALL +++ b/INSTALL @@ -2,45 +2,94 @@ Compilation instructions! Temporary quick compilation instructions! Will give better instructions later when things are in a more complete state. Windows: - - Use VS2013, as obs-studio uses C99 and C++11 + - NOTE: OBS on windows currently requires VS2013, as obs-studio uses C99 and + C++11. Express might not be supported at this time (though I'll fix it at + some point). - - Download latest FFmpeg repositories and Qt5 release + - Clone the repo. After cloning, run the following git commands: + git submodule init + git submodule update + which will download submodules. - - Create a windows environment variable FFmpegPath. Set it to your FFmpeg - repo path + - Download (or build) development packages of FFmpeg, x264, Qt5. - - Create a windows environment variable QTDIR. Set it to your - Qt5 install path + - Download windows version of cmake from: http://www.cmake.org/ - - Compile FFmpeg and Qt5(Until they release a binary VS2013 version). - They should both be compiled with VS2013. - For compiling FFmpeg, see http://ffmpeg.org/platform.html#Windows + - Add windows environment variables: + FFMpegPath (path to FFmpeg include directory) + x264Path (path to x264 include directory) + QTDIR (path to Qt build base directory) - - Create two directories in FFmpeg directory, lib32 and lib64. Place the - lib files generated by FFmpeg into these directories for the respective - architecture + NOTE: Each of these environment variables can specify 32bit and 64bit by + appending 32 and 64 to the end of the environment variable names. + So if you want to separate locations for 32bit or 64bit, you can set: + FFmpegPath32, FFmpegPath64, x264Path32, x264Path64, QTDIR32, QTDIR64, etc. - - If compiling FFmpeg with shared libraries (DLLs), place the DLLs into - build/bin/32bit and/or build/bin/64bit respectively + NOTE: These variables are optional and these can be entered in to cmake + while generating, but having these variables makes life much easier in case + you need to regenerate your cmake data from scratch for whatever reason. - - Compile project with VS2013, and it should be good to go. + NOTE: An example Qt directory you would use here if you installed Qt5 to + D:\Qt would usually look something like this for the 32bit version: + D:\Qt\5.3\msvc2013 + And something like this for the 64bit version + D:\Qt\5.3\msvc2013_64 - - NOTE: Direct3D 11 library may require D3Dcompiler_47.dll to be present - in both the obs-studio/build/bin/32bit and obs-studio/build/bin/64bit - directories + NOTE: Search paths and search order for FFmpeg and x264 library/binary + files, relative to their include directories: + + Library files + ../lib + ../lib32 (if 32bit) + ../lib64 (if 64bit) + ./lib + ./lib32 (if 32bit) + ./lib64 (if 64bit) + + Binary files: + ../bin + ../bin32 (if 32bit) + ../bin64 (if 64bit) + ./bin + ./bin32 (if 32bit) + ./bin64 (if 64bit) + + - Run cmake-gui. In "where is the source code", enter in the repo directory + (example: D:/obs). In "where to build the binaries", enter the repo + directory path with the 'build' subdirectory (example: D:/obs/build). + + NOTE: The subdirectories 'build', 'release', and 'debug' are meant for + builds, and are excluded from the repo in .gitignore, so they are safe to + use for building. + + - Press 'Configure', then enable the COPY_DEPENDENCIES option, then press + 'Configure' again, and then press 'Generate' to generate visual studio + project files in the 'build' subdirectory. + + - Open obs-studio.sln from the 'build' subdirectory, and it should run and + be good to go. All required dependencies should be copied on compile and + it should be a fully fuctional build environment. Mac OSX - - Use macports or homebrew and get FFmpeg, glew and cmake. + - Use macports or homebrew and install FFmpeg, x264, Qt5, and cmake. - - In a terminal, go to the obs-studio directory create a cmbuild subdir - and change to it, then to build, type: cmake .. && make + NOTE: Qt5 can also be downloaded/installed via the Qt website, though keep + in mind that you will have to set the QTDIR environment variable to the + Qt5 build base directory. - - It builds in a modular structure similar to windows, where everything - necessary to run the program is compiled to cmbuild/rundir + - In a terminal, go to the obs-studio directory create a 'build' sub + directory and change to it, then to build, type: cmake .. && make - - You can also use ccmake to create an app bundle, which makes it so you - don't have to use the terminal to execute it from the correct directory + - It builds in a modular structure by default. To run it via terminal, go to + build/rundir/RelWithDebInfo/bin, then type ./obs to run. + + NOTE: If you are running via command prompt, you *must* be in the 'bin' + directory specified above, otherwise it will not be able to find its files + relative to the binary. + + - To create an app bundle instead, use the command: make package + This will create a .dmg file with an app bundle inside. Linux @@ -61,7 +110,7 @@ Linux yourself(Ubuntu 14.04 only): https://launchpad.net/~btbn/+archive/ubuntu/obs-studio - - Build dependencies on Ubuntu 14.04 with ppa from above: + - Build dependencies on Ubuntu 14.04 with ffmpeg ppa from above: cmake libpulse-dev qtbase5-dev libqt5x11extras5-dev libavcodec-dev libavformat-dev libswscale-dev libx264-dev libswresample-dev libfdk-aac-dev libxinerama-dev libxcomposite-dev libxrandr-dev @@ -86,5 +135,3 @@ Linux cmake -DUNIX_STRUCTURE=1 -DCMAKE_INSTALL_PREFIX=/usr .. make -j4 sudo checkinstall - -