Difference between revisions of "Building VLMC"

From VideoLAN Wiki
Jump to navigation Jump to search
(Copy-edit, markup, links)
 
(13 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 +
[[File:VLMC icon.png|alt=|thumb|right]]
 
== Building VLMC from source ==
 
== Building VLMC from source ==
  
This wiki page has information on building [[VideoLAN Movie Creator]], VLMC from source.
+
This wiki page has information on building [[VideoLAN Movie Creator]] (VLMC) from source.
VLMC (VideoLAN Movie Creator) is a free video editing software,
+
 
offering features to realize semi-professional quality movies,
+
VLMC is a free video editing software, offering features to realize semi-professional quality movies, but with the aim to stay simple and user-friendly.
but with the aim to stays simple and user-friendly.
 
  
 
=== Resources ===
 
=== Resources ===
Line 10: Line 10:
 
VLMC requires a c++ compiler (g++), cmake, Qt(4.6+), libVLC and frei0r plugins.
 
VLMC requires a c++ compiler (g++), cmake, Qt(4.6+), libVLC and frei0r plugins.
  
To install Qt, refer: http://www.qtsoftware.com/downloads
+
* To install [[Qt]], refer to: https://www.qt.io
 
+
* To install [[libVLC]], you are required to [[compile VLC]]
To install libVLC, you are required to compile VLC
+
* To get the current source of {{VLC}}, refer to: [[GetTheSource]]
 
+
* For information on using Git, refer to: [[Git]]
To get the current source of VLC player, refer: http://wiki.videolan.org/GetTheSource  
+
* If you are interested in mailing lists, go to https://mailman.videolan.org/listinfo/. We have two VLMC mailing lists:
 
+
** [https://mailman.videolan.org/pipermail/vlmc-announce/ vlmc-announce]: Official announcements (release, events, ...)
For information on using Git, refer: http://wiki.videolan.org/Git
+
** [https://mailman.videolan.org/pipermail/vlmc-devel/ vlmc-devel]: Developers discussions
 
 
For Information on generic compilation of VLC, refer: http://wiki.videolan.org/Compile_VLC
 
 
 
In case you are interested in mailing list, goto:
 
  http://mailman.videolan.org/listinfo/
 
 
 
We have two VLMC mailing lists:
 
  * vlmc-announce: Official announcements (release, events, ...)
 
  * vlmc-devel: Developers discussions
 
  
 
=== Getting the code ===
 
=== Getting the code ===
  
 
You can fetch the current VLMC working tree using Git:
 
You can fetch the current VLMC working tree using Git:
  git clone git://git.videolan.org/vlmc.git
+
{{$}} git clone https://code.videolan.org/videolan/vlmc.git
  
Do the same for VLC (as described in http://wiki.videolan.org/GetTheSource):
+
Do the same for VLC (as described in [[GetTheSource]]):
  git clone git://git.videolan.org/vlc.git
+
{{$}} git clone git://git.videolan.org/vlc.git
  
 
=== Building VLMC on Linux ===
 
=== Building VLMC on Linux ===
Line 39: Line 30:
 
Following is the cleanest way of compiling VLMC (commands for *nix OS)
 
Following is the cleanest way of compiling VLMC (commands for *nix OS)
  
1. Compile and install libVLC, libVLC is required by VLMC (You can also install VLC using your linux distribution), for example:
+
1. Compile and install [[libVLC]], libVLC is required by VLMC (you can also install VLC using your Linux distribution), for example:
  cd path_to_vlc_src
+
{{$}} cd path_to_vlc_src
  ./bootstrap
+
{{$}} ./bootstrap
  ./configure ''--your-options-here (see --help)''
+
{{$}} ./configure ''--your-options-here (see --help)''
  make
+
{{$}} make
  sudo make install
+
{{prompt|root}} make install
  
 
2. For Compiling VLMC:
 
2. For Compiling VLMC:
  cd path_to_vlmc_src
+
{{$}} cd path_to_vlmc_src
  mkdir build && cd build
+
{{$}} mkdir build && cd build
  cmake ..
+
{{$}} cmake ..
  make
+
{{$}} make
  
 
3. Run VLMC:
 
3. Run VLMC:
  ./vlmc
+
{{$}} ./vlmc
 +
 
 +
==== Building VLMC in developer mode ====
 +
 
 +
By default, VLMC enables a crash handler, which is responsible for saving a backup of the project in the event of a crash.
 +
 
 +
While this might be handy for the users, it makes life harder on developers, since a debugger would attach to the daemon process instead of VLMC.
 +
 
 +
In order to disable this, you'll need a tool such as ccmake, or cmake-gui, to disable the <code>WITH_CRASHHANDLER</code> option.
 +
 
 +
Alternatively, you can invoke cmake with <code>-DWITH_CRASHHANDLER=OFF</code> flag
  
 
=== Cross Compiling VLMC for Windows on Linux ===
 
=== Cross Compiling VLMC for Windows on Linux ===
  
 
VLMC can be cross-compiled for Windows, on Linux using mingw:
 
VLMC can be cross-compiled for Windows, on Linux using mingw:
 +
{{$}} cd contribs
 +
{{$}} sh contribs.sh
 +
{{$}} cd ..
 +
{{$}} mkdir win32 && cd win32
 +
{{$}} cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-win32.cmake ..
 +
{{$}} make
  
  cd contribs
+
=== Compiling on Mac OS ===
  sh contribs.sh
 
  mkdir win32 && cd win32
 
  cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-win32.cmake ..
 
  make
 
  
=== Compiling on Mac OS ===
+
==== Dependencies ====
 +
* Build tools: Xcode command-line tools
 +
* homebrew
 +
 
 +
==== Get the sources: ====
 +
{{$}} git clone https://code.videolan.org/videolan/vlmc.git
 +
 
 +
==== Get the actual dependencies: ====
 +
{{$}} brew tap tomahawk-player/tomahawkqt5
 +
{{$}} brew install make
 +
{{$}} brew install vlc
 +
{{$}} brew install qt5
 +
{{$}} brew install frei0r
 +
 
 +
==== Compile vlmc: ====
 +
Now cd to root source directory and build:
 +
{{$}} mkdir build && cd build
 +
{{$}} cmake ..
 +
{{$}} make
 +
 
 +
This will by default create a Mac Bundle, <code>vlmc.app</code> in <code>/build/bin</code>
  
VLMC can be compiled on Mac OS, do:
+
==== To create a dmg image: ====
  
  cd contribs
+
To create a dmg image, uncomment <code>#dmg</code> in <code>/src/CMakeLists.txt</code>, at the end of the file.
  sh contribs-mac.sh
 
  mkdir build && cd build
 
  cmake ..
 
  make
 
  
To create a dmg image, uncomment #dmg in /src/CMakeLists.txt, at the end of the file.
+
This creates the <code>app/dmg</code> in <code>&lt;build-directory&gt;/bin</code>
This creates the app/dmg in <build-directory>/bin
 
  
 
=== Packaging VLMC ===
 
=== Packaging VLMC ===
  
 
* On Linux, you can create deb/rpm package by using:
 
* On Linux, you can create deb/rpm package by using:
    make package
+
{{$}} make package
  
 
* You can create NSIS installer for Windows using cross-compiling on Linux:
 
* You can create NSIS installer for Windows using cross-compiling on Linux:
  make installer
+
{{$}} make installer
  
Start hacking ;-)
+
Start hacking <span title="Wink">;-)</span>
  
[[Category:VideoLAN_projects]]
+
[[Category:Building]]
 +
[[Category:VideoLAN projects]]

Latest revision as of 19:39, 9 March 2019

Building VLMC from source

This wiki page has information on building VideoLAN Movie Creator (VLMC) from source.

VLMC is a free video editing software, offering features to realize semi-professional quality movies, but with the aim to stay simple and user-friendly.

Resources

VLMC requires a c++ compiler (g++), cmake, Qt(4.6+), libVLC and frei0r plugins.

Getting the code

You can fetch the current VLMC working tree using Git:

$ git clone https://code.videolan.org/videolan/vlmc.git

Do the same for VLC (as described in GetTheSource):

$ git clone git://git.videolan.org/vlc.git

Building VLMC on Linux

Following is the cleanest way of compiling VLMC (commands for *nix OS)

1. Compile and install libVLC, libVLC is required by VLMC (you can also install VLC using your Linux distribution), for example:

$ cd path_to_vlc_src
$ ./bootstrap
$ ./configure --your-options-here (see --help)
$ make
# make install

2. For Compiling VLMC:

$ cd path_to_vlmc_src
$ mkdir build && cd build
$ cmake ..
$ make

3. Run VLMC:

$ ./vlmc

Building VLMC in developer mode

By default, VLMC enables a crash handler, which is responsible for saving a backup of the project in the event of a crash.

While this might be handy for the users, it makes life harder on developers, since a debugger would attach to the daemon process instead of VLMC.

In order to disable this, you'll need a tool such as ccmake, or cmake-gui, to disable the WITH_CRASHHANDLER option.

Alternatively, you can invoke cmake with -DWITH_CRASHHANDLER=OFF flag

Cross Compiling VLMC for Windows on Linux

VLMC can be cross-compiled for Windows, on Linux using mingw:

$ cd contribs
$ sh contribs.sh
$ cd ..
$ mkdir win32 && cd win32
$ cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-win32.cmake ..
$ make

Compiling on Mac OS

Dependencies

  • Build tools: Xcode command-line tools
  • homebrew

Get the sources:

$ git clone https://code.videolan.org/videolan/vlmc.git

Get the actual dependencies:

$ brew tap tomahawk-player/tomahawkqt5
$ brew install make
$ brew install vlc
$ brew install qt5
$ brew install frei0r

Compile vlmc:

Now cd to root source directory and build:

$ mkdir build && cd build
$ cmake ..
$ make

This will by default create a Mac Bundle, vlmc.app in /build/bin

To create a dmg image:

To create a dmg image, uncomment #dmg in /src/CMakeLists.txt, at the end of the file.

This creates the app/dmg in <build-directory>/bin

Packaging VLMC

  • On Linux, you can create deb/rpm package by using:
$ make package
  • You can create NSIS installer for Windows using cross-compiling on Linux:
$ make installer

Start hacking ;-)