Itseez/opencv — pull request #1771 by kiranpradeep (2013-11-08 08:47:27+00:00)
Title: Duplicate surf.o's with same size in iOS OpenCV framework fat binary ( for each architecture ).

Issue: In opencv2 library from iOS OpenCV framework, I ran

lipo opencv2 -thin armv7 -output armv7.a
ar -tv armv7.a | grep surf.o

rw-r--r-- 501/20 52144 Jul 1 20:54 2013 surf.o
rw-r--r-- 501/20 52144 Jul 1 20:54 2013 surf.o

Cause: In opencv/modules/world/CMakeLists.txt, to generate a list of object files to build libopencv_world.a, call to ```get_filename_component(NAME_WE)``` is used to get file name without extension. That puts surf.ocl.cpp and surf.cpp to surf.o and surf.o. And so we miss surf.ocl.o in resulting static library. Happens only for XCode builds as ```NAME_WE``` is used only if generator is XCode. This is more a of CMake [issue](http://cmake.org/Bug/view.php?id=12282) which interprets first period as start of extension.