Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
3863dc5b
O
Opencv
项目概览
Greenplum
/
Opencv
11 个月 前同步成功
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
Opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3863dc5b
编写于
5月 19, 2015
作者:
M
Maksim Shabunin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Updated pkg-config generation, added sample makefile
上级
671a630f
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
89 addition
and
68 deletion
+89
-68
CMakeLists.txt
CMakeLists.txt
+6
-1
cmake/OpenCVGenPkgconfig.cmake
cmake/OpenCVGenPkgconfig.cmake
+51
-63
cmake/OpenCVUtils.cmake
cmake/OpenCVUtils.cmake
+16
-1
cmake/templates/opencv-XXX.pc.in
cmake/templates/opencv-XXX.pc.in
+2
-1
modules/highgui/CMakeLists.txt
modules/highgui/CMakeLists.txt
+1
-1
modules/ts/CMakeLists.txt
modules/ts/CMakeLists.txt
+1
-1
samples/cpp/example_cmake/Makefile
samples/cpp/example_cmake/Makefile
+12
-0
未找到文件。
CMakeLists.txt
浏览文件 @
3863dc5b
...
...
@@ -769,6 +769,11 @@ else()
endif
()
status
(
" Precompiled headers:"
PCHSupport_FOUND AND ENABLE_PRECOMPILED_HEADERS THEN YES ELSE NO
)
# ========================== Dependencies ============================
ocv_get_all_libs
(
deps_modules deps_extra deps_3rdparty
)
status
(
" Extra dependencies:"
${
deps_extra
}
)
status
(
" 3rdparty dependencies:"
${
deps_3rdparty
}
)
# ========================== OpenCV modules ==========================
status
(
""
)
status
(
" OpenCV modules:"
)
...
...
@@ -909,7 +914,7 @@ else()
endif
()
if
(
WITH_GDAL
)
status
(
" GDAL:"
GDAL_FOUND THEN
"
${
GDAL_LIBRARY
}
"
)
status
(
" GDAL:"
GDAL_FOUND THEN
"
${
GDAL_LIBRARY
}
"
ELSE
"NO"
)
else
()
status
(
" GDAL:"
"NO"
)
endif
()
...
...
cmake/OpenCVGenPkgconfig.cmake
浏览文件 @
3863dc5b
...
...
@@ -9,26 +9,33 @@
# ${BIN_DIR}/unix-install/opencv.pc -> For use *with* "make install"
# -------------------------------------------------------------------------------------------
if
(
CMAKE_BUILD_TYPE MATCHES
"Release"
)
set
(
ocv_optkind OPT
)
else
()
set
(
ocv_optkind DBG
)
endif
()
#build the list of opencv libs and dependencies for all modules
set
(
OpenCV_LIB_COMPONENTS
""
)
set
(
OpenCV_EXTRA_COMPONENTS
""
)
foreach
(
m
${
OPENCV_MODULES_PUBLIC
}
)
list
(
INSERT OpenCV_LIB_COMPONENTS 0
${${
m
}
_MODULE_DEPS_
${
ocv_optkind
}}
${
m
}
)
if
(
${
m
}
_EXTRA_DEPS_
${
ocv_optkind
}
)
list
(
INSERT OpenCV_EXTRA_COMPONENTS 0
${${
m
}
_EXTRA_DEPS_
${
ocv_optkind
}}
)
endif
()
endforeach
()
macro
(
fix_prefix lst isown
)
set
(
_lst
)
foreach
(
item
${${
lst
}}
)
if
(
TARGET
${
item
}
)
get_target_property
(
item
"
${
item
}
"
LOCATION_
${
CMAKE_BUILD_TYPE
}
)
if
(
"
${
isown
}
"
)
get_filename_component
(
item
"
${
item
}
"
NAME_WE
)
string
(
REGEX REPLACE
"^lib(.*)"
"
\\
1"
item
"
${
item
}
"
)
endif
()
endif
()
if
(
item MATCHES
"^-l"
)
list
(
APPEND _lst
"
${
item
}
"
)
elseif
(
item MATCHES
"[
\\
/]"
)
get_filename_component
(
libdir
"
${
item
}
"
PATH
)
get_filename_component
(
libname
"
${
item
}
"
NAME_WE
)
string
(
REGEX REPLACE
"^lib(.*)"
"
\\
1"
libname
"
${
libname
}
"
)
list
(
APPEND _lst
"-L
${
libdir
}
"
"-l
${
libname
}
"
)
else
()
list
(
APPEND _lst
"-l
${
item
}
"
)
endif
()
endforeach
()
set
(
${
lst
}
${
_lst
}
)
unset
(
_lst
)
endmacro
()
ocv_list_unique
(
OpenCV_LIB_COMPONENTS
)
ocv_list_unique
(
OpenCV_EXTRA_COMPONENTS
)
ocv_list_reverse
(
OpenCV_LIB_COMPONENTS
)
ocv_list_reverse
(
OpenCV_EXTRA_COMPONENTS
)
# build the list of opencv libs and dependencies for all modules
ocv_get_all_libs
(
_modules _extra _3rdparty
)
#build the list of components
...
...
@@ -38,57 +45,38 @@ ocv_list_reverse(OpenCV_EXTRA_COMPONENTS)
# world and contrib_world are special targets whose library should come first,
# especially for static link.
if
(
OpenCV_LIB_COMPONENTS MATCHES
"opencv_world"
)
list
(
REMOVE_ITEM OpenCV_LIB_COMPONENTS
"opencv_world"
)
list
(
INSERT OpenCV_LIB_COMPONENTS 0
"opencv_world"
)
if
(
_modules MATCHES
"opencv_world"
)
set
(
_modules
"opencv_world"
)
endif
()
if
(
OpenCV_LIB_COMPONENTS
MATCHES
"opencv_contrib_world"
)
list
(
REMOVE_ITEM
OpenCV_LIB_COMPONENTS
"opencv_contrib_world"
)
list
(
INSERT
OpenCV_LIB_COMPONENTS
0
"opencv_contrib_world"
)
if
(
_modules
MATCHES
"opencv_contrib_world"
)
list
(
REMOVE_ITEM
_modules
"opencv_contrib_world"
)
list
(
INSERT
_modules
0
"opencv_contrib_world"
)
endif
()
set
(
OpenCV_LIB_COMPONENTS_
)
foreach
(
CVLib
${
OpenCV_LIB_COMPONENTS
}
)
get_target_property
(
libloc
${
CVLib
}
LOCATION_
${
CMAKE_BUILD_TYPE
}
)
if
(
libloc MATCHES
"3rdparty"
)
set
(
libpath
"
\$
{exec_prefix}/share/OpenCV/3rdparty/
${
OPENCV_LIB_INSTALL_PATH
}
"
)
else
()
set
(
libpath
"
\$
{exec_prefix}/
${
OPENCV_LIB_INSTALL_PATH
}
"
)
endif
()
list
(
APPEND OpenCV_LIB_COMPONENTS_
"-L
${
libpath
}
"
)
fix_prefix
(
_modules TRUE
)
fix_prefix
(
_extra FALSE
)
fix_prefix
(
_3rdparty TRUE
)
get_filename_component
(
libname
${
CVLib
}
NAME_WE
)
string
(
REGEX REPLACE
"^lib"
""
libname
"
${
libname
}
"
)
list
(
APPEND OpenCV_LIB_COMPONENTS_
"-l
${
libname
}
"
)
ocv_list_unique
(
_modules
)
ocv_list_unique
(
_extra
)
ocv_list_unique
(
_3rdparty
)
endforeach
()
# add extra dependencies required for OpenCV
if
(
OpenCV_EXTRA_COMPONENTS
)
foreach
(
extra_component
${
OpenCV_EXTRA_COMPONENTS
}
)
if
(
extra_component MATCHES
"^-[lL]"
)
set
(
libprefix
""
)
set
(
libname
"
${
extra_component
}
"
)
elseif
(
extra_component MATCHES
"[
\\
/]"
)
get_filename_component
(
libdir
"
${
extra_component
}
"
PATH
)
list
(
APPEND OpenCV_LIB_COMPONENTS_
"-L
${
libdir
}
"
)
get_filename_component
(
libname
"
${
extra_component
}
"
NAME_WE
)
string
(
REGEX REPLACE
"^lib"
""
libname
"
${
libname
}
"
)
set
(
libprefix
"-l"
)
else
()
set
(
libprefix
"-l"
)
set
(
libname
"
${
extra_component
}
"
)
endif
()
list
(
APPEND OpenCV_LIB_COMPONENTS_
"
${
libprefix
}${
libname
}
"
)
endforeach
()
set
(
OPENCV_PC_LIBS
"-L
\$
{exec_prefix}/
${
OPENCV_LIB_INSTALL_PATH
}
"
"
${
_modules
}
"
)
if
(
BUILD_SHARED_LIBS
)
set
(
OPENCV_PC_LIBS_PRIVATE
"
${
_extra
}
"
)
else
()
set
(
OPENCV_PC_LIBS_PRIVATE
"-L
\$
{exec_prefix}/
${
OPENCV_3P_LIB_INSTALL_PATH
}
"
"
${
_3rdparty
}
"
"
${
_extra
}
"
)
endif
()
list
(
REMOVE_DUPLICATES OpenCV_LIB_COMPONENTS_
)
string
(
REPLACE
";"
" "
OpenCV_LIB_COMPONENTS
"
${
OpenCV_LIB_COMPONENTS_
}
"
)
string
(
REPLACE
";"
" "
OPENCV_PC_LIBS
"
${
OPENCV_PC_LIBS
}
"
)
string
(
REPLACE
";"
" "
OPENCV_PC_LIBS_PRIVATE
"
${
OPENCV_PC_LIBS_PRIVATE
}
"
)
#generate the .pc file
set
(
prefix
"
${
CMAKE_INSTALL_PREFIX
}
"
)
...
...
cmake/OpenCVUtils.cmake
浏览文件 @
3863dc5b
...
...
@@ -796,11 +796,19 @@ macro(ocv_get_all_libs _modules _extra _3rdparty)
set
(
${
_3rdparty
}
""
)
foreach
(
m
${
OPENCV_MODULES_PUBLIC
}
)
get_target_property
(
deps
${
m
}
INTERFACE_LINK_LIBRARIES
)
if
(
NOT deps
)
set
(
deps
""
)
endif
()
list
(
INSERT
${
_modules
}
0
${
deps
}
${
m
}
)
foreach
(
dep
${
deps
}
${
OPENCV_LINKER_LIBS
}
)
if
(
NOT DEFINED OPENCV_MODULE_
${
dep
}
_LOCATION
)
if
(
TARGET
${
dep
}
)
list
(
INSERT
${
_3rdparty
}
0
${
dep
}
)
get_target_property
(
_output
${
dep
}
ARCHIVE_OUTPUT_DIRECTORY
)
if
(
"
${
_output
}
"
STREQUAL
"
${
3P_LIBRARY_OUTPUT_PATH
}
"
)
list
(
INSERT
${
_3rdparty
}
0
${
dep
}
)
else
()
list
(
INSERT
${
_extra
}
0
${
dep
}
)
endif
()
else
()
list
(
INSERT
${
_extra
}
0
${
dep
}
)
endif
()
...
...
@@ -808,6 +816,13 @@ macro(ocv_get_all_libs _modules _extra _3rdparty)
endforeach
()
endforeach
()
# ippicv specific handling
list
(
FIND
${
_extra
}
"ippicv"
ippicv_idx
)
if
(
${
ippicv_idx
}
GREATER -1
)
list
(
REMOVE_ITEM
${
_extra
}
"ippicv"
)
list
(
INSERT
${
_3rdparty
}
0
"ippicv"
)
endif
()
# split 3rdparty libs and modules
list
(
REMOVE_ITEM
${
_modules
}
${${
_3rdparty
}}
${${
_extra
}}
)
...
...
cmake/templates/opencv-XXX.pc.in
浏览文件 @
3863dc5b
...
...
@@ -9,5 +9,6 @@ includedir_new=@includedir@
Name: OpenCV
Description: Open Source Computer Vision Library
Version: @OPENCV_VERSION_PLAIN@
Libs: @OpenCV_LIB_COMPONENTS@
Libs: @OPENCV_PC_LIBS@
Libs.private: @OPENCV_PC_LIBS_PRIVATE@
Cflags: -I${includedir_old} -I${includedir_new}
modules/highgui/CMakeLists.txt
浏览文件 @
3863dc5b
...
...
@@ -3,7 +3,7 @@ if (WINRT)
endif
()
set
(
the_description
"High-level GUI and Media I/O"
)
ocv_add_module
(
highgui opencv_imgproc opencv_imgcodecs opencv_videoio
OPTIONAL opencv_androidcamera
WRAP python
)
ocv_add_module
(
highgui opencv_imgproc opencv_imgcodecs opencv_videoio WRAP python
)
# ----------------------------------------------------------------------------
# CMake file for highgui. See root CMakeLists.txt
...
...
modules/ts/CMakeLists.txt
浏览文件 @
3863dc5b
...
...
@@ -9,7 +9,7 @@ set(OPENCV_MODULE_IS_PART_OF_WORLD FALSE)
ocv_warnings_disable
(
CMAKE_CXX_FLAGS -Wundef
)
ocv_add_module
(
ts opencv_core opencv_imgproc opencv_imgcodecs opencv_videoio opencv_highgui
)
ocv_add_module
(
ts
INTERNAL
opencv_core opencv_imgproc opencv_imgcodecs opencv_videoio opencv_highgui
)
ocv_glob_module_sources
()
ocv_module_include_directories
()
...
...
samples/cpp/example_cmake/Makefile
0 → 100644
浏览文件 @
3863dc5b
CXX
?=
g++
CXXFLAGS
+=
-c
-Wall
$(
shell
pkg-config
--cflags
opencv
)
LDFLAGS
+=
$(
shell
pkg-config
--libs
--static
opencv
)
all
:
opencv_example
opencv_example
:
example.o; $(CXX) $< -o $@ $(LDFLAGS)
%.o
:
%.cpp; $(CXX) $< -o $@ $(CXXFLAGS)
clean
:
; rm -f example.o opencv_example
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录