Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
96d29621
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,发现更多精彩内容 >>
提交
96d29621
编写于
6月 29, 2011
作者:
A
Andrey Kamaev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixes for path mangling feature
上级
334cb1dc
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
62 addition
and
54 deletion
+62
-54
CMakeLists.txt
CMakeLists.txt
+52
-48
OpenCVConfig.cmake.in
OpenCVConfig.cmake.in
+10
-6
未找到文件。
CMakeLists.txt
浏览文件 @
96d29621
...
...
@@ -8,11 +8,9 @@
# - OCT-2008: Initial version <joseluisblancoc@gmail.com>
#
# ----------------------------------------------------------------------------
cmake_minimum_required
(
VERSION 2.4
)
project
(
OpenCV
)
set
(
CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true
)
set
(
OPENCV_INCLUDE_PREFIX include
)
# Add these standard paths to the search paths for FIND_LIBRARY
# to find libraries from these locations first
if
(
UNIX
)
...
...
@@ -55,40 +53,8 @@ if(MSVC)
set
(
CMAKE_USE_RELATIVE_PATHS ON CACHE INTERNAL
""
FORCE
)
endif
()
# SUBDIRECTORIES:
# Save libs and executables in the same place
set
(
LIBRARY_OUTPUT_PATH
${
CMAKE_BINARY_DIR
}
/lib CACHE PATH
"Output directory for libraries"
)
set
(
EXECUTABLE_OUTPUT_PATH
${
CMAKE_BINARY_DIR
}
/bin CACHE PATH
"Output directory for applications"
)
if
(
ANDROID
)
set
(
OPENCV_DOC_INSTALL_PATH doc
)
elseif
(
WIN32
)
set
(
OPENCV_DOC_INSTALL_PATH doc
)
else
()
set
(
OPENCV_DOC_INSTALL_PATH share/OpenCV/doc
)
endif
()
if
(
ANDROID
)
set
(
OPENCV_LIB_INSTALL_PATH libs/
${
ARMEABI_NDK_NAME
}
)
else
()
set
(
OPENCV_LIB_INSTALL_PATH lib
)
endif
()
set
(
CMAKE_INSTALL_RPATH
"
${
CMAKE_INSTALL_PREFIX
}
/
${
OPENCV_LIB_INSTALL_PATH
}
"
)
set
(
CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE
)
# in case of cross compilation this macro will search packages
# for host system instead of packages for target system
if
(
NOT COMMAND find_host_package
)
macro
(
find_host_package
)
find_package
(
${
ARGN
}
)
endmacro
()
endif
()
if
(
NOT COMMAND find_host_program
)
macro
(
find_host_program
)
find_program
(
${
ARGN
}
)
endmacro
()
endif
()
cmake_minimum_required
(
VERSION 2.4
)
project
(
OpenCV
)
# --------------------------------------------------------------
# Indicate CMake 2.7 and above that we don't want to mix relative
...
...
@@ -99,6 +65,12 @@ if(COMMAND cmake_policy)
cmake_policy
(
SET CMP0003 NEW
)
endif
()
# ----------------------------------------------------------------------------
# Build static or dynamic libs?
# Default: dynamic libraries
# ----------------------------------------------------------------------------
set
(
BUILD_SHARED_LIBS ON CACHE BOOL
"Build shared libraries (.dll/.so) instead of static ones (.lib/.a)"
)
# ----------------------------------------------------------------------------
# Current version number:
# ----------------------------------------------------------------------------
...
...
@@ -124,19 +96,52 @@ else()
endif
()
#name mangling
if
(
UNIX
)
set
(
OPENCV_INCLUDE_PREFIX include
)
if
(
UNIX AND NOT ANDROID AND BUILD_SHARED_LIBS
)
option
(
OPENCV_MANGLED_INSTALL_PATHS
"Enables mangled install paths, that help with side by side installs"
False
)
if
(
OPENCV_MANGLED_INSTALL_PATHS
)
set
(
OPENCV_INCLUDE_PREFIX include/opencv-
${
OPENCV_VERSION
}
)
set
(
OPENCV_DOC_INSTALL_PATH share/OpenCV-
${
OPENCV_VERSION
}
/doc
)
endif
()
endif
()
# ----------------------------------------------------------------------------
# Build static or dynamic libs?
# Default: dynamic libraries
# ----------------------------------------------------------------------------
set
(
BUILD_SHARED_LIBS ON CACHE BOOL
"Build shared libraries (.dll/.so) instead of static ones (.lib/.a)"
)
# SUBDIRECTORIES:
# Save libs and executables in the same place
set
(
LIBRARY_OUTPUT_PATH
${
CMAKE_BINARY_DIR
}
/lib CACHE PATH
"Output directory for libraries"
)
set
(
EXECUTABLE_OUTPUT_PATH
${
CMAKE_BINARY_DIR
}
/bin CACHE PATH
"Output directory for applications"
)
if
(
ANDROID
)
set
(
OPENCV_DOC_INSTALL_PATH doc
)
elseif
(
WIN32
)
set
(
OPENCV_DOC_INSTALL_PATH doc
)
else
()
if
(
OPENCV_MANGLED_INSTALL_PATHS
)
set
(
OPENCV_DOC_INSTALL_PATH share/OpenCV-
${
OPENCV_VERSION
}
/doc
)
else
()
set
(
OPENCV_DOC_INSTALL_PATH share/OpenCV/doc
)
endif
()
endif
()
if
(
ANDROID
)
set
(
OPENCV_LIB_INSTALL_PATH libs/
${
ARMEABI_NDK_NAME
}
)
else
()
set
(
OPENCV_LIB_INSTALL_PATH lib
)
endif
()
set
(
CMAKE_INSTALL_RPATH
"
${
CMAKE_INSTALL_PREFIX
}
/
${
OPENCV_LIB_INSTALL_PATH
}
"
)
set
(
CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE
)
# in case of cross compilation this macro will search packages
# for host system instead of packages for target system
if
(
NOT COMMAND find_host_package
)
macro
(
find_host_package
)
find_package
(
${
ARGN
}
)
endmacro
()
endif
()
if
(
NOT COMMAND find_host_program
)
macro
(
find_host_program
)
find_program
(
${
ARGN
}
)
endmacro
()
endif
()
# ----------------------------------------------------------------------------
# Use statically or dynamically linked CRT?
...
...
@@ -1191,7 +1196,6 @@ if(UNIX)
install
(
FILES
"
${
CMAKE_BINARY_DIR
}
/unix-install/OpenCVConfig.cmake"
DESTINATION share/OpenCV/
)
install
(
FILES
${
CMAKE_BINARY_DIR
}
/unix-install/OpenCVConfig-version.cmake DESTINATION share/OpenCV/
)
endif
()
endif
()
if
(
ANDROID
)
...
...
@@ -1266,7 +1270,7 @@ endif(ANDROID)
# The package name specified on the pkg-config command line is defined to
# be the name of the metadata file, minus the .pc extension. If a library
# can install multiple versions simultaneously, it must give each version
# its own name (for example, GTK 1.2 might have the package name "gtk+"
#
its own name (for example, GTK 1.2 might have the package name "gtk+"
# while GTK 2.0 has "gtk+-2.0").
# Part 2/2: ${BIN_DIR}/unix-install/opencv.pc -> For use *with* "make install"
# prefix=/usr
...
...
@@ -1277,8 +1281,8 @@ endif(ANDROID)
set
(
prefix
${
CMAKE_INSTALL_PREFIX
}
)
set
(
exec_prefix
"
\$
{prefix}"
)
set
(
libdir
"
\$
{exec_prefix}/lib"
)
set
(
includedir
"
\$
{prefix}/
${
OPENCV_INCLUDE_PREFIX
}
"
)
set
(
VERSION
${
OPENCV_VERSION
}
)
set
(
includedir
"
\$
{prefix}/
${
OPENCV_INCLUDE_PREFIX
}
"
)
set
(
VERSION
${
OPENCV_VERSION
}
)
set
(
OPENCV_PC_FILE_NAME
"opencv.pc"
)
#need to be explicit with naming the pc file and version number for side by side installs to work.
...
...
OpenCVConfig.cmake.in
浏览文件 @
96d29621
...
...
@@ -15,10 +15,10 @@
# with this path is NOT needed.
# - OpenCV_INCLUDE_DIRS : The OpenCV include directories.
# - OpenCV_COMPUTE_CAPABILITIES : The version of compute capability
# - OpenCV_VERSION : The version of this OpenCV build. Example: "
2.3.0
"
# - OpenCV_VERSION_MAJOR : Major version part of OpenCV_VERSION. Example: "
2
"
# - OpenCV_VERSION_MINOR : Minor version part of OpenCV_VERSION. Example: "
3
"
# - OpenCV_VERSION_PATCH : Patch version part of OpenCV_VERSION. Example: "
0
"
# - OpenCV_VERSION : The version of this OpenCV build. Example: "
@OPENCV_VERSION@
"
# - OpenCV_VERSION_MAJOR : Major version part of OpenCV_VERSION. Example: "
@OPENCV_VERSION_MAJOR@
"
# - OpenCV_VERSION_MINOR : Minor version part of OpenCV_VERSION. Example: "
@OPENCV_VERSION_MINOR@
"
# - OpenCV_VERSION_PATCH : Patch version part of OpenCV_VERSION. Example: "
@OPENCV_VERSION_PATCH@
"
#
# Advanced variables:
# - OpenCV_SHARED
...
...
@@ -26,6 +26,7 @@
# - OpenCV_INSTALL_PATH
# - OpenCV_LIB_COMPONENTS
# - OpenCV_EXTRA_COMPONENTS
# - OpenCV_USE_MANGLED_PATHS
#
# =================================================================================================
...
...
@@ -38,6 +39,9 @@ SET(OpenCV_COMPUTE_CAPABILITIES @OpenCV_CUDA_CC@)
# Some additional settings are required if OpenCV is built as static libs
set(OpenCV_SHARED @BUILD_SHARED_LIBS@)
# Enables mangled install paths, that help with side by side installs
set(OpenCV_USE_MANGLED_PATHS @OPENCV_MANGLED_INSTALL_PATHS@)
# Extract the directory where *this* file has been installed (determined at cmake run-time)
get_filename_component(OpenCV_CONFIG_PATH "${CMAKE_CURRENT_LIST_FILE}" PATH)
...
...
@@ -71,7 +75,7 @@ ELSEIF(NOT OpenCV_SHARED)
LIST(APPEND OpenCV_LIB_COMPONENTS opencv_androidcamera)
endif()
if(
@OPENCV_MANGLED_INSTALL_PATHS@
)
if(
OpenCV_USE_MANGLED_PATHS
)
#be explicit about the library names.
set(OpenCV_LIB_COMPONENTS_ )
foreach( CVLib ${OpenCV_LIB_COMPONENTS})
...
...
@@ -118,7 +122,7 @@ IF (NOT OpenCV_SHARED)
set(OpenCV_LIBS @OPENCV_LINKER_LIBS@ @IPP_LIBS@ @HIGHGUI_LIBRARIES@ ${OpenCV_LIBS})
set(OpenCV_EXTRA_COMPONENTS @JPEG_LIBRARIES@ @PNG_LIBRARIES@ @TIFF_LIBRARIES@ @JASPER_LIBRARIES@ @ZLIB_LIBRARY@)
if (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_GREATER 2.4)
if (
WIN32 AND
${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_GREATER 2.4)
# Modern CMake:
foreach(__EXTRA_LIB ${OpenCV_EXTRA_COMPONENTS})
set(OpenCV_LIBS ${OpenCV_LIBS}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录