remove Doxygen warning
[platform/framework/native/image.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET (this_target osp-image)
4
5 SET(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/cmake_build_tmp/output)
6
7 INCLUDE_DIRECTORIES(
8         inc
9         src
10         src/inc
11         /usr/include
12         /usr/include/curl
13         /usr/include/libxml2
14         /usr/include/glib-2.0 
15         /usr/lib/glib-2.0/include
16         /usr/include/osp
17         /usr/include/osp/app
18         /usr/include/osp/base   
19         /usr/include/osp/io
20         /usr/include/osp/graphics
21         /usr/include/osp/media
22         /usr/include/osp/net
23         /usr/include/osp/security
24         /usr/include/osp/system
25         /usr/include/osp/ui
26         )
27
28 SET (${this_target}_SOURCE_FILES
29         src/FMediaImage.cpp
30         src/FMedia_ImageImpl.cpp
31         src/FMediaImageBuffer.cpp
32         src/FMedia_ImageBufferImpl.cpp
33         src/FMediaImageUtil.cpp
34         src/FMedia_ImageUtilImpl.cpp
35         src/FMediaGifDecoder.cpp
36         src/FMedia_GifDecoderImpl.cpp
37         src/FMedia_ImageDownloadListener.cpp
38         src/FMedia_ImageUriData.cpp
39         src/FMedia_ImageUriDataEvent.cpp
40         src/FMedia_ImageUriDataEventArg.cpp
41         src/FMedia_ImageUriDataFactory.cpp
42         src/FMedia_ImageUriDataHolder.cpp
43 )
44
45 ## Definitions
46 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -Wall" )
47
48 ## SET C COMPILER FLAGS
49 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
50
51 ## SET CPP COMPILER FLAGS
52 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
53 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
54
55 ## Create Library
56 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
57
58 ## SET LINKER FLAGS
59 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed")
60
61 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw" )
62 TARGET_LINK_LIBRARIES(${this_target} "-losp-image-core" )
63 TARGET_LINK_LIBRARIES(${this_target} "-losp-uifw" )
64 TARGET_LINK_LIBRARIES(${this_target} "-losp-net" )
65 TARGET_LINK_LIBRARIES(${this_target} "-lpthread" )
66
67 SET_TARGET_PROPERTIES(${this_target} 
68         PROPERTIES 
69         VERSION ${FULLVER}
70         SOVERSION ${MAJORVER}
71         CLEAN_DIRECT_OUTPUT 1
72         )
73
74 ADD_CUSTOM_COMMAND(TARGET ${this_target}
75     POST_BUILD
76                 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} 
77                 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}
78                 COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
79     COMMENT "strip ${this_target}"
80                 )   
81
82 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp
83                 FILES_MATCHING PATTERN "*.so*" 
84                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                      
85                     GROUP_EXECUTE GROUP_READ
86                     WORLD_EXECUTE WORLD_READ)
87 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/debug/ DESTINATION lib/osp/debug 
88                 FILES_MATCHING PATTERN "*"
89                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
90                                         GROUP_EXECUTE GROUP_READ
91                                         WORLD_EXECUTE WORLD_READ)
92
93 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/inc/ DESTINATION include/osp FILES_MATCHING PATTERN "*.h")
94 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/src/inc/ DESTINATION include/osp/media FILES_MATCHING PATTERN "*.h")
95
96 # pkgconfig file
97 CONFIGURE_FILE(${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
98 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${this_target}.pc DESTINATION lib/pkgconfig)