Added bypass routine(JpegDecoder) when failed to get subsampling in JpegTurboDecoder
[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_JpegDecoder.cpp
31         src/FMedia_JpegTurboDecoder.cpp
32         src/FMedia_TiffDecoder.cpp
33         src/FMedia_WbmpDecoder.cpp
34         src/FMedia_ImageEncoder.cpp
35         src/FMedia_JpegTurboEncoder.cpp
36         src/FMedia_ColorConverter.cpp
37         src/FMedia_ImageUtil.cpp
38         src/FMedia_PngEncoder.cpp
39         src/FMedia_BmpEncoder.cpp
40         src/FMedia_SlpUtil.cpp
41         src/FMedia_MediaUtil.cpp
42         src/FMedia_ExifUtil.cpp
43         src/FMedia_Ffmpeg.cpp
44 )
45
46 ## Definitions
47 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -Wall" )
48
49 ## SET C COMPILER FLAGS
50 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
51
52 ## SET CPP COMPILER FLAGS
53 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
54 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
55
56 ## Create Library
57 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
58
59 ## SET LINKER FLAGS
60 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed")
61
62 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw" )
63 TARGET_LINK_LIBRARIES(${this_target} "-lglib-2.0" )
64 TARGET_LINK_LIBRARIES(${this_target} "-leina" )
65 TARGET_LINK_LIBRARIES(${this_target} "-lcurl" )
66 TARGET_LINK_LIBRARIES(${this_target} "-lpng -lz" )
67 TARGET_LINK_LIBRARIES(${this_target} "-lavcodec" )
68 TARGET_LINK_LIBRARIES(${this_target} "-lswscale" )
69 TARGET_LINK_LIBRARIES(${this_target} "-lavutil" )
70 TARGET_LINK_LIBRARIES(${this_target} "-lgif" )
71 TARGET_LINK_LIBRARIES(${this_target} "-lmmutil_imgp" )
72 TARGET_LINK_LIBRARIES(${this_target} "-lecore" )
73 TARGET_LINK_LIBRARIES(${this_target} "-levas" )
74 TARGET_LINK_LIBRARIES(${this_target} "-lecore_evas" )
75 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-media-image-util" )
76 TARGET_LINK_LIBRARIES(${this_target} "-lturbojpeg" )
77 TARGET_LINK_LIBRARIES(${this_target} "-ltiff" )
78 TARGET_LINK_LIBRARIES(${this_target} "-lexif" )
79
80 SET_TARGET_PROPERTIES(${this_target} 
81         PROPERTIES 
82         VERSION ${FULLVER}
83         SOVERSION ${MAJORVER}
84         CLEAN_DIRECT_OUTPUT 1
85         )
86
87 ADD_CUSTOM_COMMAND(TARGET ${this_target}
88         POST_BUILD
89                 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} 
90                 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}
91                 COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
92     COMMENT "strip ${this_target}"
93                 )   
94
95 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp
96                 FILES_MATCHING PATTERN "*.so*" 
97                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                      
98                                         GROUP_EXECUTE GROUP_READ
99                                         WORLD_EXECUTE WORLD_READ)
100 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/debug/ DESTINATION lib/osp/debug 
101                 FILES_MATCHING PATTERN "*"
102                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
103                                         GROUP_EXECUTE GROUP_READ
104                                         WORLD_EXECUTE WORLD_READ)
105
106 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/inc/ DESTINATION include/osp FILES_MATCHING PATTERN "*.h")
107 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/src/inc/ DESTINATION include/osp/media FILES_MATCHING PATTERN "*.h")
108
109 # pkgconfig file
110 CONFIGURE_FILE(${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
111 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${this_target}.pc DESTINATION lib/pkgconfig)