Skip to content

Commit a1e44ed

Browse files
committed
Merge branch 'develop' into clip-refactor-keyframes
2 parents f4ae897 + 07a447c commit a1e44ed

File tree

192 files changed

+675
-625
lines changed

Some content is hidden

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

192 files changed

+675
-625
lines changed

CMakeLists.txt

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -75,18 +75,14 @@ option(USE_SYSTEM_JSONCPP "Use system installed JsonCpp, if found" ON)
7575
option(DISABLE_BUNDLED_JSONCPP "Don't fall back to bundled JsonCpp" OFF)
7676
option(ENABLE_IWYU "Enable 'Include What You Use' scanner (CMake 3.3+)" OFF)
7777
option(ENABLE_TESTS "Build unit tests (requires UnitTest++)" ON)
78+
option(ENABLE_COVERAGE "Scan test coverage using gcov and report" OFF)
7879
option(ENABLE_DOCS "Build API documentation (requires Doxygen)" ON)
7980
option(APPIMAGE_BUILD "Build to install in an AppImage (Linux only)" OFF)
8081
option(ENABLE_MAGICK "Use ImageMagick, if available" ON)
8182

8283
# Legacy commandline override
8384
if (DISABLE_TESTS)
84-
if(ENABLE_COVERAGE)
85-
message(WARNING "ENABLE_COVERAGE requires tests, overriding DISABLE_TESTS")
86-
set(ENABLE_TESTS ON)
87-
else()
88-
set(ENABLE_TESTS OFF)
89-
endif()
85+
set(ENABLE_TESTS OFF)
9086
endif()
9187

9288
if(DEFINED ENABLE_TESTS)
@@ -110,9 +106,9 @@ IF (WIN32)
110106
ENDIF(WIN32)
111107

112108
############## Code Coverage #########################
113-
if (DISABLE_TESTS AND ENABLE_COVERAGE)
114-
message(WARNING "ENABLE_COVERAGE requires tests, overriding DISABLE_TESTS")
115-
set(DISABLE_TESTS OFF CACHE BOOL "Don't build unit tests" FORCE)
109+
if (ENABLE_COVERAGE AND NOT ENABLE_TESTS)
110+
message(WARNING "ENABLE_COVERAGE requires unit tests, forcing ENABLE_TESTS")
111+
set(ENABLE_TESTS ON CACHE BOOL "Don't build unit tests" FORCE)
116112
endif()
117113

118114
if (ENABLE_COVERAGE)
@@ -125,25 +121,29 @@ if (ENABLE_COVERAGE)
125121
endif()
126122
add_feature_info("Coverage" ENABLE_COVERAGE "analyze test coverage and generate report")
127123

128-
# Juce requires either DEBUG or NDEBUG to be defined on MacOS.
129-
# -DNDEBUG is set by cmake for all release configs, so add
130-
# -DDEBUG for debug builds. We'll do this for all OSes, even
131-
# though only MacOS requires it.
132-
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG")
133124
# Make sure we've picked some build type, default to release
134125
if(NOT DEFINED CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL "")
135126
set(CMAKE_BUILD_TYPE "Release")
136127
endif()
137128

138-
############## PROCESS src/ DIRECTORIES ##############
129+
###
130+
### Process subdirectories
131+
###
139132
add_subdirectory(src)
140-
141-
########## Configure Version.h header ##############
142-
configure_file(include/OpenShotVersion.h.in include/OpenShotVersion.h @ONLY)
133+
add_subdirectory(examples)
134+
add_subdirectory(bindings)
135+
136+
###
137+
### Configure Version.h header
138+
###
139+
# (Note: This comes after the subdirectories, because it needs variables
140+
# set during the dependency discovery in src/CMakeLists.txt)
141+
configure_file(src/OpenShotVersion.h.in src/OpenShotVersion.h @ONLY)
143142
# We'll want that installed later
144-
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/include/OpenShotVersion.h
143+
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/src/OpenShotVersion.h
145144
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libopenshot)
146145

146+
147147
################### DOCUMENTATION ###################
148148
# Find Doxygen (used for documentation)
149149
set(DOCS_ENABLED FALSE) # Only set true if Doxygen is found and configured
@@ -180,8 +180,10 @@ if (ENABLE_COVERAGE)
180180
NAME coverage
181181
LCOV_ARGS "--no-external"
182182
EXECUTABLE openshot-test
183-
DEPENDENCIES openshot-test)
184-
message("Generate coverage report with 'make coverage'")
183+
DEPENDENCIES openshot-test
184+
EXCLUDE "bindings" "examples" "${CMAKE_CURRENT_BINARY_DIR}/bindings"
185+
)
186+
message("Generate coverage report with 'make coverage'")
185187
endif()
186188

