Add SECURE_LOG build option
[framework/osp/face.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET (this_target osp-face)
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/uix
12         /usr/include/osp/base
13         )
14
15 SET (${this_target}_SOURCE_FILES
16         src/FUixVisionFaceBuffer.cpp
17         src/FUixVisionFaceComponentsPosition.cpp
18         src/FUixVisionFaceDetector.cpp
19         src/FUixVision_FaceDetectorImpl.cpp
20         src/FUixVisionFaceRecognitionInfo.cpp
21         src/FUixVisionFaceRecognizer.cpp
22         src/FUixVision_FaceRecognizerImpl.cpp
23         src/FUixVision_FaceUtil.cpp
24         )
25
26 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -Wall" )
27
28 ## SET C COMPILER FLAGS
29 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
30
31 ## SET CPP COMPILER FLAGS
32 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
33 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
34
35 ## Create Library
36 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
37
38 ## SET DEPENDENCY FLAGS
39 ADD_DEPENDENCIES(${this_target} osp-appfw)
40 ADD_DEPENDENCIES(${this_target} osp-uifw)
41 ADD_DEPENDENCIES(${this_target} face-engine)
42
43 ## SET LINKER FLAGS
44 SET(CMAKE_SHARED_LINKER_FLAGS -Wl,--no-undefined)
45
46 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw" )
47 TARGET_LINK_LIBRARIES(${this_target} "-losp-uifw" )
48 TARGET_LINK_LIBRARIES(${this_target} "-lface-engine-plugin" )
49
50 SET_TARGET_PROPERTIES(${this_target} 
51         PROPERTIES 
52         VERSION ${FULLVER}
53         SOVERSION ${MAJORVER}
54         CLEAN_DIRECT_OUTPUT 1
55         )
56
57 ADD_CUSTOM_COMMAND(TARGET ${this_target}
58     POST_BUILD
59                 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} 
60                 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}
61                 COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
62     COMMENT "strip ${this_target}"
63                 )   
64
65 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp 
66                                 FILES_MATCHING PATTERN "*.so*" 
67                                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
68                                                                                 GROUP_EXECUTE GROUP_READ
69                                                                                 WORLD_EXECUTE WORLD_READ)
70 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/debug/ DESTINATION lib/osp/debug 
71                                 FILES_MATCHING PATTERN "*.so*" 
72                                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
73                                                                                 GROUP_EXECUTE GROUP_READ
74                                                                                 WORLD_EXECUTE WORLD_READ)
75
76 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/inc/ DESTINATION include/osp FILES_MATCHING PATTERN "*.h")
77
78 # pkgconfig file
79 CONFIGURE_FILE(${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
80 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${this_target}.pc DESTINATION lib/pkgconfig)