Fixed to remove build warning message
[framework/osp/media.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET(CMAKE_INSTALL_PREFIX /usr)
4 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
5
6 SET (this_target osp-media)
7
8 SET(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/cmake_build_tmp/output)
9
10 INCLUDE_DIRECTORIES(
11         inc
12         src
13         src/inc
14         /usr/include
15         /usr/include/curl
16         /usr/include/glib-2.0 
17         /usr/lib/glib-2.0/include
18         /usr/include/libxml2
19         /usr/include/media
20         /usr/include/osp
21         /usr/include/osp/app
22         /usr/include/osp/base   
23         /usr/include/osp/io
24         /usr/include/osp/graphics
25         /usr/include/osp/media
26         /usr/include/osp/net
27         /usr/include/osp/security
28         /usr/include/osp/system
29         /usr/include/osp/ui
30         /usr/include/opencore-amrnb
31         /usr/include/ogg
32         /usr/include/system
33         /usr/lib/dbus-1.0/include
34         /usr/include/e_dbus-1
35         /usr/include/elementary-1
36         /usr/include/efreet-1
37         /usr/include/ecore-1
38         /usr/include/edje-1
39         /usr/include/evas-1
40         /usr/include/eet-1
41         /usr/include/eina-1
42         /usr/include/eina-1/eina
43         /usr/include/ethumb-1
44         )
45
46 SET (${this_target}_SOURCE_FILES
47         src/FMediaAudioIn.cpp
48         src/FMedia_AudioInEvent.cpp
49         src/FMedia_AudioInEventArg.cpp
50         src/FMedia_AudioInImpl.cpp
51         src/FMediaAudioOut.cpp
52         src/FMedia_AudioOutImpl.cpp
53         src/FMedia_AudioOutEvent.cpp
54         src/FMedia_AudioOutEventArg.cpp
55         src/FMediaTonePlayer.cpp
56         src/FMediaTone.cpp
57         src/FMedia_TonePlayerImpl.cpp
58         src/FMedia_ToneGenerator.cpp
59         src/FMedia_TonePlayerEvent.cpp
60         src/FMedia_TonePlayerEventArg.cpp
61         src/FMedia_CodecFactory.cpp
62         src/FMedia_H264Decoder.cpp
63         src/FMedia_H263Decoder.cpp
64         src/FMedia_Mpeg4Decoder.cpp
65         src/FMedia_VideoDecoderImpl.cpp
66         src/FMedia_H263Encoder.cpp
67         src/FMedia_Mpeg4Encoder.cpp
68         src/FMedia_VideoEncoderImpl.cpp
69         src/FMedia_BitWriter.cpp
70         src/FMedia_AacDecoder.cpp
71         src/FMedia_AacEncoder.cpp
72         src/FMedia_Mp3Decoder.cpp
73         src/FMedia_AmrDecoder.cpp
74         src/FMedia_VorbisDecoder.cpp
75         src/FMedia_G711Decoder.cpp
76         src/FMedia_AmrEncoder.cpp
77         src/FMedia_AudioDecoderImpl.cpp
78         src/FMedia_AudioEncoderImpl.cpp
79         src/FMediaAudioDecoder.cpp
80         src/FMediaAudioEncoder.cpp
81         src/FMediaVideoDecoder.cpp
82         src/FMediaVideoEncoder.cpp
83         src/FMediaCapability.cpp
84         src/FMedia_CapabilityImpl.cpp
85         src/FMedia_CapabilityCommon.cpp
86         src/FMedia_CameraRefHelper.cpp
87         src/FMedia_CameraCapability.cpp
88         src/FMedia_CameraCoordinator.cpp
89         src/FMediaCamera.cpp
90         src/FMedia_CameraImpl.cpp
91         src/FMedia_CameraEvent.cpp
92         src/FMedia_CameraEventArg.cpp
93         src/FMedia_CameraUtil.cpp
94         src/FMedia_CameraManager.cpp
95         src/FMedia_CameraCapabilitySession.cpp
96         src/FMedia_CameraBuffer.cpp
97         src/FMedia_CamRef.cpp
98         src/FMedia_CameraRef.cpp
99         src/FMedia_RecorderRef.cpp
100         src/FMediaAudioRecorder.cpp
101         src/FMedia_AudioRecorderImpl.cpp
102         src/FMedia_AudioRecorderEvent.cpp
103         src/FMedia_FfmpegUtil.cpp
104         src/FMedia_RecorderEventArg.cpp
105         src/FMedia_RecorderCapability.cpp
106         src/FMedia_RecorderUtil.cpp
107         src/FMediaVideoRecorder.cpp
108         src/FMedia_VideoRecorderImpl.cpp
109         src/FMedia_VideoRecorderEvent.cpp
110         src/FMedia_VideoSourceAdapter.cpp
111         src/FMedia_RecorderManager.cpp
112         src/FMedia_RecorderSession.cpp
113         src/FMediaPlayer.cpp
114         src/FMedia_PlayerImpl.cpp
115         src/FMedia_PlayerEvent.cpp
116         src/FMedia_PlayerEventArg.cpp
117         src/FMedia_PlayerVideoEvent.cpp
118         src/FMedia_PlayerVideoEventArg.cpp
119         src/FMedia_PlayerProgressiveDownloadEvent.cpp
120         src/FMedia_PlayerProgressiveDownloadEventArg.cpp
121         src/FMediaAudioStreamInfo.cpp
122         src/FMediaVideoStreamInfo.cpp
123         src/FMediaMediaStreamInfo.cpp
124         src/FMedia_AudioStreamInfoImpl.cpp
125         src/FMedia_VideoStreamInfoImpl.cpp
126         src/FMedia_MediaStreamInfoImpl.cpp
127         src/FMediaAudioRouteInfo.cpp
128         src/FMedia_AudioRouteInfoImpl.cpp
129         src/FMediaAudioRouteManager.cpp
130         src/FMedia_AudioRouteManagerImpl.cpp
131         src/FMedia_AudioRouteEvent.cpp
132         src/FMedia_AudioRouteEventArg.cpp
133         src/FMedia_AudioManagerConvert.cpp
134         src/FMediaAudioEqualizer.cpp
135         src/FMedia_AudioEqualizerImpl.cpp
136         src/FMediaVideoFrameExtractor.cpp
137         src/FMedia_VideoFrameExtractorImpl.cpp
138         src/FMediaAudioFrame.cpp
139         src/FMedia_AudioFrameImpl.cpp
140         src/FMedia_AudioStreamCoordinator.cpp
141         src/FMediaVideoFrame.cpp
142         src/FMedia_VideoFrameImpl.cpp
143         src/FMedia_VideoStreamCoordinator.cpp
144 )
145
146 ## Definitions
147 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -Wall" )
148
149 ## SET C COMPILER FLAGS
150 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
151
152 ## SET CPP COMPILER FLAGS
153 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
154 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
155
156 ## Create Library
157 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
158
159 ## SET LINKER FLAGS
160 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed")
161
162 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw" )
163 TARGET_LINK_LIBRARIES(${this_target} "-losp-image-core" )
164 TARGET_LINK_LIBRARIES(${this_target} "-losp-uifw" )
165 TARGET_LINK_LIBRARIES(${this_target} "-losp-image" )
166 TARGET_LINK_LIBRARIES(${this_target} "-losp-net" )
167 TARGET_LINK_LIBRARIES(${this_target} "-lglib-2.0" )
168 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-media-audio-io")
169 TARGET_LINK_LIBRARIES(${this_target} "-lxml2" )
170 TARGET_LINK_LIBRARIES(${this_target} "-lexif" )
171 TARGET_LINK_LIBRARIES(${this_target} "-lswscale" )
172 TARGET_LINK_LIBRARIES(${this_target} "-lavcodec" )
173 TARGET_LINK_LIBRARIES(${this_target} "-lavutil" )
174 TARGET_LINK_LIBRARIES(${this_target} "-lvorbis" )
175 TARGET_LINK_LIBRARIES(${this_target} "-logg" )
176 TARGET_LINK_LIBRARIES(${this_target} "-lpthread" )
177 TARGET_LINK_LIBRARIES(${this_target} "-lopencore-amrnb" )
178 TARGET_LINK_LIBRARIES(${this_target} "-lmmffile" )
179 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-media-player")
180 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-media-sound-manager")
181 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-media-camera" )
182 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-media-recorder" )
183 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-media-metadata-extractor")
184 TARGET_LINK_LIBRARIES(${this_target} "-levas")
185
186 SET_TARGET_PROPERTIES(${this_target} 
187         PROPERTIES 
188         VERSION ${FULLVER}
189         SOVERSION ${MAJORVER}
190         CLEAN_DIRECT_OUTPUT 1
191         )
192
193 ADD_CUSTOM_COMMAND(TARGET ${this_target}
194     POST_BUILD
195                 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} 
196                 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}
197                 COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
198     COMMENT "strip ${this_target}"
199                 )   
200
201 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp
202                 FILES_MATCHING PATTERN "*.so*" 
203                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                      
204                     GROUP_EXECUTE GROUP_READ
205                     WORLD_EXECUTE WORLD_READ)
206 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/debug/ DESTINATION lib/osp/debug 
207                 FILES_MATCHING PATTERN "*"
208                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
209                                         GROUP_EXECUTE GROUP_READ
210                                         WORLD_EXECUTE WORLD_READ)
211
212 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/inc/ DESTINATION include/osp FILES_MATCHING PATTERN "*.h")
213 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/src/inc/ DESTINATION include/osp/media FILES_MATCHING PATTERN "*.h")
214
215 SET(PC_NAME ${this_target})
216 SET(PC_REQUIRED ${pc_requires})
217 SET(PC_LDFLAGS -l${this_target})
218
219 # pkgconfig file
220 CONFIGURE_FILE(${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
221 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${this_target}.pc DESTINATION lib/pkgconfig)