187189
########### PRINT FEATURE SUMMARY ##############

Doxyfile.in

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ INLINE_INHERITED_MEMB = NO
148148
# shortest path that makes the file name unique will be used
149149
# The default value is: YES.
150150

151-
FULL_PATH_NAMES = NO
151+
FULL_PATH_NAMES = YES
152152

153153
# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
154154
# Stripping is only done if one of the specified strings matches the left-hand
@@ -160,7 +160,7 @@ FULL_PATH_NAMES = NO
160160
# will be relative from the directory where doxygen is started.
161161
# This tag requires that the tag FULL_PATH_NAMES is set to YES.
162162

163-
STRIP_FROM_PATH =
163+
STRIP_FROM_PATH = "@PROJECT_SOURCE_DIR@/src"
164164

165165
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
166166
# path mentioned in the documentation of a class, which tells the reader which
@@ -169,7 +169,7 @@ STRIP_FROM_PATH =
169169
# specify the list of include paths that are normally passed to the compiler
170170
# using the -I flag.
171171

172-
STRIP_FROM_INC_PATH =
172+
STRIP_FROM_INC_PATH = "@PROJECT_SOURCE_DIR@/src"
173173

174174
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
175175
# less readable) file names. This can be useful is your file systems doesn't
@@ -803,9 +803,9 @@ WARN_LOGFILE =
803803
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
804804
# Note: If this tag is empty the current directory is searched.
805805

806-
INPUT = "@CMAKE_CURRENT_SOURCE_DIR@/include" \
807-
"@CMAKE_CURRENT_SOURCE_DIR@/src" \
808-
"@CMAKE_CURRENT_SOURCE_DIR@/doc"
806+
INPUT = "@PROJECT_SOURCE_DIR@/src" \
807+
"@PROJECT_SOURCE_DIR@/doc" \
808+
"@PROJECT_BINARY_DIR@/src/OpenShotVersion.h"
809809

810810

811811
# This tag can be used to specify the character encoding of the source files
@@ -862,11 +862,7 @@ EXCLUDE_SYMLINKS = NO
862862
# Note that the wildcards are matched against the file with absolute path, so to
863863
# exclude all test directories for example use the pattern */test/*
864864

865-
EXCLUDE_PATTERNS = "*/.*" \
866-
"*/.*/*" \
867-
"*/src/examples/*" \
868-
"*/src/bindings/*" \
869-
"*.py"
865+
EXCLUDE_PATTERNS =
870866

871867
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
872868
# (namespaces, classes, functions, etc.) that should be excluded from the
@@ -883,27 +879,27 @@ EXCLUDE_SYMBOLS =
883879
# that contain example code fragments that are included (see the \include
884880
# command).
885881

886-
EXAMPLE_PATH = "@CMAKE_CURRENT_SOURCE_DIR@/tests"
882+
EXAMPLE_PATH = "@PROJECT_SOURCE_DIR@/examples"
887883

888884
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
889885
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
890886
# *.h) to filter out the source-files in the directories. If left blank all
891887
# files are included.
892888

893-
EXAMPLE_PATTERNS =
889+
EXAMPLE_PATTERNS = "*.cpp"
894890

895891
# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
896892
# searched for input files to be used with the \include or \dontinclude commands
897893
# irrespective of the value of the RECURSIVE tag.
898894
# The default value is: NO.
899895

900-
EXAMPLE_RECURSIVE = NO
896+
EXAMPLE_RECURSIVE = YES
901897

902898
# The IMAGE_PATH tag can be used to specify one or more files or directories
903899
# that contain images that are to be included in the documentation (see the
904900
# \image command).
905901

906-
IMAGE_PATH = "@CMAKE_CURRENT_SOURCE_DIR@"
902+
IMAGE_PATH = "@PROJECT_SOURCE_DIR@"
907903

908904
# The INPUT_FILTER tag can be used to specify a program that doxygen should
909905
# invoke to filter for each input file. Doxygen will invoke the filter program
@@ -2086,7 +2082,7 @@ INCLUDE_PATH =
20862082
# used.
20872083
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
20882084

2089-
INCLUDE_FILE_PATTERNS =
2085+
INCLUDE_FILE_PATTERNS = "*.h"
20902086

20912087
# The PREDEFINED tag can be used to specify one or more macro names that are
20922088
# defined before the preprocessor is started (similar to the -D option of e.g.

0 commit comments

Comments
 (0)