Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
e8ac7a34
Commit
e8ac7a34
authored
Apr 26, 2019
by
Alexander Alekhin
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #14426 from alalek:cmake_fix_include_pkgconfig
parents
7b8ce637
c9f3f4d1
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
77 additions
and
78 deletions
+77
-78
CMakeLists.txt
CMakeLists.txt
+1
-1
OpenCVUtils.cmake
cmake/OpenCVUtils.cmake
+1
-1
init.cmake
modules/videoio/cmake/init.cmake
+0
-2
plugin.cmake
modules/videoio/cmake/plugin.cmake
+0
-72
plugin_standalone.cmake
modules/videoio/cmake/plugin_standalone.cmake
+73
-0
CMakeLists.txt
modules/videoio/misc/plugin_ffmpeg/CMakeLists.txt
+1
-1
CMakeLists.txt
modules/videoio/misc/plugin_gstreamer/CMakeLists.txt
+1
-1
No files found.
CMakeLists.txt
View file @
e8ac7a34
...
@@ -698,7 +698,7 @@ ocv_cmake_hook(POST_COMPILER_OPTIONS)
...
@@ -698,7 +698,7 @@ ocv_cmake_hook(POST_COMPILER_OPTIONS)
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
if
(
UNIX
)
if
(
UNIX
)
if
(
NOT APPLE_FRAMEWORK OR OPENCV_ENABLE_PKG_CONFIG
)
if
(
NOT APPLE_FRAMEWORK OR OPENCV_ENABLE_PKG_CONFIG
)
if
(
CMAKE_CROSSCOMPILING AND NOT DEFINED ENV{PKG_CONFIG_LIBDIR}
if
(
CMAKE_CROSSCOMPILING AND NOT DEFINED ENV{PKG_CONFIG_LIBDIR}
AND NOT DEFINED ENV{PKG_CONFIG_SYSROOT_DIR}
AND NOT OPENCV_ENABLE_PKG_CONFIG
AND NOT OPENCV_ENABLE_PKG_CONFIG
)
)
if
(
NOT PkgConfig_FOUND
)
if
(
NOT PkgConfig_FOUND
)
...
...
cmake/OpenCVUtils.cmake
View file @
e8ac7a34
...
@@ -743,7 +743,7 @@ macro(ocv_check_modules define)
...
@@ -743,7 +743,7 @@ macro(ocv_check_modules define)
endif
()
endif
()
unset
(
${
define
}
_
${
__modname
}
_FOUND
)
unset
(
${
define
}
_
${
__modname
}
_FOUND
)
endforeach
()
endforeach
()
if
(
COMMAND pkg_check_modules
)
if
(
PKG_CONFIG_FOUND OR PkgConfig_FOUND
)
pkg_check_modules
(
${
define
}
${
ARGN
}
)
pkg_check_modules
(
${
define
}
${
ARGN
}
)
endif
()
endif
()
if
(
${
define
}
_FOUND
)
if
(
${
define
}
_FOUND
)
...
...
modules/videoio/cmake/init.cmake
View file @
e8ac7a34
...
@@ -19,8 +19,6 @@ function(ocv_add_external_target name inc link def)
...
@@ -19,8 +19,6 @@ function(ocv_add_external_target name inc link def)
endif
()
endif
()
endfunction
()
endfunction
()
include
(
FindPkgConfig
)
add_backend
(
"ffmpeg"
WITH_FFMPEG
)
add_backend
(
"ffmpeg"
WITH_FFMPEG
)
add_backend
(
"gstreamer"
WITH_GSTREAMER
)
add_backend
(
"gstreamer"
WITH_GSTREAMER
)
add_backend
(
"v4l"
WITH_V4L
)
add_backend
(
"v4l"
WITH_V4L
)
...
...
modules/videoio/cmake/plugin.cmake
View file @
e8ac7a34
#=============================================
# build with OpenCV
include
(
"
${
OpenCV_SOURCE_DIR
}
/cmake/OpenCVUtils.cmake"
)
function
(
ocv_create_builtin_videoio_plugin name target videoio_src_file
)
function
(
ocv_create_builtin_videoio_plugin name target videoio_src_file
)
ocv_debug_message
(
"ocv_create_builtin_videoio_plugin(
${
ARGV
}
)"
)
ocv_debug_message
(
"ocv_create_builtin_videoio_plugin(
${
ARGV
}
)"
)
...
@@ -36,71 +32,3 @@ function(ocv_create_builtin_videoio_plugin name target videoio_src_file)
...
@@ -36,71 +32,3 @@ function(ocv_create_builtin_videoio_plugin name target videoio_src_file)
add_dependencies
(
opencv_videoio_plugins
${
name
}
)
add_dependencies
(
opencv_videoio_plugins
${
name
}
)
endfunction
()
endfunction
()
#=============================================
# standalone build
function
(
ocv_create_videoio_plugin default_name target target_desc videoio_src_file
)
set
(
OPENCV_PLUGIN_NAME
${
default_name
}
CACHE STRING
""
)
set
(
OPENCV_PLUGIN_DESTINATION
""
CACHE PATH
""
)
project
(
${
OPENCV_PLUGIN_NAME
}
LANGUAGES CXX
)
set
(
BUILD_SHARED_LIBS ON CACHE BOOL
""
)
if
(
NOT BUILD_SHARED_LIBS
)
message
(
FATAL_ERROR
"Static plugin build does not make sense"
)
endif
()
if
(
NOT OpenCV_SOURCE_DIR
)
message
(
FATAL_ERROR
"OpenCV_SOURCE_DIR must be set to build the plugin!"
)
endif
()
include
(
"
${
OpenCV_SOURCE_DIR
}
/modules/videoio/cmake/init.cmake"
)
if
(
NOT TARGET
${
target
}
)
message
(
FATAL_ERROR
"
${
target_desc
}
was not found!"
)
endif
()
set
(
modules_ROOT
"
${
CMAKE_CURRENT_LIST_DIR
}
/../../.."
)
set
(
videoio_ROOT
"
${
modules_ROOT
}
/videoio"
)
set
(
core_ROOT
"
${
modules_ROOT
}
/core"
)
set
(
imgproc_ROOT
"
${
modules_ROOT
}
/imgproc"
)
set
(
imgcodecs_ROOT
"
${
modules_ROOT
}
/imgcodecs"
)
add_library
(
${
OPENCV_PLUGIN_NAME
}
MODULE
"
${
videoio_ROOT
}
/src/
${
videoio_src_file
}
"
)
target_include_directories
(
${
OPENCV_PLUGIN_NAME
}
PRIVATE
"
${
CMAKE_CURRENT_BINARY_DIR
}
"
"
${
videoio_ROOT
}
/src"
"
${
videoio_ROOT
}
/include"
"
${
core_ROOT
}
/include"
"
${
imgproc_ROOT
}
/include"
"
${
imgcodecs_ROOT
}
/include"
)
target_compile_definitions
(
${
OPENCV_PLUGIN_NAME
}
PRIVATE BUILD_PLUGIN
)
# Fixes for build
target_compile_definitions
(
${
OPENCV_PLUGIN_NAME
}
PRIVATE __OPENCV_BUILD
)
file
(
WRITE
"
${
CMAKE_CURRENT_BINARY_DIR
}
/cvconfig.h"
"#pragma once"
)
file
(
WRITE
"
${
CMAKE_CURRENT_BINARY_DIR
}
/cv_cpu_config.h"
"#pragma once"
)
file
(
WRITE
"
${
CMAKE_CURRENT_BINARY_DIR
}
/opencv2/opencv_modules.hpp"
"#pragma once"
)
target_link_libraries
(
${
OPENCV_PLUGIN_NAME
}
PRIVATE
${
target
}
)
set_target_properties
(
${
OPENCV_PLUGIN_NAME
}
PROPERTIES
CXX_STANDARD 11
CXX_VISIBILITY_PRESET hidden
)
# Hack for Windows
if
(
WIN32
)
find_package
(
OpenCV REQUIRED core imgproc videoio
)
target_link_libraries
(
${
OPENCV_PLUGIN_NAME
}
${
OpenCV_LIBS
}
)
endif
()
if
(
OPENCV_PLUGIN_DESTINATION
)
set_target_properties
(
${
OPENCV_PLUGIN_NAME
}
PROPERTIES LIBRARY_OUTPUT_DIRECTORY
"
${
OPENCV_PLUGIN_DESTINATION
}
"
)
message
(
STATUS
"Output destination:
${
OPENCV_PLUGIN_DESTINATION
}
"
)
endif
()
message
(
STATUS
"Library name:
${
OPENCV_PLUGIN_NAME
}
"
)
endfunction
()
modules/videoio/cmake/plugin_standalone.cmake
0 → 100644
View file @
e8ac7a34
#=============================================
# standalone build
include
(
FindPkgConfig
)
#=============================================
# build with OpenCV
include
(
"
${
OpenCV_SOURCE_DIR
}
/cmake/OpenCVUtils.cmake"
)
function
(
ocv_create_videoio_plugin default_name target target_desc videoio_src_file
)
set
(
OPENCV_PLUGIN_NAME
${
default_name
}
CACHE STRING
""
)
set
(
OPENCV_PLUGIN_DESTINATION
""
CACHE PATH
""
)
project
(
${
OPENCV_PLUGIN_NAME
}
LANGUAGES CXX
)
set
(
BUILD_SHARED_LIBS ON CACHE BOOL
""
)
if
(
NOT BUILD_SHARED_LIBS
)
message
(
FATAL_ERROR
"Static plugin build does not make sense"
)
endif
()
if
(
NOT OpenCV_SOURCE_DIR
)
message
(
FATAL_ERROR
"OpenCV_SOURCE_DIR must be set to build the plugin!"
)
endif
()
include
(
"
${
OpenCV_SOURCE_DIR
}
/modules/videoio/cmake/init.cmake"
)
if
(
NOT TARGET
${
target
}
)
message
(
FATAL_ERROR
"
${
target_desc
}
was not found!"
)
endif
()
set
(
modules_ROOT
"
${
CMAKE_CURRENT_LIST_DIR
}
/../../.."
)
set
(
videoio_ROOT
"
${
modules_ROOT
}
/videoio"
)
set
(
core_ROOT
"
${
modules_ROOT
}
/core"
)
set
(
imgproc_ROOT
"
${
modules_ROOT
}
/imgproc"
)
set
(
imgcodecs_ROOT
"
${
modules_ROOT
}
/imgcodecs"
)
add_library
(
${
OPENCV_PLUGIN_NAME
}
MODULE
"
${
videoio_ROOT
}
/src/
${
videoio_src_file
}
"
)
target_include_directories
(
${
OPENCV_PLUGIN_NAME
}
PRIVATE
"
${
CMAKE_CURRENT_BINARY_DIR
}
"
"
${
videoio_ROOT
}
/src"
"
${
videoio_ROOT
}
/include"
"
${
core_ROOT
}
/include"
"
${
imgproc_ROOT
}
/include"
"
${
imgcodecs_ROOT
}
/include"
)
target_compile_definitions
(
${
OPENCV_PLUGIN_NAME
}
PRIVATE BUILD_PLUGIN
)
# Fixes for build
target_compile_definitions
(
${
OPENCV_PLUGIN_NAME
}
PRIVATE __OPENCV_BUILD
)
file
(
WRITE
"
${
CMAKE_CURRENT_BINARY_DIR
}
/cvconfig.h"
"#pragma once"
)
file
(
WRITE
"
${
CMAKE_CURRENT_BINARY_DIR
}
/cv_cpu_config.h"
"#pragma once"
)
file
(
WRITE
"
${
CMAKE_CURRENT_BINARY_DIR
}
/opencv2/opencv_modules.hpp"
"#pragma once"
)
target_link_libraries
(
${
OPENCV_PLUGIN_NAME
}
PRIVATE
${
target
}
)
set_target_properties
(
${
OPENCV_PLUGIN_NAME
}
PROPERTIES
CXX_STANDARD 11
CXX_VISIBILITY_PRESET hidden
)
# Hack for Windows
if
(
WIN32
)
find_package
(
OpenCV REQUIRED core imgproc videoio
)
target_link_libraries
(
${
OPENCV_PLUGIN_NAME
}
${
OpenCV_LIBS
}
)
endif
()
if
(
OPENCV_PLUGIN_DESTINATION
)
set_target_properties
(
${
OPENCV_PLUGIN_NAME
}
PROPERTIES LIBRARY_OUTPUT_DIRECTORY
"
${
OPENCV_PLUGIN_DESTINATION
}
"
)
message
(
STATUS
"Output destination:
${
OPENCV_PLUGIN_DESTINATION
}
"
)
endif
()
message
(
STATUS
"Library name:
${
OPENCV_PLUGIN_NAME
}
"
)
endfunction
()
modules/videoio/misc/plugin_ffmpeg/CMakeLists.txt
View file @
e8ac7a34
...
@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.5)
...
@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.5)
set
(
OpenCV_SOURCE_DIR
"
${
CMAKE_CURRENT_LIST_DIR
}
/../../../.."
)
set
(
OpenCV_SOURCE_DIR
"
${
CMAKE_CURRENT_LIST_DIR
}
/../../../.."
)
set
(
WITH_FFMPEG ON
)
set
(
WITH_FFMPEG ON
)
set
(
OPENCV_FFMPEG_SKIP_BUILD_CHECK ON
)
set
(
OPENCV_FFMPEG_SKIP_BUILD_CHECK ON
)
include
(
"
${
OpenCV_SOURCE_DIR
}
/modules/videoio/cmake/plugin.cmake"
)
include
(
"
${
OpenCV_SOURCE_DIR
}
/modules/videoio/cmake/plugin
_standalone
.cmake"
)
ocv_create_videoio_plugin
(
"opencv_videoio_ffmpeg"
"ocv.3rdparty.ffmpeg"
"FFmpeg"
"cap_ffmpeg.cpp"
)
ocv_create_videoio_plugin
(
"opencv_videoio_ffmpeg"
"ocv.3rdparty.ffmpeg"
"FFmpeg"
"cap_ffmpeg.cpp"
)
message
(
STATUS
"FFMPEG_libavcodec_VERSION=
${
FFMPEG_libavcodec_VERSION
}
"
)
message
(
STATUS
"FFMPEG_libavcodec_VERSION=
${
FFMPEG_libavcodec_VERSION
}
"
)
...
...
modules/videoio/misc/plugin_gstreamer/CMakeLists.txt
View file @
e8ac7a34
...
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.5)
...
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.5)
set
(
OpenCV_SOURCE_DIR
"
${
CMAKE_CURRENT_LIST_DIR
}
/../../../.."
)
set
(
OpenCV_SOURCE_DIR
"
${
CMAKE_CURRENT_LIST_DIR
}
/../../../.."
)
set
(
WITH_GSTREAMER ON
)
set
(
WITH_GSTREAMER ON
)
include
(
"
${
OpenCV_SOURCE_DIR
}
/modules/videoio/cmake/plugin.cmake"
)
include
(
"
${
OpenCV_SOURCE_DIR
}
/modules/videoio/cmake/plugin
_standalone
.cmake"
)
ocv_create_videoio_plugin
(
"opencv_videoio_gstreamer"
"ocv.3rdparty.gstreamer"
"GStreamer"
"cap_gstreamer.cpp"
)
ocv_create_videoio_plugin
(
"opencv_videoio_gstreamer"
"ocv.3rdparty.gstreamer"
"GStreamer"
"cap_gstreamer.cpp"
)
message
(
STATUS
"Using GStreamer:
${
GSTREAMER_VERSION
}
"
)
message
(
STATUS
"Using GStreamer:
${
GSTREAMER_VERSION
}
"
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment