Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
3523e0a5
O
Opencv
项目概览
Greenplum
/
Opencv
大约 1 年 前同步成功
通知
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,发现更多精彩内容 >>
提交
3523e0a5
编写于
10月 24, 2018
作者:
A
Alexander Alekhin
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #12921 from alalek:ios_xcode10
上级
2933b58a
9a76322e
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
27 addition
and
8 deletion
+27
-8
CMakeLists.txt
CMakeLists.txt
+2
-0
platforms/ios/build_framework.py
platforms/ios/build_framework.py
+15
-5
platforms/ios/cmake/Toolchains/common-ios-toolchain.cmake
platforms/ios/cmake/Toolchains/common-ios-toolchain.cmake
+10
-3
未找到文件。
CMakeLists.txt
浏览文件 @
3523e0a5
...
...
@@ -324,8 +324,10 @@ OCV_OPTION(ENABLE_OMIT_FRAME_POINTER "Enable -fomit-frame-pointer for GCC"
OCV_OPTION
(
ENABLE_POWERPC
"Enable PowerPC for GCC"
ON
IF
(
CV_GCC AND CMAKE_SYSTEM_PROCESSOR MATCHES powerpc.*
)
)
OCV_OPTION
(
ENABLE_VSX
"Enable POWER8 and above VSX (64-bit little-endian)"
ON
IF
((
CV_GCC OR CV_CLANG
)
AND PPC64LE
)
)
OCV_OPTION
(
ENABLE_FAST_MATH
"Enable -ffast-math (not recommended for GCC 4.6.x)"
OFF
IF
(
CV_GCC
AND
(
X86 OR X86_64
))
)
if
(
NOT IOS
)
# Use CPU_BASELINE instead
OCV_OPTION
(
ENABLE_NEON
"Enable NEON instructions"
(
NEON OR ANDROID_ARM_NEON OR AARCH64
)
IF
(
CV_GCC OR CV_CLANG
)
AND
(
ARM OR AARCH64 OR IOS
)
)
OCV_OPTION
(
ENABLE_VFPV3
"Enable VFPv3-D32 instructions"
OFF
IF
(
CV_GCC OR CV_CLANG
)
AND
(
ARM OR AARCH64 OR IOS
)
)
endif
()
OCV_OPTION
(
ENABLE_NOISY_WARNINGS
"Show all warnings even if they are too noisy"
OFF
)
OCV_OPTION
(
OPENCV_WARNINGS_ARE_ERRORS
"Treat warnings as errors"
OFF
)
OCV_OPTION
(
ANDROID_EXAMPLES_WITH_LIBS
"Build binaries of Android examples with native libraries"
OFF IF ANDROID
)
...
...
platforms/ios/build_framework.py
浏览文件 @
3523e0a5
...
...
@@ -31,8 +31,11 @@ from __future__ import print_function
import
glob
,
re
,
os
,
os
.
path
,
shutil
,
string
,
sys
,
argparse
,
traceback
,
multiprocessing
from
subprocess
import
check_call
,
check_output
,
CalledProcessError
IPHONEOS_DEPLOYMENT_TARGET
=
'8.0'
# default, can be changed via command line options or environemnt variable
def
execute
(
cmd
,
cwd
=
None
):
print
(
"Executing: %s in %s"
%
(
cmd
,
cwd
),
file
=
sys
.
stderr
)
print
(
'Executing: '
+
' '
.
join
(
cmd
))
retcode
=
check_call
(
cmd
,
cwd
=
cwd
)
if
retcode
!=
0
:
raise
Exception
(
"Child returned:"
,
retcode
)
...
...
@@ -149,7 +152,7 @@ class Builder:
if
self
.
dynamic
:
buildcmd
+=
[
"IPHONEOS_DEPLOYMENT_TARGET=
8.0"
,
"IPHONEOS_DEPLOYMENT_TARGET=
"
+
os
.
environ
[
'IPHONEOS_DEPLOYMENT_TARGET'
]
,
"ONLY_ACTIVE_ARCH=NO"
,
]
...
...
@@ -162,7 +165,7 @@ class Builder:
else
:
arch
=
";"
.
join
(
archs
)
buildcmd
+=
[
"IPHONEOS_DEPLOYMENT_TARGET=
6.0"
,
"IPHONEOS_DEPLOYMENT_TARGET=
"
+
os
.
environ
[
'IPHONEOS_DEPLOYMENT_TARGET'
]
,
"ARCHS=%s"
%
arch
,
]
...
...
@@ -184,7 +187,7 @@ class Builder:
cmakecmd
=
self
.
getCMakeArgs
(
arch
,
target
)
+
\
([
"-DCMAKE_TOOLCHAIN_FILE=%s"
%
toolchain
]
if
toolchain
is
not
None
else
[])
if
target
.
lower
().
startswith
(
"iphoneos"
):
cmakecmd
.
append
(
"-DCPU_BASELINE=
NEON;FP16
"
)
cmakecmd
.
append
(
"-DCPU_BASELINE=
DETECT
"
)
cmakecmd
.
append
(
self
.
opencv
)
cmakecmd
.
extend
(
cmakeargs
)
execute
(
cmakecmd
,
cwd
=
builddir
)
...
...
@@ -278,14 +281,21 @@ if __name__ == "__main__":
parser
.
add_argument
(
'--without'
,
metavar
=
'MODULE'
,
default
=
[],
action
=
'append'
,
help
=
'OpenCV modules to exclude from the framework'
)
parser
.
add_argument
(
'--dynamic'
,
default
=
False
,
action
=
'store_true'
,
help
=
'build dynamic framework (default is "False" - builds static framework)'
)
parser
.
add_argument
(
'--disable-bitcode'
,
default
=
False
,
dest
=
'bitcodedisabled'
,
action
=
'store_true'
,
help
=
'disable bitcode (enabled by default)'
)
parser
.
add_argument
(
'--iphoneos_deployment_target'
,
default
=
os
.
environ
.
get
(
'IPHONEOS_DEPLOYMENT_TARGET'
,
IPHONEOS_DEPLOYMENT_TARGET
),
help
=
'specify IPHONEOS_DEPLOYMENT_TARGET'
)
parser
.
add_argument
(
'--iphoneos_archs'
,
default
=
'armv7,armv7s,arm64'
,
help
=
'select iPhoneOS target ARCHS'
)
args
=
parser
.
parse_args
()
os
.
environ
[
'IPHONEOS_DEPLOYMENT_TARGET'
]
=
args
.
iphoneos_deployment_target
print
(
'Using IPHONEOS_DEPLOYMENT_TARGET='
+
os
.
environ
[
'IPHONEOS_DEPLOYMENT_TARGET'
])
iphoneos_archs
=
args
.
iphoneos_archs
.
split
(
','
)
print
(
'Using iPhoneOS ARCHS='
+
str
(
iphoneos_archs
))
b
=
iOSBuilder
(
args
.
opencv
,
args
.
contrib
,
args
.
dynamic
,
args
.
bitcodedisabled
,
args
.
without
,
[
(
[
"armv7s"
,
"arm64"
]
,
"iPhoneOS"
),
(
iphoneos_archs
,
"iPhoneOS"
),
]
if
os
.
environ
.
get
(
'BUILD_PRECOMMIT'
,
None
)
else
[
(
[
"armv7"
,
"armv7s"
,
"arm64"
]
,
"iPhoneOS"
),
(
iphoneos_archs
,
"iPhoneOS"
),
([
"i386"
,
"x86_64"
],
"iPhoneSimulator"
),
])
b
.
build
(
args
.
out
)
platforms/ios/cmake/Toolchains/common-ios-toolchain.cmake
浏览文件 @
3523e0a5
...
...
@@ -90,6 +90,13 @@ if(APPLE_FRAMEWORK AND NOT BUILD_SHARED_LIBS)
set
(
CMAKE_OSX_ARCHITECTURES
"
${
IOS_ARCH
}
"
CACHE INTERNAL
"Build architecture for iOS"
FORCE
)
endif
()
if
(
NOT DEFINED IPHONEOS_DEPLOYMENT_TARGET
)
if
(
NOT DEFINED ENV{IPHONEOS_DEPLOYMENT_TARGET}
)
message
(
FATAL_ERROR
"IPHONEOS_DEPLOYMENT_TARGET is not specified"
)
endif
()
set
(
IPHONEOS_DEPLOYMENT_TARGET
"$ENV{IPHONEOS_DEPLOYMENT_TARGET}"
)
endif
()
if
(
NOT __IN_TRY_COMPILE
)
set
(
_xcodebuild_wrapper
"
${
CMAKE_BINARY_DIR
}
/xcodebuild_wrapper"
)
if
(
NOT DEFINED CMAKE_MAKE_PROGRAM
)
# empty since CMake 3.10
...
...
@@ -103,14 +110,14 @@ if(NOT __IN_TRY_COMPILE)
if
(
APPLE_FRAMEWORK AND BUILD_SHARED_LIBS
)
set
(
_xcodebuild_wrapper_tmp
"
${
CMAKE_BINARY_DIR
}${
CMAKE_FILES_DIRECTORY
}
/xcodebuild_wrapper"
)
file
(
WRITE
"
${
_xcodebuild_wrapper_tmp
}
"
"#!/bin/sh
${
CMAKE_MAKE_PROGRAM
}
IPHONEOS_DEPLOYMENT_TARGET=
8.0
-sdk
${
CMAKE_OSX_SYSROOT
}
\$
*"
)
${
CMAKE_MAKE_PROGRAM
}
IPHONEOS_DEPLOYMENT_TARGET=
${
IPHONEOS_DEPLOYMENT_TARGET
}
-sdk
${
CMAKE_OSX_SYSROOT
}
\$
*"
)
# Make executable
file
(
COPY
"
${
_xcodebuild_wrapper_tmp
}
"
DESTINATION
${
CMAKE_BINARY_DIR
}
FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
)
set
(
CMAKE_MAKE_PROGRAM
"
${
_xcodebuild_wrapper
}
"
CACHE INTERNAL
""
FORCE
)
else
()
set
(
_xcodebuild_wrapper_tmp
"
${
CMAKE_BINARY_DIR
}${
CMAKE_FILES_DIRECTORY
}
/xcodebuild_wrapper"
)
file
(
WRITE
"
${
_xcodebuild_wrapper_tmp
}
"
"#!/bin/sh
${
CMAKE_MAKE_PROGRAM
}
IPHONEOS_DEPLOYMENT_TARGET=
6.0
ARCHS=
${
IOS_ARCH
}
-sdk
${
CMAKE_OSX_SYSROOT
}
\$
*"
)
${
CMAKE_MAKE_PROGRAM
}
IPHONEOS_DEPLOYMENT_TARGET=
${
IPHONEOS_DEPLOYMENT_TARGET
}
ARCHS=
${
IOS_ARCH
}
-sdk
${
CMAKE_OSX_SYSROOT
}
\$
*"
)
# Make executable
file
(
COPY
"
${
_xcodebuild_wrapper_tmp
}
"
DESTINATION
${
CMAKE_BINARY_DIR
}
FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
)
set
(
CMAKE_MAKE_PROGRAM
"
${
_xcodebuild_wrapper
}
"
CACHE INTERNAL
""
FORCE
)
...
...
@@ -162,4 +169,4 @@ set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
set
(
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY
)
set
(
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY
)
toolchain_save_config
(
IOS_ARCH
)
\ No newline at end of file
toolchain_save_config
(
IOS_ARCH IPHONEOS_DEPLOYMENT_TARGET
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录