Skip to content

Commit 4928bd5

Browse files
authored
Merge pull request #2 from OpenShot/develop
Merge upstream
2 parents 1b19ae7 + 2a1fe80 commit 4928bd5

File tree

94 files changed

+1827
-1440
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

94 files changed

+1827
-1440
lines changed

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
build/
2-
build/*
1+
/build*
32
*.DS_Store
43
.pydevproject
54
.settings

.gitlab-ci.yml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ linux-builder:
1717
- export LIBOPENSHOT_AUDIO_DIR=$CI_PROJECT_DIR/build/install-x64
1818
- mkdir -p build; cd build;
1919
- mkdir -p install-x64/python;
20-
- cmake -D"CMAKE_INSTALL_PREFIX:PATH=$CI_PROJECT_DIR/build/install-x64" -D"CMAKE_BUILD_TYPE:STRING=Release" ../
20+
- cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -D"CMAKE_INSTALL_PREFIX:PATH=$CI_PROJECT_DIR/build/install-x64" -D"CMAKE_BUILD_TYPE:STRING=Release" ../
2121
- make
2222
- make install
2323
- make doc
@@ -46,7 +46,7 @@ mac-builder:
4646
- export LIBOPENSHOT_AUDIO_DIR=$CI_PROJECT_DIR/build/install-x64
4747
- mkdir -p build; cd build;
4848
- mkdir -p install-x64/python;
49-
- cmake -D"CMAKE_INSTALL_PREFIX:PATH=$CI_PROJECT_DIR/build/install-x64" -DCMAKE_CXX_COMPILER=/usr/local/opt/gcc48/bin/g++-4.8 -DCMAKE_C_COMPILER=/usr/local/opt/gcc48/bin/gcc-4.8 -DCMAKE_PREFIX_PATH=/usr/local/qt5/5.5/clang_64 -DPYTHON_INCLUDE_DIR=/Library/Frameworks/Python.framework/Versions/3.6/include/python3.6m -DPYTHON_LIBRARY=/Library/Frameworks/Python.framework/Versions/3.6/lib/libpython3.6.dylib -DPython_FRAMEWORKS=/Library/Frameworks/Python.framework/ -D"CMAKE_BUILD_TYPE:STRING=Debug" -D"CMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk" -D"CMAKE_OSX_DEPLOYMENT_TARGET=10.9" -D"CMAKE_INSTALL_RPATH_USE_LINK_PATH=1" -D"ENABLE_RUBY=0" ../
49+
- cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -D"CMAKE_INSTALL_PREFIX:PATH=$CI_PROJECT_DIR/build/install-x64" -DCMAKE_CXX_COMPILER=/usr/local/opt/gcc48/bin/g++-4.8 -DCMAKE_C_COMPILER=/usr/local/opt/gcc48/bin/gcc-4.8 -DCMAKE_PREFIX_PATH=/usr/local/qt5/5.5/clang_64 -DPYTHON_INCLUDE_DIR=/Library/Frameworks/Python.framework/Versions/3.6/include/python3.6m -DPYTHON_LIBRARY=/Library/Frameworks/Python.framework/Versions/3.6/lib/libpython3.6.dylib -DPython_FRAMEWORKS=/Library/Frameworks/Python.framework/ -D"CMAKE_BUILD_TYPE:STRING=Debug" -D"CMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk" -D"CMAKE_OSX_DEPLOYMENT_TARGET=10.9" -D"CMAKE_INSTALL_RPATH_USE_LINK_PATH=1" -D"ENABLE_RUBY=0" ../
5050
- make
5151
- make install
5252
- mv install-x64/lib/python3.6/site-packages/*openshot* install-x64/python
@@ -71,13 +71,14 @@ windows-builder-x64:
7171
- $env:LIBOPENSHOT_AUDIO_DIR = "$CI_PROJECT_DIR\build\install-x64"
7272
- $env:UNITTEST_DIR = "C:\msys64\usr"
7373
- $env:ZMQDIR = "C:\msys64\usr"
74+
- $env:RESVGDIR = "C:\msys64\usr"
7475
- $env:Path = "C:\msys64\mingw64\bin;C:\msys64\mingw64\lib;C:\msys64\usr\lib\cmake\UnitTest++;C:\msys64\home\jonathan\depot_tools;C:\msys64\usr;C:\msys64\usr\lib;" + $env:Path;
7576
- New-Item -ItemType Directory -Force -Path build
7677
- New-Item -ItemType Directory -Force -Path build\install-x64\python
7778
- cd build
78-
- cmake -D"CMAKE_INSTALL_PREFIX:PATH=$CI_PROJECT_DIR\build\install-x64" -G "MinGW Makefiles" -D"CMAKE_BUILD_TYPE:STRING=Release" ../
79+
- cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -D"CMAKE_INSTALL_PREFIX:PATH=$CI_PROJECT_DIR\build\install-x64" -G "MSYS Makefiles" -DCMAKE_MAKE_PROGRAM=mingw32-make -D"CMAKE_BUILD_TYPE:STRING=Release" ../
7980
- mingw32-make install
80-
- Move-Item -Force -path "install-x64\lib\python3.6\site-packages\*openshot*" -destination "install-x64\python\"
81+
- Move-Item -Force -path "install-x64\lib\python3.7\site-packages\*openshot*" -destination "install-x64\python\"
8182
- New-Item -path "install-x64/share/" -Name "$CI_PROJECT_NAME" -Value "CI_PROJECT_NAME:$CI_PROJECT_NAME`nCI_COMMIT_REF_NAME:$CI_COMMIT_REF_NAME`nCI_COMMIT_SHA:$CI_COMMIT_SHA`nCI_JOB_ID:$CI_JOB_ID" -ItemType file -force
8283
- $PREV_GIT_LABEL=(git describe --tags --abbrev=0)
8384
- git log "$PREV_GIT_LABEL..HEAD" --oneline --pretty=format:"%C(auto,yellow)%h%C(auto,magenta)% %C(auto,blue)%>(12,trunc)%ad %C(auto,green)%<(25,trunc)%aN%C(auto,reset)%s%C(auto,red)% gD% D" --date=short > "install-x64/share/$CI_PROJECT_NAME.log"
@@ -99,15 +100,15 @@ windows-builder-x86:
99100
- Expand-Archive -Path artifacts.zip -DestinationPath .
100101
- $env:LIBOPENSHOT_AUDIO_DIR = "$CI_PROJECT_DIR\build\install-x86"
101102
- $env:UNITTEST_DIR = "C:\msys32\usr"
102-
- $env:RESVGDIR = "C:\msys32\usr\local"
103+
- $env:RESVGDIR = "C:\msys32\usr"
103104
- $env:ZMQDIR = "C:\msys32\usr"
104105
- $env:Path = "C:\msys32\mingw32\bin;C:\msys32\mingw32\lib;C:\msys32\usr\lib\cmake\UnitTest++;C:\msys32\home\jonathan\depot_tools;C:\msys32\usr;C:\msys32\usr\lib;" + $env:Path;
105106
- New-Item -ItemType Directory -Force -Path build
106107
- New-Item -ItemType Directory -Force -Path build\install-x86\python
107108
- cd build
108-
- cmake -D"CMAKE_INSTALL_PREFIX:PATH=$CI_PROJECT_DIR\build\install-x86" -G "MinGW Makefiles" -D"CMAKE_BUILD_TYPE:STRING=Release" -D"CMAKE_CXX_FLAGS=-m32" -D"CMAKE_EXE_LINKER_FLAGS=-Wl,--large-address-aware" -D"CMAKE_C_FLAGS=-m32" ../
109+
- cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -D"CMAKE_INSTALL_PREFIX:PATH=$CI_PROJECT_DIR\build\install-x86" -G "MSYS Makefiles" -DCMAKE_MAKE_PROGRAM=mingw32-make -D"CMAKE_BUILD_TYPE:STRING=Release" -D"CMAKE_CXX_FLAGS=-m32" -D"CMAKE_EXE_LINKER_FLAGS=-Wl,--large-address-aware" -D"CMAKE_C_FLAGS=-m32" ../
109110
- mingw32-make install
110-
- Move-Item -Force -path "install-x86\lib\python3.6\site-packages\*openshot*" -destination "install-x86\python\"
111+
- Move-Item -Force -path "install-x86\lib\python3.7\site-packages\*openshot*" -destination "install-x86\python\"
111112
- New-Item -path "install-x86/share/" -Name "$CI_PROJECT_NAME" -Value "CI_PROJECT_NAME:$CI_PROJECT_NAME`nCI_COMMIT_REF_NAME:$CI_COMMIT_REF_NAME`nCI_COMMIT_SHA:$CI_COMMIT_SHA`nCI_JOB_ID:$CI_JOB_ID" -ItemType file -force
112113
- $PREV_GIT_LABEL=(git describe --tags --abbrev=0)
113114
- git log "$PREV_GIT_LABEL..HEAD" --oneline --pretty=format:"%C(auto,yellow)%h%C(auto,magenta)% %C(auto,blue)%>(12,trunc)%ad %C(auto,green)%<(25,trunc)%aN%C(auto,reset)%s%C(auto,red)% gD% D" --date=short > "install-x86/share/$CI_PROJECT_NAME.log"

.travis.yml

Lines changed: 85 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,88 @@
1-
dist: xenial
2-
sudo: required
1+
language: cpp
2+
3+
# This section uses a rather esoteric (and tricky!) feature of YAML,
4+
# &aliases and *anchors, to build package lists out of sublists without
5+
# repeating their contents. Basically, '&name' creates an alias for the
6+
# given data, which can then be referenced using the anchor '*name'.
7+
addons:
8+
apt:
9+
packages: &p_common # Packages common to all Ubuntu builds
10+
- cmake
11+
- swig
12+
- libopenshot-audio-dev
13+
- libmagick++-dev
14+
- libunittest++-dev
15+
- libzmq3-dev
16+
- qtbase5-dev
17+
- qtmultimedia5-dev
18+
- doxygen
19+
- graphviz
20+
packages: &ff_common # Common set of FFmpeg packages
21+
- *p_common
22+
- libfdk-aac-dev
23+
- libavcodec-dev
24+
- libavformat-dev
25+
- libavdevice-dev
26+
- libavutil-dev
27+
- libavfilter-dev
28+
- libswscale-dev
29+
- libpostproc-dev
30+
- libavresample-dev
31+
- libswresample-dev
332

433
matrix:
534
include:
6-
- language: cpp
7-
name: "FFmpeg 2"
8-
before_script:
9-
- sudo add-apt-repository ppa:openshot.developers/libopenshot-daily -y
10-
- sudo add-apt-repository ppa:beineri/opt-qt-5.10.0-xenial -y
11-
- sudo apt-get update -qq
12-
- sudo apt-get install gcc-4.8 cmake libavcodec-dev libavformat-dev libswscale-dev libavresample-dev libavutil-dev libopenshot-audio-dev libopenshot-dev libfdk-aac-dev libfdk-aac-dev libjsoncpp-dev libmagick++-dev libopenshot-audio-dev libunittest++-dev libzmq3-dev pkg-config python3-dev qtbase5-dev qtmultimedia5-dev swig -y
13-
- sudo apt autoremove -y
14-
script:
15-
- mkdir -p build; cd build;
16-
- cmake -D"CMAKE_BUILD_TYPE:STRING=Debug" ../
17-
- make VERBOSE=1
18-
- make os_test
19-
- make install DESTDIR=dist/
20-
21-
- language: cpp
22-
name: "FFmpeg 3"
23-
before_script:
24-
- sudo add-apt-repository ppa:openshot.developers/libopenshot-daily -y
25-
- sudo add-apt-repository ppa:beineri/opt-qt-5.10.0-xenial -y
26-
- sudo add-apt-repository ppa:jonathonf/ffmpeg-3 -y
27-
- sudo apt-get update -qq
28-
- sudo apt-get install gcc-4.8 cmake libavcodec-dev libavformat-dev libswscale-dev libavresample-dev libavutil-dev libopenshot-audio-dev libopenshot-dev libfdk-aac-dev libfdk-aac-dev libjsoncpp-dev libmagick++-dev libopenshot-audio-dev libunittest++-dev libzmq3-dev pkg-config python3-dev qtbase5-dev qtmultimedia5-dev swig -y
29-
- sudo apt autoremove -y
30-
script:
31-
- mkdir -p build; cd build;
32-
- cmake -D"CMAKE_BUILD_TYPE:STRING=Debug" ../
33-
- make VERBOSE=1
34-
- make os_test
35-
- make install DESTDIR=dist/
36-
37-
- language: cpp
38-
name: "FFmpeg 4"
39-
before_script:
40-
- sudo add-apt-repository ppa:openshot.developers/libopenshot-daily -y
41-
- sudo add-apt-repository ppa:beineri/opt-qt-5.10.0-xenial -y
42-
- sudo add-apt-repository ppa:jonathonf/ffmpeg -y
43-
- sudo add-apt-repository ppa:jonathonf/ffmpeg-4 -y
44-
- sudo add-apt-repository ppa:jonathonf/backports -y
45-
- sudo apt-get update -qq
46-
- sudo apt-get install gcc-4.8 cmake libavcodec58 libavformat58 libavcodec-dev libavformat-dev libswscale-dev libavresample-dev libavutil-dev libopenshot-audio-dev libopenshot-dev libfdk-aac-dev libfdk-aac-dev libjsoncpp-dev libmagick++-dev libopenshot-audio-dev libunittest++-dev libzmq3-dev pkg-config python3-dev qtbase5-dev qtmultimedia5-dev swig -y
47-
- sudo apt autoremove -y
48-
script:
49-
- mkdir -p build; cd build;
50-
- cmake -D"CMAKE_BUILD_TYPE:STRING=Debug" ../
51-
- make VERBOSE=1
52-
- make os_test
53-
- make install DESTDIR=dist/
35+
- name: "FFmpeg 2 (Ubuntu 16.04 Xenial)"
36+
env: BUILD_VERSION=ffmpeg2
37+
os: linux
38+
dist: xenial
39+
addons:
40+
apt:
41+
sources:
42+
- sourceline: 'ppa:openshot.developers/libopenshot-daily'
43+
- sourceline: 'ppa:beineri/opt-qt-5.10.0-xenial'
44+
packages:
45+
- *ff_common
46+
47+
- name: "FFmpeg 3 (Ubuntu 18.04 Bionic)"
48+
env: BUILD_VERSION=ffmpeg3
49+
os: linux
50+
dist: bionic
51+
addons:
52+
apt:
53+
sources:
54+
- sourceline: 'ppa:openshot.developers/libopenshot-daily'
55+
- sourceline: 'ppa:beineri/opt-qt-5.12.3-bionic'
56+
packages:
57+
- *ff_common
58+
- qt5-default
59+
60+
- name: "FFmpeg 4 (Ubuntu 18.04 Bionic)"
61+
env: BUILD_VERSION=ffmpeg4
62+
os: linux
63+
dist: bionic
64+
addons:
65+
apt:
66+
sources:
67+
- sourceline: 'ppa:openshot.developers/libopenshot-daily'
68+
- sourceline: 'ppa:beineri/opt-qt-5.12.3-bionic'
69+
- sourceline: 'ppa:jonathonf/ffmpeg-4'
70+
packages:
71+
- *ff_common
72+
- qt5-default
73+
- libavcodec58
74+
- libavformat58
75+
- libavdevice58
76+
- libavutil56
77+
- libavfilter7
78+
- libswscale5
79+
- libpostproc55
80+
- libavresample4
81+
- libswresample3
82+
83+
script:
84+
- mkdir -p build; cd build;
85+
- cmake -DCMAKE_BUILD_TYPE:STRING="Debug" ../
86+
- make VERBOSE=1
87+
- make os_test
88+
- make install DESTDIR="$BUILD_VERSION"

CMakeLists.txt

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
# along with OpenShot Library. If not, see <http://www.gnu.org/licenses/>.
2525
################################################################################
2626

27-
cmake_minimum_required(VERSION 3.1...3.14 FATAL_ERROR)
27+
cmake_minimum_required(VERSION 3.2...3.14 FATAL_ERROR)
2828

2929
message("\
3030
-----------------------------------------------------------------
@@ -56,7 +56,7 @@ STRING(REGEX REPLACE "\-.*$" "" VERSION_NUM "${PROJECT_VERSION_FULL}")
5656
PROJECT(libopenshot LANGUAGES C CXX VERSION ${VERSION_NUM})
5757

5858
message("
59-
Generating build files for OpenShot
59+
Generating build files for OpenShot with CMake ${CMAKE_VERSION}
6060
Building ${PROJECT_NAME} (version ${PROJECT_VERSION})
6161
SO/API/ABI Version: ${PROJECT_SO_VERSION}
6262
")
@@ -74,9 +74,9 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/include/OpenShotVersion.h
7474

7575
############### Set up include paths #################
7676
list(APPEND OPENSHOT_INCLUDE_DIRS
77-
include
78-
include/effects
79-
include/Qt
77+
${CMAKE_CURRENT_SOURCE_DIR}/include
78+
${CMAKE_CURRENT_SOURCE_DIR}/include/effects
79+
${CMAKE_CURRENT_SOURCE_DIR}/include/Qt
8080
${CMAKE_CURRENT_BINARY_DIR}/include )
8181

8282
#### Enable C++11 (for std::shared_ptr support)
@@ -92,10 +92,29 @@ ENDIF(WIN32)
9292
set(QT_HEADER_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include/Qt)
9393
FILE(GLOB QT_HEADER_FILES "${QT_HEADER_DIR}/*.h")
9494

95-
############## PROCESS SUB-DIRECTORIES ##############
95+
############## PROCESS src/ DIRECTORIES ##############
9696
add_subdirectory(src)
97-
add_subdirectory(tests)
9897

9998
################### DOCUMENTATION ###################
10099
# Find Doxygen (used for documentation)
101-
include(cmake/Modules/UseDoxygen.cmake)
100+
include(cmake/Modules/UseDoxygen.cmake)
101+
102+
# Doxygen was found
103+
if (TARGET doc)
104+
message(STATUS "Doxygen found, documentation target enabled")
105+
message("\nTo compile documentation in doc/html, run: 'make doc'")
106+
107+
# Install docs, if the user builds them with `make doc`
108+
install(CODE "MESSAGE(\"Checking for documentation files to install...\")")
109+
install(CODE "MESSAGE(\"(Compile with 'make doc' command, requires Doxygen)\")")
110+
111+
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc/html/
112+
DESTINATION ${CMAKE_INSTALL_DOCDIR}/API
113+
MESSAGE_NEVER # Don't spew about file copies
114+
OPTIONAL ) # No error if the docs aren't found
115+
endif()
116+
117+
############# PROCESS tests/ DIRECTORY ##############
118+
if(NOT DISABLE_TESTS)
119+
add_subdirectory(tests)
120+
endif()

0 commit comments

Comments
 (0)