merge with master
[framework/osp/image-core.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET (this_target osp-image-core)
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/chromium
12         /usr/include/ecore-1
13         /usr/include/eina-1
14         /usr/include/eina-1/eina
15         /usr/include/evas-1
16         /usr/include/media
17         /usr/include/osp
18         /usr/include/osp/base
19         /usr/include/osp/app
20         /usr/include/osp/net
21         /usr/include/osp/security
22         /usr/include/osp/io     
23         )
24
25 SET (${this_target}_SOURCE_FILES
26         src/FMedia_ImageDecoder.cpp
27         src/FMedia_BmpDecoder.cpp
28         src/FMedia_PngDecoder.cpp
29         src/FMedia_GifDecoder.cpp
30         src/FMedia_JpegTurboDecoder.cpp
31         src/FMedia_TiffDecoder.cpp
32         src/FMedia_WbmpDecoder.cpp
33         src/FMedia_ImageEncoder.cpp
34         src/FMedia_JpegTurboEncoder.cpp
35         src/FMedia_ColorConverter.cpp
36         src/FMedia_ImageUtil.cpp
37         src/FMedia_PngEncoder.cpp
38         src/FMedia_BmpEncoder.cpp
39         src/FMedia_SlpUtil.cpp
40         src/FMedia_MediaUtil.cpp
41         src/FMedia_ExifUtil.cpp
42         src/FMedia_Ffmpeg.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} "-lglib-2.0" )
63 TARGET_LINK_LIBRARIES(${this_target} "-leina" )
64 TARGET_LINK_LIBRARIES(${this_target} "-lcurl" )
65 TARGET_LINK_LIBRARIES(${this_target} "-lpng -lz" )
66 TARGET_LINK_LIBRARIES(${this_target} "-lavcodec" )
67 TARGET_LINK_LIBRARIES(${this_target} "-lswscale" )
68 TARGET_LINK_LIBRARIES(${this_target} "-lavutil" )
69 TARGET_LINK_LIBRARIES(${this_target} "-lgif" )
70 TARGET_LINK_LIBRARIES(${this_target} "-lmmutil_imgp" )
71 TARGET_LINK_LIBRARIES(${this_target} "-lecore" )
72 TARGET_LINK_LIBRARIES(${this_target} "-levas" )
73 TARGET_LINK_LIBRARIES(${this_target} "-lecore_evas" )
74 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-media-image-util" )
75 TARGET_LINK_LIBRARIES(${this_target} "-lturbojpeg" )
76 TARGET_LINK_LIBRARIES(${this_target} "-ltiff" )
77 TARGET_LINK_LIBRARIES(${this_target} "-lexif" )
78
79 SET_TARGET_PROPERTIES(${this_target} 
80         PROPERTIES 
81         VERSION ${FULLVER}
82         SOVERSION ${MAJORVER}
83         CLEAN_DIRECT_OUTPUT 1
84         )
85
86 ADD_CUSTOM_COMMAND(TARGET ${this_target}
87         POST_BUILD
88                 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} 
89                 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}
90                 COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
91     COMMENT "strip ${this_target}"
92                 )   
93
94 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp
95                 FILES_MATCHING PATTERN "*.so*" 
96                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                      
97                                         GROUP_EXECUTE GROUP_READ
98                                         WORLD_EXECUTE WORLD_READ)
99 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/debug/ DESTINATION lib/osp/debug 
100                 FILES_MATCHING PATTERN "*"
101                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
102                                         GROUP_EXECUTE GROUP_READ
103                                         WORLD_EXECUTE WORLD_READ)
104
105 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/inc/ DESTINATION include/osp FILES_MATCHING PATTERN "*.h")
106 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/src/inc/ DESTINATION include/osp/media FILES_MATCHING PATTERN "*.h")
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)