2015-02-13 11:23:40 -08:00
|
|
|
Building Libwebm
|
|
|
|
|
|
|
|
To build libwebm you must first create project files. To do this run cmake
|
|
|
|
and pass it the path to your libwebm repo.
|
|
|
|
|
|
|
|
Makefile.unix can be used as a fallback on systems that cmake does not
|
|
|
|
support.
|
|
|
|
|
|
|
|
|
|
|
|
CMake Basics
|
|
|
|
|
|
|
|
To generate project/make files for the default toolchain on your system simply
|
|
|
|
run cmake with the path to the libwebm repo:
|
|
|
|
|
|
|
|
$ cmake path/to/libwebm
|
|
|
|
|
|
|
|
On Windows the above command will produce Visual Studio project files for the
|
|
|
|
newest Visual Studio detected on the system. On Mac OS X and Linux systems, the
|
|
|
|
above command will produce a makefile.
|
|
|
|
|
|
|
|
To control what types of projects are generated the -G parameter is added to
|
|
|
|
the cmake command line. This argument must be followed by the name of a
|
|
|
|
generator. Running cmake with the --help argument will list the available
|
|
|
|
generators for your system.
|
|
|
|
|
|
|
|
On Mac OS X you would run the following command to generate Xcode projects:
|
|
|
|
|
|
|
|
$ cmake path/to/libwebm -G Xcode
|
|
|
|
|
|
|
|
On a Windows box you would run the following command to generate Visual Studio
|
|
|
|
2013 projects:
|
|
|
|
|
|
|
|
$ cmake path/to/libwebm -G "Visual Studio 12"
|
|
|
|
|
|
|
|
To generate 64-bit Windows Visual Studio 2013 projects:
|
|
|
|
|
|
|
|
$ cmake path/to/libwebm "Visual Studio 12 Win64"
|
|
|
|
|
|
|
|
|
|
|
|
CMake Makefiles: Debugging and Optimization
|
|
|
|
|
|
|
|
Unlike Visual Studio and Xcode projects, the build configuration for make builds
|
|
|
|
is controlled when you run cmake. The following examples demonstrate various
|
|
|
|
build configurations.
|
|
|
|
|
|
|
|
Omitting the build type produces makefiles that use build flags containing
|
|
|
|
neither optimization nor debug flags:
|
|
|
|
$ cmake path/to/libwebm
|
|
|
|
|
|
|
|
A makefile using release (optimized) flags is produced like this:
|
|
|
|
$ cmake path/to/libwebm -DCMAKE_BUILD_TYPE=release
|
|
|
|
|
|
|
|
A release build with debug info can be produced as well:
|
|
|
|
$ cmake path/to/libwebm -DCMAKE_BUILD_TYPE=relwithdebinfo
|
|
|
|
|
|
|
|
And your standard debug build will be produced using:
|
|
|
|
$ cmake path/to/libwebm -DCMAKE_BUILD_TYPE=debug
|
2016-01-11 18:46:55 -08:00
|
|
|
|
|
|
|
|
|
|
|
Tests
|
|
|
|
|
|
|
|
To enable libwebm tests add -DENABLE_TESTS=ON CMake generation command line. For
|
|
|
|
example:
|
|
|
|
|
|
|
|
$ cmake path/to/libwebm -G Xcode -DENABLE_TESTS=ON
|
|
|
|
|
|
|
|
Libwebm tests depend on googletest. By default googletest is expected to be a
|
|
|
|
sibling directory of the Libwebm repository. To change that, update your CMake
|
|
|
|
command to be similar to the following:
|
|
|
|
|
|
|
|
$ cmake path/to/libwebm -G Xcode -DENABLE_TESTS=ON \
|
|
|
|
-DGTEST_SRC_DIR=/path/to/googletest
|
|
|
|
|
|
|
|
The tests rely upon the LIBWEBM_TEST_DATA_PATH environment variable to locate
|
|
|
|
test input. The following example demonstrates running the muxer tests from the
|
|
|
|
build directory:
|
|
|
|
|
|
|
|
$ LIBWEBM_TEST_DATA_PATH=path/to/libwebm/testing/testdata ./muxer_tests
|
|
|
|
|
2016-01-25 15:13:34 -05:00
|
|
|
Note: Libwebm Googletest integration was built with googletest from
|
|
|
|
https://github.com/google/googletest.git at git revision
|
2016-01-11 18:46:55 -08:00
|
|
|
ddb8012eb48bc203aa93dcc2b22c1db516302b29.
|
|
|
|
|