Building VLMC: Difference between revisions

From VideoLAN Wiki
Jump to navigation Jump to search
Add Media:VLMC icon.png. The license is on File:VLMC icon.png
Copy-edit, markup, links
 
Line 2: Line 2:
== 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 11: 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: https://www.qt.io
* 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: [[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: [[Git]]
** [https://mailman.videolan.org/pipermail/vlmc-devel/ vlmc-devel]: Developers discussions
 
For Information on generic compilation of VLC, refer: [[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 https://code.videolan.org/videolan/vlmc.git
{{$}} git clone https://code.videolan.org/videolan/vlmc.git


Do the same for VLC (as described in [[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 40: 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 ====
==== Building VLMC in developer mode ====
Line 62: Line 52:
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.
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.
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 -DWITH_CRASHHANDLER=OFF flag
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
  cd contribs
{{$}} sh contribs.sh
  sh contribs.sh
{{$}} cd ..
  cd ..
{{$}} mkdir win32 && cd win32
  mkdir win32 && cd win32
{{$}} cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-win32.cmake ..
  cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-win32.cmake ..
{{$}} make
  make


=== Compiling on Mac OS ===
=== Compiling on Mac OS ===
Line 84: Line 73:


==== Get the sources: ====
==== Get the sources: ====
  git clone https://code.videolan.org/videolan/vlmc.git
{{$}} git clone https://code.videolan.org/videolan/vlmc.git


==== Get the actual dependencies: ====
==== Get the actual dependencies: ====
* brew tap tomahawk-player/tomahawkqt5
{{$}} brew tap tomahawk-player/tomahawkqt5
* brew install make
{{$}} brew install make
* brew install vlc
{{$}} brew install vlc
* brew install qt5
{{$}} brew install qt5
* brew install frei0r
{{$}} brew install frei0r


==== Compile vlmc: ====
==== Compile vlmc: ====
Now cd to root source directory and build:
Now cd to root source directory and build:
  mkdir build && cd build
{{$}} mkdir build && cd build
  cmake ..
{{$}} cmake ..
  make
{{$}} make


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


==== To create a dmg image: ====
==== To create a dmg image: ====
Uncomment #dmg in /src/CMakeLists.txt, at the end of the file.
and follow the build process, the dmg will be created in /build/bin


To create a dmg image, uncomment #dmg in /src/CMakeLists.txt, at the end of the file.
To create a dmg image, uncomment <code>#dmg</code> in <code>/src/CMakeLists.txt</code>, at the end of the file.
This creates the app/dmg in <build-directory>/bin
 
This creates the <code>app/dmg</code> in <code>&lt;build-directory&gt;/bin</code>


=== 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:Building]]
[[Category:Building]]
[[Category:VideoLAN_projects]]
[[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 ;-)