mirror of https://github.com/opencv/opencv.git
parent
f1c52e426b
commit
36d4c29b11
15 changed files with 1 additions and 500 deletions
@ -1,2 +0,0 @@ |
||||
[tgit] |
||||
icon = doc/opencv.ico |
@ -1,3 +1,3 @@ |
||||
This folder contains toolchains and additional files that are needed for cross compilation. |
||||
For more information see introduction tutorials for target platform in documentation: |
||||
http://docs.opencv.org/doc/tutorials/introduction/table_of_content_introduction/table_of_content_introduction.html#table-of-content-introduction |
||||
https://docs.opencv.org/master/df/d65/tutorial_table_of_content_introduction.html |
||||
|
@ -1,235 +0,0 @@ |
||||
#!/usr/bin/python |
||||
|
||||
from optparse import OptionParser |
||||
from shutil import rmtree |
||||
import os |
||||
|
||||
|
||||
architecture = 'armeabi' |
||||
excludedHeaders = set(['hdf5.h', 'cap_ios.h', 'ios.h', 'eigen.hpp', 'cxeigen.hpp']) #TOREMOVE |
||||
systemIncludes = ['sources/cxx-stl/gnu-libstdc++/4.6/include', \ |
||||
'/opt/android-ndk-r8c/platforms/android-8/arch-arm', # TODO: check if this one could be passed as command line arg |
||||
'sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/include'] |
||||
targetLibs = ['libopencv_java.so'] |
||||
preamble = ['Eigen/Core'] |
||||
# TODO: get gcc_options automatically |
||||
gcc_options = ['-fexceptions', '-frtti', '-Wno-psabi', '--sysroot=/opt/android-ndk-r8c/platforms/android-8/arch-arm', '-fpic', '-D__ARM_ARCH_5__', '-D__ARM_ARCH_5T__', '-D__ARM_ARCH_5E__', '-D__ARM_ARCH_5TE__', '-fsigned-char', '-march=armv5te', '-mtune=xscale', '-msoft-float', '-fdata-sections', '-ffunction-sections', '-Wa,--noexecstack ', '-W', '-Wall', '-Werror=return-type', '-Werror=address', '-Werror=sequence-point', '-Wformat', '-Werror=format-security', '-Wmissing-declarations', '-Wundef', '-Winit-self', '-Wpointer-arith', '-Wshadow', '-Wsign-promo', '-Wno-narrowing', '-fdiagnostics-show-option', '-fomit-frame-pointer', '-mthumb', '-fomit-frame-pointer', '-O3', '-DNDEBUG ', '-DNDEBUG'] |
||||
excludedOptionsPrefix = '-W' |
||||
|
||||
|
||||
|
||||
def GetHeaderFiles(root): |
||||
headers = [] |
||||
for path in os.listdir(root): |
||||
if not os.path.isdir(os.path.join(root, path)) \ |
||||
and os.path.splitext(path)[1] in ['.h', '.hpp'] \ |
||||
and not path in excludedHeaders: |
||||
headers.append(os.path.join(root, path)) |
||||
return sorted(headers) |
||||
|
||||
|
||||
|
||||
def GetClasses(root, prefix): |
||||
classes = [] |
||||
if ('' != prefix): |
||||
prefix = prefix + '.' |
||||
for path in os.listdir(root): |
||||
currentPath = os.path.join(root, path) |
||||
if (os.path.isdir(currentPath)): |
||||
classes += GetClasses(currentPath, prefix + path) |
||||
else: |
||||
name = str.split(path, '.')[0] |
||||
ext = str.split(path, '.')[1] |
||||
if (ext == 'class'): |
||||
classes.append(prefix + name) |
||||
return classes |
||||
|
||||
|
||||
|
||||
def GetJavaHHeaders(): |
||||
print('Generating JNI headers for Java API ...') |
||||
|
||||
javahHeaders = os.path.join(managerDir, 'javah_generated_headers') |
||||
if os.path.exists(javahHeaders): |
||||
rmtree(javahHeaders) |
||||
os.makedirs(os.path.join(os.getcwd(), javahHeaders)) |
||||
|
||||
AndroidJavaDeps = os.path.join(SDK_path, 'platforms/android-11/android.jar') |
||||
|
||||
classPath = os.path.join(managerDir, 'sdk/java/bin/classes') |
||||
if not os.path.exists(classPath): |
||||
print('Error: no Java classes found in \'%s\'' % classPath) |
||||
quit() |
||||
|
||||
allJavaClasses = GetClasses(classPath, '') |
||||
if not allJavaClasses: |
||||
print('Error: no Java classes found') |
||||
quit() |
||||
|
||||
for currentClass in allJavaClasses: |
||||
os.system('javah -d %s -classpath %s:%s %s' % (javahHeaders, classPath, \ |
||||
AndroidJavaDeps, currentClass)) |
||||
|
||||
print('Building JNI headers list ...') |
||||
jniHeaders = GetHeaderFiles(javahHeaders) |
||||
|
||||
return jniHeaders |
||||
|
||||
|
||||
|
||||
def GetImmediateSubdirs(dir): |
||||
return [name for name in os.listdir(dir) |
||||
if os.path.isdir(os.path.join(dir, name))] |
||||
|
||||
|
||||
|
||||
def GetOpenCVModules(): |
||||
makefile = open(os.path.join(managerDir, 'sdk/native/jni/OpenCV.mk'), 'r') |
||||
makefileStr = makefile.read() |
||||
left = makefileStr.find('OPENCV_MODULES:=') + len('OPENCV_MODULES:=') |
||||
right = makefileStr[left:].find('\n') |
||||
modules = makefileStr[left:left+right].split() |
||||
modules = filter(lambda x: x != 'ts' and x != 'androidcamera', modules) |
||||
return modules |
||||
|
||||
|
||||
|
||||
def FindHeaders(includeJni): |
||||
headers = [] |
||||
|
||||
print('Building Native OpenCV header list ...') |
||||
|
||||
cppHeadersFolder = os.path.join(managerDir, 'sdk/native/jni/include/opencv2') |
||||
|
||||
modulesFolders = GetImmediateSubdirs(cppHeadersFolder) |
||||
modules = GetOpenCVModules() |
||||
|
||||
cppHeaders = [] |
||||
for m in modules: |
||||
for f in modulesFolders: |
||||
moduleHeaders = [] |
||||
if f == m: |
||||
moduleHeaders += GetHeaderFiles(os.path.join(cppHeadersFolder, f)) |
||||
if m == 'flann': |
||||
flann = os.path.join(cppHeadersFolder, f, 'flann.hpp') |
||||
moduleHeaders.remove(flann) |
||||
moduleHeaders.insert(0, flann) |
||||
cppHeaders += moduleHeaders |
||||
|
||||
|
||||
cppHeaders += GetHeaderFiles(cppHeadersFolder) |
||||
headers += cppHeaders |
||||
|
||||
cHeaders = GetHeaderFiles(os.path.join(managerDir, \ |
||||
'sdk/native/jni/include/opencv')) |
||||
headers += cHeaders |
||||
|
||||
if (includeJni): |
||||
headers += GetJavaHHeaders() |
||||
|
||||
return headers |
||||
|
||||
|
||||
|
||||
def FindLibraries(): |
||||
libraries = [] |
||||
for lib in targetLibs: |
||||
libraries.append(os.path.join(managerDir, 'sdk/native/libs', architecture, lib)) |
||||
return libraries |
||||
|
||||
|
||||
|
||||
def FindIncludes(): |
||||
includes = [os.path.join(managerDir, 'sdk', 'native', 'jni', 'include'), |
||||
os.path.join(managerDir, 'sdk', 'native', 'jni', 'include', 'opencv'), |
||||
os.path.join(managerDir, 'sdk', 'native', 'jni', 'include', 'opencv2')] |
||||
|
||||
for inc in systemIncludes: |
||||
includes.append(os.path.join(NDK_path, inc)) |
||||
|
||||
return includes |
||||
|
||||
|
||||
|
||||
def FilterGCCOptions(): |
||||
gcc = filter(lambda x: not x.startswith(excludedOptionsPrefix), gcc_options) |
||||
return sorted(gcc) |
||||
|
||||
|
||||
|
||||
def WriteXml(version, headers, includes, libraries): |
||||
xmlName = version + '.xml' |
||||
|
||||
print '\noutput file: ' + xmlName |
||||
try: |
||||
xml = open(xmlName, 'w') |
||||
except: |
||||
print 'Error: Cannot open output file "%s" for writing' % xmlName |
||||
quit() |
||||
|
||||
xml.write('<descriptor>') |
||||
|
||||
xml.write('\n\n<version>') |
||||
xml.write('\n\t%s' % version) |
||||
xml.write('\n</version>') |
||||
|
||||
xml.write('\n\n<headers>') |
||||
xml.write('\n\t%s' % '\n\t'.join(headers)) |
||||
xml.write('\n</headers>') |
||||
|
||||
xml.write('\n\n<include_paths>') |
||||
xml.write('\n\t%s' % '\n\t'.join(includes)) |
||||
xml.write('\n</include_paths>') |
||||
|
||||
# TODO: uncomment when Eigen problem is solved |
||||
# xml.write('\n\n<include_preamble>') |
||||
# xml.write('\n\t%s' % '\n\t'.join(preamble)) |
||||
# xml.write('\n</include_preamble>') |
||||
|
||||
xml.write('\n\n<libs>') |
||||
xml.write('\n\t%s' % '\n\t'.join(libraries)) |
||||
xml.write('\n</libs>') |
||||
|
||||
xml.write('\n\n<gcc_options>') |
||||
xml.write('\n\t%s' % '\n\t'.join(gcc_options)) |
||||
xml.write('\n</gcc_options>') |
||||
|
||||
xml.write('\n\n</descriptor>') |
||||
|
||||
|
||||
|
||||
if __name__ == '__main__': |
||||
usage = '%prog [options] <OpenCV_Manager install directory> <OpenCV_Manager version>' |
||||
parser = OptionParser(usage = usage) |
||||
parser.add_option('--exclude-jni', dest='excludeJni', action="store_true", default=False, metavar="EXCLUDE_JNI", help='Exclude headers for all JNI functions') |
||||
parser.add_option('--sdk', dest='sdk', default='~/NVPACK/android-sdk-linux', metavar="PATH", help='Android SDK path') |
||||
parser.add_option('--ndk', dest='ndk', default='/opt/android-ndk-r8c', metavar="PATH", help='Android NDK path') |
||||
parser.add_option('--java-api-level', dest='java_api_level', default='14', metavar="JAVA_API_LEVEL", help='Java API level for generating JNI headers') |
||||
|
||||
(options, args) = parser.parse_args() |
||||
|
||||
if 2 != len(args): |
||||
parser.print_help() |
||||
quit() |
||||
|
||||
managerDir = args[0] |
||||
version = args[1] |
||||
|
||||
include_jni = not options.excludeJni |
||||
print 'Include Jni headers: %s' % (include_jni) |
||||
|
||||
NDK_path = options.ndk |
||||
print 'Using Android NDK from "%s"' % NDK_path |
||||
|
||||
SDK_path = options.sdk |
||||
print 'Using Android SDK from "%s"' % SDK_path |
||||
|
||||
headers = FindHeaders(include_jni) |
||||
|
||||
includes = FindIncludes() |
||||
|
||||
libraries = FindLibraries() |
||||
|
||||
gcc_options = FilterGCCOptions() |
||||
|
||||
WriteXml(version, headers, includes, libraries) |
@ -1,31 +0,0 @@ |
||||
# make target; arch; API level; Android Source Code Root |
||||
native_camera_r2.2.0; armeabi; 8; $ANDROID_STUB_ROOT/2.2.2 |
||||
native_camera_r2.2.0; armeabi-v7a; 8; $ANDROID_STUB_ROOT/2.2.2 |
||||
native_camera_r2.3.3; armeabi; 9; $ANDROID_STUB_ROOT/2.3.3 |
||||
native_camera_r2.3.3; armeabi-v7a; 9; $ANDROID_STUB_ROOT/2.3.3 |
||||
native_camera_r2.3.3; x86; 9; $ANDROID_STUB_ROOT/2.3.3 |
||||
native_camera_r3.0.1; armeabi; 9; $ANDROID_STUB_ROOT/3.0.1 |
||||
native_camera_r3.0.1; armeabi-v7a; 9; $ANDROID_STUB_ROOT/3.0.1 |
||||
native_camera_r3.0.1; x86; 9; $ANDROID_STUB_ROOT/3.0.1 |
||||
native_camera_r4.0.3; armeabi; 14; $ANDROID_STUB_ROOT/4.0.3 |
||||
native_camera_r4.0.3; armeabi-v7a; 14; $ANDROID_STUB_ROOT/4.0.3 |
||||
native_camera_r4.0.3; x86; 14; $ANDROID_STUB_ROOT/4.0.3 |
||||
native_camera_r4.0.3; mips; 14; $ANDROID_STUB_ROOT/4.0.3_mips |
||||
native_camera_r4.0.0; armeabi; 14; $ANDROID_STUB_ROOT/4.0.0 |
||||
native_camera_r4.0.0; armeabi-v7a; 14; $ANDROID_STUB_ROOT/4.0.0 |
||||
native_camera_r4.1.1; armeabi; 14; $ANDROID_STUB_ROOT/4.1.1 |
||||
native_camera_r4.1.1; armeabi-v7a; 14; $ANDROID_STUB_ROOT/4.1.1 |
||||
native_camera_r4.1.1; x86; 14; $ANDROID_STUB_ROOT/4.1.1 |
||||
native_camera_r4.1.1; mips; 14; $ANDROID_STUB_ROOT/4.1.1 |
||||
native_camera_r4.2.0; armeabi-v7a; 14; $ANDROID_STUB_ROOT/4.2.0 |
||||
native_camera_r4.2.0; armeabi; 14; $ANDROID_STUB_ROOT/4.2.0 |
||||
native_camera_r4.2.0; x86; 14; $ANDROID_STUB_ROOT/4.2.0 |
||||
native_camera_r4.2.0; mips; 14; $ANDROID_STUB_ROOT/4.2.0 |
||||
native_camera_r4.3.0; armeabi; 14; $ANDROID_STUB_ROOT/4.3.0 |
||||
native_camera_r4.3.0; armeabi-v7a; 14; $ANDROID_STUB_ROOT/4.3.0 |
||||
native_camera_r4.3.0; x86; 14; $ANDROID_STUB_ROOT/4.3.0 |
||||
native_camera_r4.3.0; mips; 14; $ANDROID_STUB_ROOT/4.3.0 |
||||
native_camera_r4.4.0; armeabi; 14; $ANDROID_STUB_ROOT/4.4.0 |
||||
native_camera_r4.4.0; armeabi-v7a; 14; $ANDROID_STUB_ROOT/4.4.0 |
||||
native_camera_r4.4.0; x86; 14; $ANDROID_STUB_ROOT/4.4.0 |
||||
native_camera_r4.4.0; mips; 14; $ANDROID_STUB_ROOT/4.4.0 |
@ -1,76 +0,0 @@ |
||||
#!/usr/bin/python |
||||
|
||||
import os |
||||
import sys |
||||
import shutil |
||||
|
||||
ScriptHome = os.path.split(sys.argv[0])[0] |
||||
ConfFile = open(os.path.join(ScriptHome, "camera_build.conf"), "rt") |
||||
HomeDir = os.getcwd() |
||||
|
||||
stub = os.environ.get("ANDROID_STUB_ROOT", "") |
||||
|
||||
if (stub == ""): |
||||
print("Warning: ANDROID_STUB_ROOT environment variable is not set or is empty") |
||||
|
||||
for s in ConfFile.readlines(): |
||||
s = s[0:s.find("#")] |
||||
if (not s): |
||||
continue |
||||
keys = s.split(";") |
||||
if (len(keys) < 4): |
||||
print("Error: invalid config line: \"%s\"" % s) |
||||
continue |
||||
MakeTarget = str.strip(keys[0]) |
||||
Arch = str.strip(keys[1]) |
||||
NativeApiLevel = str.strip(keys[2]) |
||||
AndroidTreeRoot = str.strip(keys[3]) |
||||
AndroidTreeRoot = str.strip(AndroidTreeRoot, "\n") |
||||
AndroidTreeRoot = os.path.expandvars(AndroidTreeRoot) |
||||
print("Building %s for %s" % (MakeTarget, Arch)) |
||||
BuildDir = os.path.join(HomeDir, MakeTarget + "_" + Arch) |
||||
|
||||
if (os.path.exists(BuildDir)): |
||||
shutil.rmtree(BuildDir) |
||||
|
||||
try: |
||||
os.mkdir(BuildDir) |
||||
except: |
||||
print("Error: cannot create direcotry \"%s\"" % BuildDir) |
||||
continue |
||||
|
||||
shutil.rmtree(os.path.join(AndroidTreeRoot, "out", "target", "product", "generic", "system"), ignore_errors=True) |
||||
|
||||
LinkerLibs = os.path.join(AndroidTreeRoot, "bin_arm", "system") |
||||
if (Arch == "x86"): |
||||
LinkerLibs = os.path.join(AndroidTreeRoot, "bin_x86", "system") |
||||
elif (Arch == "mips"): |
||||
LinkerLibs = os.path.join(AndroidTreeRoot, "bin_mips", "system") |
||||
|
||||
if (not os.path.exists(LinkerLibs)): |
||||
print("Error: Paltform libs for linker in path \"%s\" not found" % LinkerLibs) |
||||
print("Building %s for %s\t[\033[91mFAILED\033[0m]" % (MakeTarget, Arch)) |
||||
continue |
||||
|
||||
shutil.copytree(LinkerLibs, os.path.join(AndroidTreeRoot, "out", "target", "product", "generic", "system")) |
||||
|
||||
os.chdir(BuildDir) |
||||
BuildLog = os.path.join(BuildDir, "build.log") |
||||
CmakeCmdLine = "cmake -DCMAKE_TOOLCHAIN_FILE=../android/android.toolchain.cmake -DANDROID_SOURCE_TREE=\"%s\" -DANDROID_NATIVE_API_LEVEL=\"%s\" -DANDROID_ABI=\"%s\" -DANDROID_STL=stlport_static ../.. > \"%s\" 2>&1" % (AndroidTreeRoot, NativeApiLevel, Arch, BuildLog) |
||||
MakeCmdLine = "make %s >> \"%s\" 2>&1" % (MakeTarget, BuildLog); |
||||
#print(CmakeCmdLine) |
||||
os.system(CmakeCmdLine) |
||||
#print(MakeCmdLine) |
||||
os.system(MakeCmdLine) |
||||
os.chdir(HomeDir) |
||||
CameraLib = os.path.join(BuildDir, "lib", Arch, "lib" + MakeTarget + ".so") |
||||
if (os.path.exists(CameraLib)): |
||||
try: |
||||
shutil.copyfile(CameraLib, os.path.join("..", "3rdparty", "lib", Arch, "lib" + MakeTarget + ".so")) |
||||
print("Building %s for %s\t[\033[92mOK\033[0m]" % (MakeTarget, Arch)); |
||||
except: |
||||
print("Building %s for %s\t[\033[91mFAILED\033[0m]" % (MakeTarget, Arch)); |
||||
else: |
||||
print("Building %s for %s\t[\033[91mFAILED\033[0m]" % (MakeTarget, Arch)); |
||||
|
||||
ConfFile.close() |
@ -1,7 +0,0 @@ |
||||
#!/bin/sh |
||||
cd `dirname $0`/.. |
||||
|
||||
mkdir -p build_android_arm |
||||
cd build_android_arm |
||||
|
||||
cmake -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DCMAKE_TOOLCHAIN_FILE=../android/android.toolchain.cmake $@ ../.. |
@ -1,7 +0,0 @@ |
||||
#!/bin/sh |
||||
cd `dirname $0`/.. |
||||
|
||||
mkdir -p build_android_mips |
||||
cd build_android_mips |
||||
|
||||
cmake -DANDROID_ABI=mips -DCMAKE_TOOLCHAIN_FILE=../android/android.toolchain.cmake $@ ../.. |
@ -1,7 +0,0 @@ |
||||
#!/bin/sh |
||||
cd `dirname $0`/.. |
||||
|
||||
mkdir -p build_android_service |
||||
cd build_android_service |
||||
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE=../android/android.toolchain.cmake -DANDROID_TOOLCHAIN_NAME="arm-linux-androideabi-4.4.3" -DANDROID_STL=stlport_static -DANDROID_STL_FORCE_FEATURES=OFF -DBUILD_ANDROID_SERVICE=ON -DANDROID_SOURCE_TREE=~/Projects/AndroidSource/ServiceStub/ $@ ../.. |
@ -1,8 +0,0 @@ |
||||
#!/bin/sh |
||||
|
||||
cd `dirname $0`/.. |
||||
|
||||
mkdir -p build_android_x86 |
||||
cd build_android_x86 |
||||
|
||||
cmake -DANDROID_ABI=x86 -DCMAKE_TOOLCHAIN_FILE=../android/android.toolchain.cmake $@ ../.. |
@ -1,7 +0,0 @@ |
||||
#!/bin/sh |
||||
cd `dirname $0`/.. |
||||
|
||||
mkdir -p build_linux_arm_hardfp |
||||
cd build_linux_arm_hardfp |
||||
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE=../linux/arm-gnueabi.toolchain.cmake $@ ../.. |
@ -1,7 +0,0 @@ |
||||
#!/bin/sh |
||||
cd `dirname $0`/.. |
||||
|
||||
mkdir -p build_linux_arm_softfp |
||||
cd build_linux_arm_softfp |
||||
|
||||
cmake -DSOFTFP=ON -DCMAKE_TOOLCHAIN_FILE=../linux/arm-gnueabi.toolchain.cmake $@ ../.. |
@ -1,11 +0,0 @@ |
||||
#!/bin/sh |
||||
|
||||
mkdir -p build_carma |
||||
cd build_carma |
||||
|
||||
cmake \ |
||||
-DGCC_COMPILER_VERSION="4.5" -DSOFTFP=ON -DUSE_NEON=ON -DCMAKE_SKIP_RPATH=ON \ |
||||
-DCUDA_TOOLKIT_ROOT_DIR=/usr/arm-linux-gnueabi/cuda/ -DCUDA_ARCH_BIN="2.1(2.0)" -DCUDA_ARCH_PTX="" \ |
||||
-DWITH_TBB=ON -DWITH_CUBLAS=ON \ |
||||
-DBUILD_ZLIB=ON -DBUILD_TIFF=ON -DBUILD_JASPER=ON -DBUILD_JPEG=ON -DBUILD_PNG=ON -DBUILD_OPENEXR=ON -DBUILD_TBB=ON \ |
||||
-DCMAKE_TOOLCHAIN_FILE=../arm-gnueabi.toolchain.cmake $@ ../../.. |
@ -1,9 +0,0 @@ |
||||
mkdir build_winrt_arm |
||||
cd build_winrt_arm |
||||
|
||||
set msvc_path=C:\Program Files\Microsoft Visual Studio 11.0 |
||||
|
||||
call "%msvc_path%\Common7\Tools\VsDevCmd.bat" |
||||
call "%msvc_path%\VC\bin\x86_arm\vcvarsx86_arm.bat" |
||||
|
||||
cmake.exe -GNinja -DCMAKE_BUILD_TYPE=Release -DENABLE_WINRT_MODE=ON -DWITH_FFMPEG=OFF -DWITH_MSMF=OFF -DWITH_DSHOW=OFF -DWITH_VFW=OFF -DWITH_OPENEXR=OFF -DWITH_CUDA=OFF -DBUILD_opencv_gpu=OFF -DBUILD_opencv_python=OFF -DBUILD_opencv_java=OFF -DCMAKE_TOOLCHAIN_FILE=..\winrt\arm.winrt.toolchain.cmake %* ..\.. |
@ -1,6 +0,0 @@ |
||||
set(CMAKE_SYSTEM_NAME Windows) |
||||
set(CMAKE_SYSTEM_PROCESSOR "arm-v7a") |
||||
|
||||
set(CMAKE_FIND_ROOT_PATH "${CMAKE_SOURCE_DIR}/platforms/winrt") |
||||
set(CMAKE_REQUIRED_DEFINITIONS -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE) |
||||
add_definitions(-D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE) |
@ -1,86 +0,0 @@ |
||||
@echo off |
||||
|
||||
|
||||
set FOUND_VC=0 |
||||
|
||||
if defined VS120COMNTOOLS ( |
||||
set VSTOOLS="%VS120COMNTOOLS%" |
||||
set VC_VER=120 |
||||
set FOUND_VC=1 |
||||
) |
||||
|
||||
set VSTOOLS=%VSTOOLS:"=% |
||||
set "VSTOOLS=%VSTOOLS:\=/%" |
||||
|
||||
set VSVARS="%VSTOOLS%vsvars32.bat" |
||||
|
||||
if not defined VSVARS ( |
||||
echo Can't find VC2013 installed! |
||||
goto ERROR |
||||
) |
||||
|
||||
|
||||
echo./* |
||||
echo. * Building OpenCV |
||||
echo. */ |
||||
echo. |
||||
|
||||
|
||||
call %VSVARS% |
||||
|
||||
if %FOUND_VC%==1 ( |
||||
call:DoMSBuild ..\..\bin\WP\8.1\x86\OpenCV.sln Debug |
||||
call:DoMSBuild ..\..\bin\WP\8.1\x86\INSTALL.vcxproj Debug |
||||
call:DoMSBuild ..\..\bin\WP\8.1\x86\OpenCV.sln Release |
||||
call:DoMSBuild ..\..\bin\WP\8.1\x86\INSTALL.vcxproj Release |
||||
|
||||
call:DoMSBuild ..\..\bin\WP\8.1\ARM\OpenCV.sln Debug |
||||
call:DoMSBuild ..\..\bin\WP\8.1\ARM\INSTALL.vcxproj Debug |
||||
call:DoMSBuild ..\..\bin\WP\8.1\ARM\OpenCV.sln Release |
||||
call:DoMSBuild ..\..\bin\WP\8.1\ARM\INSTALL.vcxproj Release |
||||
|
||||
call:DoMSBuild ..\..\bin\WS\8.1\x86\OpenCV.sln Debug |
||||
call:DoMSBuild ..\..\bin\WS\8.1\x86\INSTALL.vcxproj Debug |
||||
call:DoMSBuild ..\..\bin\WS\8.1\x86\OpenCV.sln Release |
||||
call:DoMSBuild ..\..\bin\WS\8.1\x86\INSTALL.vcxproj Release |
||||
|
||||
call:DoMSBuild ..\..\bin\WS\8.1\ARM\OpenCV.sln Debug |
||||
call:DoMSBuild ..\..\bin\WS\8.1\ARM\INSTALL.vcxproj Debug |
||||
call:DoMSBuild ..\..\bin\WS\8.1\ARM\OpenCV.sln Release |
||||
call:DoMSBuild ..\..\bin\WS\8.1\ARM\INSTALL.vcxproj Release |
||||
|
||||
call:DoMSBuild ..\..\bin\WP\8.0\x86\OpenCV.sln Debug |
||||
call:DoMSBuild ..\..\bin\WP\8.0\x86\INSTALL.vcxproj Debug |
||||
call:DoMSBuild ..\..\bin\WP\8.0\x86\OpenCV.sln Release |
||||
call:DoMSBuild ..\..\bin\WP\8.0\x86\INSTALL.vcxproj Release |
||||
|
||||
call:DoMSBuild ..\..\bin\WP\8.0\ARM\OpenCV.sln Debug |
||||
call:DoMSBuild ..\..\bin\WP\8.0\ARM\INSTALL.vcxproj Debug |
||||
call:DoMSBuild ..\..\bin\WP\8.0\ARM\OpenCV.sln Release |
||||
call:DoMSBuild ..\..\bin\WP\8.0\ARM\INSTALL.vcxproj Release |
||||
|
||||
call:DoMSBuild ..\..\bin\WS\8.0\x86\OpenCV.sln Debug |
||||
call:DoMSBuild ..\..\bin\WS\8.0\x86\INSTALL.vcxproj Debug |
||||
call:DoMSBuild ..\..\bin\WS\8.0\x86\OpenCV.sln Release |
||||
call:DoMSBuild ..\..\bin\WS\8.0\x86\INSTALL.vcxproj Release |
||||
|
||||
call:DoMSBuild ..\..\bin\WS\8.0\ARM\OpenCV.sln Debug |
||||
call:DoMSBuild ..\..\bin\WS\8.0\ARM\INSTALL.vcxproj Debug |
||||
call:DoMSBuild ..\..\bin\WS\8.0\ARM\OpenCV.sln Release |
||||
call:DoMSBuild ..\..\bin\WS\8.0\ARM\INSTALL.vcxproj Release |
||||
) |
||||
|
||||
echo.&goto:EOF |
||||
|
||||
|
||||
::-------------------------------------------------------- |
||||
::-- DoMSBuild |
||||
::-------------------------------------------------------- |
||||
:DoMSBuild |
||||
msbuild %~1 /p:Configuration="%~2" /m |
||||
@if errorlevel 1 goto :ERROR |
||||
goto:EOF |
||||
|
||||
:ERROR |
||||
pause |
||||
:EOF |
Loading…
Reference in new issue