Skip to content

Commit

Permalink
Merge pull request #604 from ferdnyc/opencv_build_config
Browse files Browse the repository at this point in the history
CMake: Adjustments to build config with OpenCV/Protobuf/Boost
  • Loading branch information
BrennoCaldato committed Jan 13, 2021
2 parents b6975ae + d71631a commit 1fa4e87
Show file tree
Hide file tree
Showing 53 changed files with 4,564 additions and 343 deletions.
9 changes: 9 additions & 0 deletions .github/dependabot.yml
@@ -0,0 +1,9 @@
# Set update schedule for GitHub Actions

version: 2
updates:

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
19 changes: 0 additions & 19 deletions .github/workflows/label.yml

This file was deleted.

1 change: 1 addition & 0 deletions CMakeLists.txt
Expand Up @@ -79,6 +79,7 @@ option(ENABLE_COVERAGE "Scan test coverage using gcov and report" OFF)
option(ENABLE_DOCS "Build API documentation (requires Doxygen)" ON)
option(APPIMAGE_BUILD "Build to install in an AppImage (Linux only)" OFF)
option(ENABLE_MAGICK "Use ImageMagick, if available" ON)
option(ENABLE_OPENCV "Build with OpenCV algorithms (requires Boost, Protobuf 3)" ON)

# Legacy commandline override
if (DISABLE_TESTS)
Expand Down
46 changes: 29 additions & 17 deletions bindings/python/CMakeLists.txt
Expand Up @@ -54,34 +54,46 @@ if (CMAKE_VERSION VERSION_LESS 3.12)
"${PROJECT_BINARY_DIR}/src")
endif()

################ OPENCV ##################
find_package( OpenCV 4 )
if (OpenCV_FOUND)
message("\nCOMPILING WITH OPENCV\n")
set(CMAKE_SWIG_FLAGS "-DUSE_OPENCV=1")
add_definitions( -DUSE_OPENCV=1 )
else()
message("\nOPENCV NOT FOUND, SOME FUNCTIONALITIES WILL BE DISABLED\n")
endif()

### Enable C++ in SWIG
set_property(SOURCE openshot.i PROPERTY CPLUSPLUS ON)
set_property(SOURCE openshot.i PROPERTY SWIG_MODULE_NAME openshot)

# Set the SWIG_FLAGS from the library target, IFF its
# COMPILE_DEFINITIONS property is set (in practice, always true)
if(CMAKE_VERSION VERSION_GREATER 3.15)
set(_defs
$<REMOVE_DUPLICATES:$<TARGET_PROPERTY:openshot,COMPILE_DEFINITIONS>>)
elseif(CMAKE_VERSION VERSION_GREATER 3.12)
set(_defs $<TARGET_PROPERTY:openshot,COMPILE_DEFINITIONS>)
endif()
if(DEFINED _defs)
set_property(SOURCE openshot.i PROPERTY
COMPILE_DEFINITIONS ${_defs})
else()
get_property(_defs TARGET openshot PROPERTY COMPILE_DEFINITIONS)
foreach(_d ${_defs})
list(APPEND _flags -D${_d})
endforeach()
set_property(SOURCE openshot.i PROPERTY
SWIG_FLAGS ${_flags})
endif()

### Suppress a ton of warnings in the generated SWIG C++ code
set(SWIG_CXX_FLAGS "-Wno-unused-variable -Wno-unused-function \
-Wno-deprecated-copy -Wno-class-memaccess -Wno-cast-function-type \
-Wno-unused-parameter -Wno-catch-value -Wno-sign-compare -Wno-ignored-qualifiers")
separate_arguments(sw_flags UNIX_COMMAND ${SWIG_CXX_FLAGS})
set_property(SOURCE openshot.i PROPERTY GENERATED_COMPILE_OPTIONS ${sw_flags})

### Take include dirs from target, automatically if possible
if (CMAKE_VERSION VERSION_GREATER 3.13)
set_property(SOURCE openshot.i PROPERTY USE_TARGET_INCLUDE_DIRECTORIES True)
elseif (CMAKE_VERSION VERSION_GREATER 3.12)
set_property(SOURCE openshot.i PROPERTY
INCLUDE_DIRECTORIES $<TARGET_PROPERTY:openshot,INCLUDE_DIRECTORIES>)
endif ()
### Take include dirs from target
if(CMAKE_VERSION VERSION_GREATER 3.15)
set(_inc $<REMOVE_DUPLICATES:$<TARGET_PROPERTY:openshot,INCLUDE_DIRECTORIES>>)
elseif(CMAKE_VERSION VERSION_GREATER 3.12)
set(_inc $<TARGET_PROPERTY:openshot,INCLUDE_DIRECTORIES>)
endif()
if (DEFINED _inc)
set_property(SOURCE openshot.i PROPERTY INCLUDE_DIRECTORIES ${_inc})
endif()

