diff --git a/CMakeLists.txt b/CMakeLists.txt index 4c38b5b713..59547653fc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -497,6 +497,8 @@ include(cmake/OpenCVGenAndroidMK.cmake) # Generate OpenCVŠ”onfig.cmake and OpenCVConfig-version.cmake for cmake projects include(cmake/OpenCVGenConfig.cmake) +# Generate Info.plist for the IOS framework +include(cmake/OpenCVGenInfoPlist.cmake) # ---------------------------------------------------------------------------- # Summary: diff --git a/cmake/OpenCVGenInfoPlist.cmake b/cmake/OpenCVGenInfoPlist.cmake new file mode 100644 index 0000000000..97c674ceb7 --- /dev/null +++ b/cmake/OpenCVGenInfoPlist.cmake @@ -0,0 +1,4 @@ +if(IOS) + configure_file("${OpenCV_SOURCE_DIR}/platforms/ios/Info.plist.in" + "${CMAKE_BINARY_DIR}/ios/Info.plist") +endif() diff --git a/platforms/ios/Info.plist.in b/platforms/ios/Info.plist.in index 6bcfe862d0..b2a3baf524 100644 --- a/platforms/ios/Info.plist.in +++ b/platforms/ios/Info.plist.in @@ -7,9 +7,9 @@ CFBundleIdentifier org.opencv CFBundleVersion - ${VERSION} + ${OPENCV_LIBVERSION} CFBundleShortVersionString - ${VERSION} + ${OPENCV_LIBVERSION} CFBundleSignature ???? CFBundlePackageType diff --git a/platforms/ios/build_framework.py b/platforms/ios/build_framework.py index 7dfd39460e..cb3788f7d5 100755 --- a/platforms/ios/build_framework.py +++ b/platforms/ios/build_framework.py @@ -71,19 +71,11 @@ def put_framework_together(srcroot, dstroot): os.makedirs(framework_dir) os.chdir(framework_dir) - # determine OpenCV version (without subminor part) - tdir0 = "../build/" + targetlist[0] - cfg = open(tdir0 + "/cvconfig.h", "rt") - for l in cfg.readlines(): - if l.startswith("#define VERSION"): - opencv_version = l[l.find("\"")+1:l.rfind(".")] - break - cfg.close() - # form the directory tree dstdir = "Versions/A" os.makedirs(dstdir + "/Resources") + tdir0 = "../build/" + targetlist[0] # copy headers shutil.copytree(tdir0 + "/install/include/opencv2", dstdir + "/Headers") @@ -91,13 +83,8 @@ def put_framework_together(srcroot, dstroot): wlist = " ".join(["../build/" + t + "/lib/Release/libopencv_world.a" for t in targetlist]) os.system("lipo -create " + wlist + " -o " + dstdir + "/opencv2") - # form Info.plist - srcfile = open(srcroot + "/platforms/ios/Info.plist.in", "rt") - dstfile = open(dstdir + "/Resources/Info.plist", "wt") - for l in srcfile.readlines(): - dstfile.write(l.replace("${VERSION}", opencv_version)) - srcfile.close() - dstfile.close() + # copy Info.plist + shutil.copyfile(tdir0 + "/ios/Info.plist", dstdir + "/Resources/Info.plist") # make symbolic links os.symlink("A", "Versions/Current")