Merge commits Tizen 2.2 to Tizen 2.2.1
[platform/framework/native/vision.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET (this_target osp-vision)
4
5 SET(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/cmake_build_tmp/output)
6
7 INCLUDE_DIRECTORIES(
8         inc
9         src
10         /usr/include/osp
11         /usr/include/media  
12         /usr/include/osp/media
13         )
14
15 SET (${this_target}_SOURCE_FILES
16         src/FUixVision_ImageRecognizerImpl.cpp
17         src/FUixVision_QrCodeObjectImpl.h
18         src/FUixVision_ImageFeatureInfoImpl.cpp
19         src/FUixVision_ImageFeatureManagerImpl.cpp
20         src/FUixVisionImageRecognizer.cpp
21         src/FUixVision_QrCodeGeneratorImpl.h
22         src/FUixVision_QrCodeRecognizerImpl.cpp
23         src/FUixVisionQrCodeRecognizer.cpp
24         src/FUixVisionImageObject.cpp
25         src/FUixVisionQrCodeGenerator.cpp
26         src/FUixVision_QrCodeObjectImpl.cpp
27         src/FUixVisionImageFeatureManager.cpp
28         src/FUixVision_QrCodeRecognizerImpl.h
29         src/FUixVision_ImageObjectImpl.cpp
30         src/FUixVisionImageFeatureInfo.cpp
31         src/FUixVision_ImageFeatureManagerImpl.h
32         src/FUixVision_ImageFeatureInfoImpl.h
33         src/FUixVision_ImageObjectImpl.h
34         src/FUixVision_ImageRecognizerImpl.h
35         src/FUixVisionQrCodeObject.cpp
36         src/FUixVision_QrCodeGeneratorImpl.cpp
37         )
38
39 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -Wall" )
40
41 ## SET C COMPILER FLAGS
42 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
43
44 ## SET CPP COMPILER FLAGS
45 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
46
47 ## Create Library
48 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
49
50 IF("${ARCH}" MATCHES "arm")
51 ADD_CUSTOM_COMMAND(TARGET ${this_target} PRE_BUILD
52         COMMAND cp -f ${CMAKE_SOURCE_DIR}/lib/armv7-a/libarengine.so ${LIBRARY_OUTPUT_PATH})
53 #       COMMAND ln -s -f libarengine.so ${LIBRARY_OUTPUT_PATH}/libarengine.so)
54 ELSEIF("${ARCH}" MATCHES "x86") 
55 ADD_CUSTOM_COMMAND(TARGET ${this_target} PRE_BUILD
56         COMMAND cp -f ${CMAKE_SOURCE_DIR}/lib/x86/libarengine.so ${LIBRARY_OUTPUT_PATH})
57 #       COMMAND ln -s -f libarengine.so ${LIBRARY_OUTPUT_PATH}/libarengine.so)
58 ENDIF("${ARCH}" MATCHES "arm")
59
60 ## SET DEPENDENCY FLAGS
61 ADD_DEPENDENCIES(${this_target} osp-appfw)
62 ADD_DEPENDENCIES(${this_target} osp-uifw)
63 ADD_DEPENDENCIES(${this_target} osp-media)
64 ADD_DEPENDENCIES(${this_target} osp-image)
65 ADD_DEPENDENCIES(${this_target} osp-image-core)
66
67 ## SET LINKER FLAGS
68 SET(CMAKE_SHARED_LINKER_FLAGS -Wl,--no-undefined)
69
70 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw" )
71 TARGET_LINK_LIBRARIES(${this_target} "-losp-uifw" )
72 TARGET_LINK_LIBRARIES(${this_target} "-losp-media" )
73 TARGET_LINK_LIBRARIES(${this_target} "-losp-image" )
74 TARGET_LINK_LIBRARIES(${this_target} "-losp-image-core" )
75 TARGET_LINK_LIBRARIES(${this_target} "-L${LIBRARY_OUTPUT_PATH} -larengine" )
76
77 SET_TARGET_PROPERTIES(${this_target} 
78         PROPERTIES 
79         VERSION ${FULLVER}
80         SOVERSION ${MAJORVER}
81         CLEAN_DIRECT_OUTPUT 1
82         )
83
84 ADD_CUSTOM_COMMAND(TARGET ${this_target}
85     POST_BUILD
86                 COMMAND ${CMAKE_COMMAND} -E copy ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} 
87                 COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${MAJORVER}
88                 COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
89     COMMENT "strip ${this_target}"
90                 )   
91
92 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp 
93                                 FILES_MATCHING PATTERN "*.so*" 
94                                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
95                                                                                 GROUP_EXECUTE GROUP_READ
96                                                                                 WORLD_EXECUTE WORLD_READ)
97 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/debug/ DESTINATION lib/osp/debug 
98                                 FILES_MATCHING PATTERN "*.so*" 
99                                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
100                                                                                 GROUP_EXECUTE GROUP_READ
101                                                                                 WORLD_EXECUTE WORLD_READ)
102
103 INSTALL(FILES ${LIBRARY_OUTPUT_PATH}/libarengine.so DESTINATION lib/osp)
104 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/inc/ DESTINATION include/osp FILES_MATCHING PATTERN "*.h")
105 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/src/ DESTINATION include/osp/vision FILES_MATCHING PATTERN "*.h")
106
107
108 # pkgconfig file
109 CONFIGURE_FILE(${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
110 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${this_target}.pc DESTINATION lib/pkgconfig)