Commit fa874220 authored by Alexander Alekhin's avatar Alexander Alekhin

Merge pull request #7358 from convoyinc:ios-framework-module-exclusion

parents 39467d84 b78f1ad8
...@@ -43,7 +43,7 @@ def getXCodeMajor(): ...@@ -43,7 +43,7 @@ def getXCodeMajor():
return 0 return 0
class Builder: class Builder:
def __init__(self, opencv, contrib, targets): def __init__(self, opencv, contrib, exclude, targets):
self.opencv = os.path.abspath(opencv) self.opencv = os.path.abspath(opencv)
self.contrib = None self.contrib = None
if contrib: if contrib:
...@@ -52,6 +52,7 @@ class Builder: ...@@ -52,6 +52,7 @@ class Builder:
self.contrib = os.path.abspath(modpath) self.contrib = os.path.abspath(modpath)
else: else:
print("Note: contrib repository is bad - modules subfolder not found", file=sys.stderr) print("Note: contrib repository is bad - modules subfolder not found", file=sys.stderr)
self.exclude = exclude
self.targets = targets self.targets = targets
def getBD(self, parent, t): def getBD(self, parent, t):
...@@ -104,6 +105,11 @@ class Builder: ...@@ -104,6 +105,11 @@ class Builder:
"-DCMAKE_INSTALL_PREFIX=install", "-DCMAKE_INSTALL_PREFIX=install",
"-DCMAKE_BUILD_TYPE=Release", "-DCMAKE_BUILD_TYPE=Release",
] ]
if len(self.exclude) > 0:
args += ["-DBUILD_opencv_world=OFF"]
args += ("-DBUILD_opencv_%s=OFF" % m for m in self.exclude)
return args return args
def getBuildCommand(self, arch, target): def getBuildCommand(self, arch, target):
...@@ -192,9 +198,10 @@ if __name__ == "__main__": ...@@ -192,9 +198,10 @@ if __name__ == "__main__":
parser.add_argument('out', metavar='OUTDIR', help='folder to put built framework') parser.add_argument('out', metavar='OUTDIR', help='folder to put built framework')
parser.add_argument('--opencv', metavar='DIR', default=folder, help='folder with opencv repository (default is "../.." relative to script location)') parser.add_argument('--opencv', metavar='DIR', default=folder, help='folder with opencv repository (default is "../.." relative to script location)')
parser.add_argument('--contrib', metavar='DIR', default=None, help='folder with opencv_contrib repository (default is "None" - build only main framework)') parser.add_argument('--contrib', metavar='DIR', default=None, help='folder with opencv_contrib repository (default is "None" - build only main framework)')
parser.add_argument('--without', metavar='MODULE', default=[], action='append', help='OpenCV modules to exclude from the framework')
args = parser.parse_args() args = parser.parse_args()
b = Builder(args.opencv, args.contrib, b = Builder(args.opencv, args.contrib, args.without,
[ [
("armv7", "iPhoneOS"), ("armv7", "iPhoneOS"),
("arm64", "iPhoneOS"), ("arm64", "iPhoneOS"),
......
...@@ -36,9 +36,10 @@ if __name__ == "__main__": ...@@ -36,9 +36,10 @@ if __name__ == "__main__":
parser.add_argument('out', metavar='OUTDIR', help='folder to put built framework') parser.add_argument('out', metavar='OUTDIR', help='folder to put built framework')
parser.add_argument('--opencv', metavar='DIR', default=folder, help='folder with opencv repository (default is "../.." relative to script location)') parser.add_argument('--opencv', metavar='DIR', default=folder, help='folder with opencv repository (default is "../.." relative to script location)')
parser.add_argument('--contrib', metavar='DIR', default=None, help='folder with opencv_contrib repository (default is "None" - build only main framework)') parser.add_argument('--contrib', metavar='DIR', default=None, help='folder with opencv_contrib repository (default is "None" - build only main framework)')
parser.add_argument('--without', metavar='MODULE', default=[], action='append', help='OpenCV modules to exclude from the framework')
args = parser.parse_args() args = parser.parse_args()
b = OSXBuilder(args.opencv, args.contrib, b = OSXBuilder(args.opencv, args.contrib, args.without,
[ [
("x86_64", "MacOSX") ("x86_64", "MacOSX")
]) ])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment