The CasparCG Server source code uses the CMake build system in order to easily generate build systems for multiple platforms. CMake is basically a build system for generating build systems.
On Windows we can use CMake to generate a .sln file and .vcproj files. On Linux CMake can generate make files or ninja files. Qt Creator has support for loading CMakeLists.txt files directly.
-
Install Visual Studio 2019.
-
Install CMake (http://www.cmake.org/download/).
-
git clone --single-branch --branch master https://github.com/CasparCG/server casparcg-server-master
-
cd casparcg-server-master
-
mkdir build
-
cd build
-
cmake -G "Visual Studio 16 2019" -A x64 ../src
-
Open
CasparCG Server.sln
git clone --single-branch --branch master https://github.com/CasparCG/server casparcg-server-master
cd casparcg-server-master
./tools/linux/build-in-docker
If all goes to plan, a docker image casparcg/server
has been created containing CasparCG Server.
./tools/linux/extract-from-docker
You will then find a folder called casparcg_server
which should contain everything you need to run CasparCG Server.
Note: if you ran docker with sudo, CasparCG server will not be able to run without sudo out of the box. For security reasons we do not recommend to run CasparCG with sudo. Instead you can use chown to change the ownership of the CasparCG Server folder.
- Install Docker by following installation instructions from Docker Docs
git clone --single-branch --branch master https://github.com/CasparCG/server casparcg-server-master
cd casparcg-server-master
- Install dependencies, this can be done with
sudo ./tools/linux/install-dependencies
- Extract Boost and FFmpeg from the docker images via
sudo ./tools/linux/extract-deps-from-docker
. Alternatively these can be prepared manually by following the steps laid out in each Dockerfile mkdir build && cd build
cmake ../src
make -j8
If all goes to plan, a folder called 'staging' has been created with everything you need to run CasparCG server.
-DENABLE_HTML=OFF - useful if you lack CEF, and would like to build without that module.
-DUSE_SYSTEM_BOOST - (Linux only) use the version of Boost from your OS.
-DUSE_SYSTEM_FFMPEG - (Linux only) use the version of ffmpeg from your OS.