Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
00de4b93
O
Opencv
项目概览
Greenplum
/
Opencv
10 个月 前同步成功
通知
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,发现更多精彩内容 >>
提交
00de4b93
编写于
4月 16, 2012
作者:
A
Andrey Kamaev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixed compiler flags caching in toolchain; fixed zlib search.
上级
2f88062d
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
57 addition
and
45 deletion
+57
-45
android/android.toolchain.cmake
android/android.toolchain.cmake
+51
-31
cmake/OpenCVDetectAndroidSDK.cmake
cmake/OpenCVDetectAndroidSDK.cmake
+1
-1
cmake/OpenCVDetectApacheAnt.cmake
cmake/OpenCVDetectApacheAnt.cmake
+1
-1
cmake/OpenCVDetectPython.cmake
cmake/OpenCVDetectPython.cmake
+1
-1
cmake/OpenCVIOLibs.cmake
cmake/OpenCVIOLibs.cmake
+3
-11
未找到文件。
android/android.toolchain.cmake
浏览文件 @
00de4b93
...
...
@@ -107,10 +107,13 @@
# under the ${LIBRARY_OUTPUT_PATH_ROOT}/libs/${ANDROID_NDK_ABI_NAME}
# (depending on the target ABI). This is convenient for Android packaging.
#
# Authors:
# Ethan Rublee ethan.ruble@gmail.com
# Andrey Kamaev andrey.kamaev@itseez.com
#
# Change Log:
# - initial version December 2010
Ethan Rublee ethan.ruble@gmail.com
# - modified April 2011
Andrey Kamaev andrey.kamaev@itseez.com
# - initial version December 2010
# - modified April 2011
# [+] added possibility to build with NDK (without standalone toolchain)
# [+] support cross-compilation on Windows (native, no cygwin support)
# [+] added compiler option to force "char" type to be signed
...
...
@@ -121,13 +124,13 @@
# [+] EXECUTABLE_OUTPUT_PATH is set by toolchain (required on Windows)
# [~] Fixed bug with ANDROID_API_LEVEL variable
# [~] turn off SWIG search if it is not found first time
# - modified May 2011
Andrey Kamaev andrey.kamaev@itseez.com
# - modified May 2011
# [~] ANDROID_LEVEL is renamed to ANDROID_API_LEVEL
# [+] ANDROID_API_LEVEL is detected by toolchain if not specified
# [~] added guard to prevent changing of output directories on the first
# cmake pass
# [~] toolchain exits with error if ARM_TARGET is not recognized
# - modified June 2011
Andrey Kamaev andrey.kamaev@itseez.com
# - modified June 2011
# [~] default NDK path is updated for version r5c
# [+] variable CMAKE_SYSTEM_PROCESSOR is set based on ARM_TARGET
# [~] toolchain install directory is added to linker paths
...
...
@@ -135,13 +138,13 @@
# [+] added macro find_host_package, find_host_program to search
# packages/programs on the host system
# [~] fixed path to STL library
# - modified July 2011
Andrey Kamaev andrey.kamaev@itseez.com
# - modified July 2011
# [~] fixed options caching
# [~] search for all supported NDK versions
# [~] allowed spaces in NDK path
# - modified September 2011
Andrey Kamaev andrey.kamaev@itseez.com
# - modified September 2011
# [~] updated for NDK r6b
# - modified November 2011
Andrey Kamaev andrey.kamaev@itseez.com
# - modified November 2011
# [*] rewritten for NDK r7
# [+] x86 toolchain support (experimental)
# [+] added "armeabi-v6 with VFP" ABI for ARMv6 processors.
...
...
@@ -154,24 +157,26 @@
# [~] ARM_TARGET is renamed to ANDROID_ABI
# [~] ARMEABI_NDK_NAME is renamed to ANDROID_NDK_ABI_NAME
# [~] ANDROID_API_LEVEL is renamed to ANDROID_NATIVE_API_LEVEL
# - modified January 2012
Andrey Kamaev andrey.kamaev@itseez.com
# - modified January 2012
# [+] added stlport_static support (experimental)
# [+] added special check for cygwin
# [+] filtered out hidden files (starting with .) while globbing inside NDK
# [+] automatically applied GLESv2 linkage fix for NDK revisions 5-6
# [+] added ANDROID_GET_ABI_RAWNAME to get NDK ABI names by CMake flags
# - modified February 2012
Andrey Kamaev andrey.kamaev@itseez.com
# - modified February 2012
# [+] updated for NDK r7b
# [~] fixed cmake try_compile() command
# [~] Fix for missing install_name_tool on OS X
# - modified March 2012
Andrey Kamaev andrey.kamaev@itseez.com
# - modified March 2012
# [~] fixed incorrect C compiler flags
# [~] fixed CMAKE_SYSTEM_PROCESSOR change on ANDROID_ABI change
# [+] improved toolchain loading speed
# [+] added assembler language support (.S)
# [+] allowed preset search paths and extra search suffixes
# - modified April 2012
Andrey Kamaev andrey.kamaev@itseez.com
# - modified April 2012
# [+] updated for NDK r7c
# [~] fixed most of problems with compiler/linker flags and caching
# [+] added option ANDROID_FUNCTION_LEVEL_LINKING
# ------------------------------------------------------------------------------
cmake_minimum_required
(
VERSION 2.6.3
)
...
...
@@ -754,8 +759,8 @@ if( ARMEABI OR ARMEABI_V7A )
# extra arm-specific flags
set
(
ANDROID_CXX_FLAGS
"
${
ANDROID_CXX_FLAGS
}
-fsigned-char"
)
elseif
(
X86
)
set
(
CMAKE_CXX_FLAGS
"-f
function-sections -f
unwind-tables"
)
set
(
CMAKE_C_FLAGS
"-f
function-sections -f
unwind-tables"
)
set
(
CMAKE_CXX_FLAGS
"-funwind-tables"
)
set
(
CMAKE_C_FLAGS
"-funwind-tables"
)
if
(
ANDROID_USE_STLPORT
)
set
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
-fno-rtti -fno-exceptions"
)
set
(
CMAKE_C_FLAGS
"
${
CMAKE_C_FLAGS
}
-fno-rtti -fno-exceptions"
)
...
...
@@ -817,14 +822,14 @@ endif()
#linker flags
list
(
APPEND ANDROID_SYSTEM_LIB_DIRS
"
${
CMAKE_BINARY_DIR
}
/systemlibs/
${
ANDROID_NDK_ABI_NAME
}
"
"
${
CMAKE_INSTALL_PREFIX
}
/libs/
${
ANDROID_NDK_ABI_NAME
}
"
)
set
(
LINKER_FLAGS
""
)
set
(
ANDROID_
LINKER_FLAGS
""
)
#STL
if
(
ANDROID_USE_STLPORT
)
if
(
EXISTS
"
${
__stlLibPath
}
/libstlport_static.a"
)
__COPY_IF_DIFFERENT
(
"
${
__stlLibPath
}
/libstlport_static.a"
"
${
CMAKE_BINARY_DIR
}
/systemlibs/
${
ANDROID_NDK_ABI_NAME
}
/libstlport_static.a"
)
endif
()
if
(
EXISTS
"
${
CMAKE_BINARY_DIR
}
/systemlibs/
${
ANDROID_NDK_ABI_NAME
}
/libstlport_static.a"
)
set
(
LINKER_FLAGS
"
${
LINKER_FLAGS
}
-Wl,--start-group -lstlport_static"
)
set
(
ANDROID_LINKER_FLAGS
"
${
ANDROID_
LINKER_FLAGS
}
-Wl,--start-group -lstlport_static"
)
endif
()
else
(
ANDROID_USE_STLPORT
)
if
(
EXISTS
"
${
__stlLibPath
}
/libgnustl_static.a"
)
...
...
@@ -839,7 +844,7 @@ else( ANDROID_USE_STLPORT )
__COPY_IF_DIFFERENT
(
"
${
__stlLibPath
}
/libstdc++.a"
"
${
CMAKE_BINARY_DIR
}
/systemlibs/
${
ANDROID_NDK_ABI_NAME
}
/libstdc++.a"
)
endif
()
if
(
EXISTS
"
${
CMAKE_BINARY_DIR
}
/systemlibs/
${
ANDROID_NDK_ABI_NAME
}
/libstdc++.a"
)
set
(
LINKER_FLAGS
"
${
LINKER_FLAGS
}
-lstdc++"
)
set
(
ANDROID_LINKER_FLAGS
"
${
ANDROID_
LINKER_FLAGS
}
-lstdc++"
)
endif
()
#gcc exception & rtti support
...
...
@@ -855,7 +860,7 @@ else( ANDROID_USE_STLPORT )
__COPY_IF_DIFFERENT
(
"
${
ANDROID_TOOLCHAIN_ROOT
}
/
${
ANDROID_TOOLCHAIN_MACHINE_NAME
}
/lib/libsupc++.a"
"
${
CMAKE_BINARY_DIR
}
/systemlibs/
${
ANDROID_NDK_ABI_NAME
}
/libsupc++.a"
)
endif
()
if
(
EXISTS
"
${
CMAKE_BINARY_DIR
}
/systemlibs/
${
ANDROID_NDK_ABI_NAME
}
/libsupc++.a"
)
set
(
LINKER_FLAGS
"
${
LINKER_FLAGS
}
-lsupc++"
)
set
(
ANDROID_LINKER_FLAGS
"
${
ANDROID_
LINKER_FLAGS
}
-lsupc++"
)
endif
()
endif
(
ANDROID_USE_STLPORT
)
...
...
@@ -868,7 +873,7 @@ __INIT_VARIABLE( ANDROID_NO_UNDEFINED OBSOLETE_NO_UNDEFINED VALUES ON )
set
(
ANDROID_NO_UNDEFINED
${
ANDROID_NO_UNDEFINED
}
CACHE BOOL
"Show all undefined symbols as linker errors"
FORCE
)
mark_as_advanced
(
ANDROID_NO_UNDEFINED
)
if
(
ANDROID_NO_UNDEFINED
)
set
(
LINKER_FLAGS
"-Wl,--no-undefined
${
LINKER_FLAGS
}
"
)
set
(
ANDROID_LINKER_FLAGS
"-Wl,--no-undefined
${
ANDROID_
LINKER_FLAGS
}
"
)
endif
()
if
(
ANDROID_NDK MATCHES
"-r[56].?$"
)
...
...
@@ -877,16 +882,25 @@ if (ANDROID_NDK MATCHES "-r[56].?$")
else
()
__INIT_VARIABLE
(
ANDROID_SO_UNDEFINED VALUES OFF
)
endif
()
set
(
ANDROID_SO_UNDEFINED
${
ANDROID_SO_UNDEFINED
}
CACHE BOOL
"Allows or disallows undefined symbols in shared libraries"
FORCE
)
mark_as_advanced
(
ANDROID_SO_UNDEFINED
)
if
(
ANDROID_SO_UNDEFINED
)
set
(
LINKER_FLAGS
"
${
LINKER_FLAGS
}
-Wl,-allow-shlib-undefined"
)
set
(
ANDROID_LINKER_FLAGS
"
${
ANDROID_LINKER_FLAGS
}
-Wl,-allow-shlib-undefined"
)
endif
()
__INIT_VARIABLE
(
ANDROID_FUNCTION_LEVEL_LINKING VALUES ON
)
set
(
ANDROID_FUNCTION_LEVEL_LINKING ON CACHE BOOL
"Allows or disallows undefined symbols in shared libraries"
FORCE
)
mark_as_advanced
(
ANDROID_FUNCTION_LEVEL_LINKING
)
if
(
ANDROID_FUNCTION_LEVEL_LINKING
)
set
(
ANDROID_CXX_FLAGS
"
${
ANDROID_CXX_FLAGS
}
-fdata-sections -ffunction-sections"
)
set
(
ANDROID_LINKER_FLAGS
"-Wl,--gc-sections
${
ANDROID_LINKER_FLAGS
}
"
)
endif
()
if
(
ARMEABI_V7A
)
# this is *required* to use the following linker flags that routes around
# a CPU bug in some Cortex-A8 implementations:
set
(
LINKER_FLAGS
"-Wl,--fix-cortex-a8
${
LINKER_FLAGS
}
"
)
set
(
ANDROID_LINKER_FLAGS
"-Wl,--fix-cortex-a8
${
ANDROID_
LINKER_FLAGS
}
"
)
endif
()
#cache flags
...
...
@@ -896,17 +910,21 @@ set( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "c++ Rele
set
(
CMAKE_C_FLAGS_RELEASE
"
${
CMAKE_C_FLAGS_RELEASE
}
"
CACHE STRING
"c Release flags"
)
set
(
CMAKE_CXX_FLAGS_DEBUG
"
${
CMAKE_CXX_FLAGS_DEBUG
}
"
CACHE STRING
"c++ Debug flags"
)
set
(
CMAKE_C_FLAGS_DEBUG
"
${
CMAKE_C_FLAGS_DEBUG
}
"
CACHE STRING
"c Debug flags"
)
set
(
CMAKE_SHARED_LINKER_FLAGS
"
${
LINKER_FLAGS
}
"
CACHE STRING
"linker flags"
)
set
(
CMAKE_MODULE_LINKER_FLAGS
"
${
LINKER_FLAGS
}
"
CACHE STRING
"linker flags"
)
set
(
CMAKE_EXE_LINKER_FLAGS
"-Wl,-
-gc-sections -Wl,-z,nocopyreloc
${
LINKER_FLAGS
}
"
CACHE STRING
"linker flags"
)
set
(
CMAKE_SHARED_LINKER_FLAGS
""
CACHE STRING
"linker flags"
)
set
(
CMAKE_MODULE_LINKER_FLAGS
""
CACHE STRING
"linker flags"
)
set
(
CMAKE_EXE_LINKER_FLAGS
"-Wl,-
z,nocopyreloc
"
CACHE STRING
"linker flags"
)
include_directories
(
SYSTEM
${
ANDROID_SYSTEM_INCLUDE_DIRS
}
)
link_directories
(
${
ANDROID_SYSTEM_LIB_DIRS
}
)
#finish flags
set
(
ANDROID_CXX_FLAGS
"
${
ANDROID_CXX_FLAGS
}
"
CACHE INTERNAL
"Extra Android falgs"
)
set
(
CMAKE_CXX_FLAGS
"
${
ANDROID_CXX_FLAGS
}
${
CMAKE_CXX_FLAGS
}
"
)
set
(
CMAKE_C_FLAGS
"
${
ANDROID_CXX_FLAGS
}
${
CMAKE_C_FLAGS
}
"
)
set
(
ANDROID_CXX_FLAGS
"
${
ANDROID_CXX_FLAGS
}
"
CACHE INTERNAL
"Extra Android compiler flags"
)
set
(
ANDROID_LINKER_FLAGS
"
${
ANDROID_LINKER_FLAGS
}
"
CACHE INTERNAL
"Extra Android linker flags"
)
set
(
CMAKE_CXX_FLAGS
"
${
ANDROID_CXX_FLAGS
}
${
CMAKE_CXX_FLAGS
}
"
)
set
(
CMAKE_C_FLAGS
"
${
ANDROID_CXX_FLAGS
}
${
CMAKE_C_FLAGS
}
"
)
set
(
CMAKE_SHARED_LINKER_FLAGS
"
${
ANDROID_LINKER_FLAGS
}
${
CMAKE_SHARED_LINKER_FLAGS
}
"
)
set
(
CMAKE_MODULE_LINKER_FLAGS
"
${
ANDROID_LINKER_FLAGS
}
${
CMAKE_MODULE_LINKER_FLAGS
}
"
)
set
(
CMAKE_EXE_LINKER_FLAGS
"
${
ANDROID_LINKER_FLAGS
}
${
CMAKE_EXE_LINKER_FLAGS
}
"
)
#set these global flags for cmake client scripts to change behavior
set
(
ANDROID True
)
...
...
@@ -981,7 +999,7 @@ endmacro()
# export toolchain settings for the try_compile() command
if
(
NOT PROJECT_NAME STREQUAL
"CMAKE_TRY_COMPILE"
)
set
(
__toolchain_config
""
)
foreach
(
__var ANDROID_ABI ANDROID_FORCE_ARM_BUILD ANDROID_NATIVE_API_LEVEL ANDROID_NO_UNDEFINED ANDROID_SO_UNDEFINED ANDROID_SET_OBSOLETE_VARIABLES LIBRARY_OUTPUT_PATH_ROOT ANDROID_USE_STLPORT ANDROID_FORBID_SYGWIN ANDROID_NDK ANDROID_STANDALONE_TOOLCHAIN
)
foreach
(
__var ANDROID_ABI ANDROID_FORCE_ARM_BUILD ANDROID_NATIVE_API_LEVEL ANDROID_NO_UNDEFINED ANDROID_SO_UNDEFINED ANDROID_SET_OBSOLETE_VARIABLES LIBRARY_OUTPUT_PATH_ROOT ANDROID_USE_STLPORT ANDROID_FORBID_SYGWIN ANDROID_NDK ANDROID_STANDALONE_TOOLCHAIN
ANDROID_FUNCTION_LEVEL_LINKING
)
if
(
DEFINED
${
__var
}
)
set
(
__toolchain_config
"
${
__toolchain_config
}
set(
${
__var
}
\"
${${
__var
}}
\"
)
\n
"
)
endif
()
...
...
@@ -1003,14 +1021,16 @@ endif()
# Variables controlling behavior or set by cmake toolchain:
# ANDROID_ABI : "armeabi-v7a" (default), "armeabi", "armeabi-v7a with NEON", "armeabi-v7a with VFPV3", "armeabi-v6 with VFP", "x86"
# ANDROID_FORCE_ARM_BUILD : ON/OFF
# ANDROID_NATIVE_API_LEVEL : 3,4,5,8,9,14 (depends on NDK version)
# ANDROID_NO_UNDEFINED : ON/OFF
# ANDROID_SO_UNDEFINED : OFF/ON (default depends on NDK version)
# ANDROID_SET_OBSOLETE_VARIABLES : ON/OFF
# LIBRARY_OUTPUT_PATH_ROOT : <any valid path>
# ANDROID_USE_STLPORT : OFF/ON - EXPERIMENTAL!!!
# ANDROID_FORBID_SYGWIN : ON/OFF
# ANDROID_NO_UNDEFINED : ON/OFF
# ANDROID_SO_UNDEFINED : OFF/ON (default depends on NDK version)
# ANDROID_FUNCTION_LEVEL_LINKING : ON/OFF
# Variables that takes effect only at first run:
# ANDROID_FORCE_ARM_BUILD : ON/OFF
# LIBRARY_OUTPUT_PATH_ROOT : <any valid path>
# Can be set only at the first run:
# ANDROID_NDK
# ANDROID_STANDALONE_TOOLCHAIN
...
...
cmake/OpenCVDetectAndroidSDK.cmake
浏览文件 @
00de4b93
...
...
@@ -39,7 +39,7 @@ find_host_program(ANDROID_EXECUTABLE
if
(
ANDROID_EXECUTABLE
)
if
(
NOT ANDROID_SDK_DETECT_QUIET
)
message
(
STATUS
"
Found android tool:
${
ANDROID_EXECUTABLE
}
"
)
message
(
STATUS
"Found android tool:
${
ANDROID_EXECUTABLE
}
"
)
endif
()
get_filename_component
(
ANDROID_SDK_TOOLS_PATH
"
${
ANDROID_EXECUTABLE
}
"
PATH
)
...
...
cmake/OpenCVDetectApacheAnt.cmake
浏览文件 @
00de4b93
...
...
@@ -21,5 +21,5 @@ if(ANT_EXECUTABLE)
string
(
REGEX MATCH
"[0-9]+.[0-9]+.[0-9]+"
ANT_VERSION
"
${
ANT_VERSION_FULL
}
"
)
set
(
ANT_VERSION
"
${
ANT_VERSION
}
"
CACHE INTERNAL
"Detected ant vesion"
)
message
(
STATUS
"
Found apache ant
${
ANT_VERSION
}
:
${
ANT_EXECUTABLE
}
"
)
message
(
STATUS
"Found apache ant
${
ANT_VERSION
}
:
${
ANT_EXECUTABLE
}
"
)
endif
()
cmake/OpenCVDetectPython.cmake
浏览文件 @
00de4b93
...
...
@@ -92,7 +92,7 @@ if(PYTHON_EXECUTABLE)
find_host_program
(
SPHINX_BUILD sphinx-build
)
if
(
SPHINX_BUILD
)
set
(
HAVE_SPHINX 1
)
message
(
STATUS
"
Found Sphinx
${
SPHINX_VERSION
}
:
${
SPHINX_BUILD
}
"
)
message
(
STATUS
"Found Sphinx
${
SPHINX_VERSION
}
:
${
SPHINX_BUILD
}
"
)
endif
()
endif
()
endif
(
BUILD_DOCS
)
...
...
cmake/OpenCVIOLibs.cmake
浏览文件 @
00de4b93
...
...
@@ -8,17 +8,9 @@ endmacro()
if
(
BUILD_ZLIB
)
unset_all
(
ZLIB_FOUND
)
else
()
if
(
ANDROID
)
set
(
ZLIB_FOUND TRUE
)
set
(
ZLIB_LIBRARY z
)
set
(
ZLIB_LIBRARIES
${
ZLIB_LIBRARY
}
)
set
(
ZLIB_INCLUDE_DIR
""
)
ocv_parse_header2
(
ZLIB
"
${
ANDROID_SYSROOT
}
/usr/include/zlib.h"
ZLIB_VERSION
""
)
else
()
include
(
FindZLIB
)
if
(
NOT ZLIB_VERSION_STRING
)
ocv_parse_header2
(
ZLIB
"
${
ZLIB_INCLUDE_DIR
}
/zlib.h"
ZLIB_VERSION
""
)
endif
()
include
(
FindZLIB
)
if
(
NOT ZLIB_VERSION_STRING
)
ocv_parse_header2
(
ZLIB
"
${
ZLIB_INCLUDE_DIR
}
/zlib.h"
ZLIB_VERSION
""
)
endif
()
endif
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录