### Add the SWIG interface file (which defines all the SWIG methods)
if (CMAKE_VERSION VERSION_LESS 3.8.0)
Expand Down
36 changes: 29 additions & 7 deletions bindings/ruby/CMakeLists.txt
Expand Up @@ -74,20 +74,42 @@ endif()
set_property(SOURCE openshot.i PROPERTY CPLUSPLUS ON)
set_property(SOURCE openshot.i PROPERTY SWIG_MODULE_NAME openshot)

# Set the SWIG_FLAGS from the library target, IFF its
# COMPILE_DEFINITIONS property is set (in practice, always true)
if(CMAKE_VERSION VERSION_GREATER 3.15)
set(_defs
$<REMOVE_DUPLICATES:$<TARGET_PROPERTY:openshot,COMPILE_DEFINITIONS>>)
elseif(CMAKE_VERSION VERSION_GREATER 3.12)
set(_defs $<TARGET_PROPERTY:openshot,COMPILE_DEFINITIONS>)
endif()
if(DEFINED _defs)
set_property(SOURCE openshot.i PROPERTY
COMPILE_DEFINITIONS ${_defs})
else()
get_property(_defs TARGET openshot PROPERTY COMPILE_DEFINITIONS)
foreach(_d ${_defs})
list(APPEND _flags -D${_d})
endforeach()
set_property(SOURCE openshot.i PROPERTY
SWIG_FLAGS ${_flags})
endif()

### Suppress a ton of warnings in the generated SWIG C++ code
set(SWIG_CXX_FLAGS "-Wno-unused-variable -Wno-unused-function \
-Wno-deprecated-copy -Wno-class-memaccess -Wno-cast-function-type \
-Wno-unused-parameter -Wno-catch-value -Wno-sign-compare -Wno-ignored-qualifiers")
separate_arguments(sw_flags UNIX_COMMAND ${SWIG_CXX_FLAGS})
set_property(SOURCE openshot.i PROPERTY GENERATED_COMPILE_OPTIONS ${sw_flags})

### Take include dirs from target, automatically if possible
if (CMAKE_VERSION VERSION_GREATER 3.13)
set_property(SOURCE openshot.i PROPERTY USE_TARGET_INCLUDE_DIRECTORIES True)
else ()
set_property(SOURCE openshot.i PROPERTY
INCLUDE_DIRECTORIES $<TARGET_PROPERTY:openshot,INCLUDE_DIRECTORIES>)
endif ()
### Take include dirs from target
if(CMAKE_VERSION VERSION_GREATER 3.15)
set(_inc $<REMOVE_DUPLICATES:$<TARGET_PROPERTY:openshot,INCLUDE_DIRECTORIES>>)
elseif(CMAKE_VERSION VERSION_GREATER 3.12)
set(_inc $<TARGET_PROPERTY:openshot,INCLUDE_DIRECTORIES>)
endif()
if (DEFINED _inc)
set_property(SOURCE openshot.i PROPERTY INCLUDE_DIRECTORIES ${_inc})
endif()

### Add the SWIG interface file (which defines all the SWIG methods)
if (CMAKE_VERSION VERSION_LESS 3.8.0)
Expand Down
2 changes: 2 additions & 0 deletions cmake/Modules/FindResvg.cmake
Expand Up @@ -50,6 +50,7 @@ endif()
find_path(Resvg_INCLUDE_DIRS
ResvgQt.h
PATHS
${Resvg_ROOT}
${RESVGDIR}
${RESVGDIR}/include
$ENV{RESVGDIR}
Expand All @@ -65,6 +66,7 @@ find_path(Resvg_INCLUDE_DIRS
find_library(Resvg_LIBRARIES
NAMES resvg
PATHS
${Resvg_ROOT}
${RESVGDIR}
${RESVGDIR}/lib
$ENV{RESVGDIR}
Expand Down
4 changes: 1 addition & 3 deletions codecov.yml
@@ -1,10 +1,8 @@
codecov:
branch: default
coverage:
status:
project:
default:
base: pr # Only post a status to pull requests
only_pulls: true # Only post a status to pull requests
informational: true # Don't block PRs based on coverage stats (yet?)
ignore:
- "examples"
Expand Down

0 comments on commit 1fa4e87

Please sign in to comment.