1 include_directories( . )
3 add_definitions(-Dasm=__asm__ -D_INTL_REDIRECT_MACROS)
4 add_definitions(-DLOCALEDIR=\\"${CMAKE_INSTALL_PREFIX}/locale\\")
5 add_definitions(-DPLUGIN_PATH=\\"${CMAKE_INSTALL_PREFIX}/lib/vlc\\")
8 add_executable(vlc vlc.c)
9 target_link_libraries(vlc libvlc)
11 install_targets(/bin vlc)
15 set( SOURCES_libvlc_beos misc/beos_specific.cpp )
16 set( SOURCES_libvlc_darwin misc/darwin_specific.c )
17 set( SOURCES_libvlc_win32 misc/win32_specific.c )
18 set( SOURCES_libvlc_dirent extras/dirent.c )
19 set( SOURCES_libvlc_getopt misc/getopt.c misc/getopt.h misc/getopt1.c )
20 set( SOURCES_libvlc_common
27 interface/intf_eject.c
28 interface/interaction.c
29 playlist/playlist_internal.h
38 playlist/services_discovery.c
44 input/decoder_synchro.c
49 input/input_internal.h
55 video_output/video_output.c
56 video_output/vout_pictures.c
57 video_output/vout_pictures.h
58 video_output/video_text.c
59 video_output/video_widgets.c
60 video_output/vout_subpictures.c
61 video_output/vout_intf.c
62 audio_output/aout_internal.h
65 audio_output/filters.c
70 stream_output/stream_output.c
71 stream_output/stream_output.h
72 stream_output/announce.c
73 stream_output/profiles.c
99 ${CMAKE_BINARY_DIR}/src/modules/builtin.h
108 config/configuration.h
121 ${CMAKE_BINARY_DIR}/src/misc/revision.c
126 ${CMAKE_BINARY_DIR}/include/vlc_about.h )
128 set( SOURCES_libvlc ${SOURCES_libvlc_common} )
131 set( SOURCES_libvlc ${SOURCES_libvlc} ${SOURCES_libvlc_darwin} )
134 add_library(libvlc SHARED ${SOURCES_libvlc})
135 install_targets(/lib libvlc)
137 set_target_properties(libvlc PROPERTIES OUTPUT_NAME vlc)
138 set_target_properties(libvlc PROPERTIES SOVERSION 1)
139 set_target_properties(libvlc PROPERTIES VERSION 1.0.0)
141 target_link_libraries(libvlc ${LIBM})
142 target_link_libraries(libvlc ${LIBRT})
143 target_link_libraries(libvlc ${LIBICONV})
144 target_link_libraries(libvlc ${Dlopen_LIBRARIES})
148 set( SOURCES_libvlc_control
149 control/libvlc_internal.h
156 control/dynamic_media_list.c
158 control/flat_media_list_view.c
159 control/hierarchical_media_list_view.c
160 control/hierarchical_node_media_list_view.c
161 control/media_descriptor.c
162 control/media_instance.c
164 control/media_list_path.h
165 control/media_list_player.c
166 control/media_list_view.c
167 control/media_library.c
168 control/mediacontrol_internal.h
169 control/mediacontrol_core.c
170 control/mediacontrol_util.c
171 control/mediacontrol_audio_video.c
172 control/media_discoverer.c
173 control/tag_query.c )
175 add_library(libvlc-control SHARED ${SOURCES_libvlc_control})
176 install_targets(/lib libvlc-control)
178 set_target_properties(libvlc-control PROPERTIES OUTPUT_NAME vlc-control)
179 set_target_properties(libvlc-control PROPERTIES SOVERSION 0)
180 set_target_properties(libvlc PROPERTIES VERSION 0.0.0)
182 target_link_libraries(libvlc-control libvlc)
184 ##########################################################
189 find_library(CARBON_FRAMEWORK Carbon)
190 target_link_libraries(libvlc ${CARBON_FRAMEWORK})
193 ##########################################################
196 set(rev "${CMAKE_BINARY_DIR}/src/misc/revision.c")
199 COMMAND rm -f ${rev} ${rev}.tmp
200 COMMAND mkdir -p `dirname ${rev}`
201 COMMAND echo "/* AUTOGENERATED FILE - DO NOT EDIT */" > ${rev}.tmp
202 COMMAND printf "const char psz_vlc_changeset[] = \"" >> ${rev}.tmp
203 COMMAND sh -c "printf `LANG=C svnversion ${CMAKE_SOURCE_DIR} || printf \"exported\"`" >> ${rev}.tmp
204 COMMAND echo "\";" >> ${rev}.tmp
205 COMMAND mv -f ${rev}.tmp ${rev}
210 ##########################################################
212 # No real use for this one, we just used to need it.
213 # We should really remove that.
214 set(builtin "${CMAKE_BINARY_DIR}/src/modules/builtin.h")
218 COMMAND mkdir -p `dirname ${builtin}`
219 COMMAND echo "/* Auto generated by ${CMAKE_CURRENT_BUILD_DIR}/CMakeLists.txt */" > ${builtin}
220 COMMAND echo "int vlc_entry__main( module_t* );" >> ${builtin}
221 COMMAND echo "#define ALLOCATE_ALL_BUILTINS() do {} while(0)" >> ${builtin}
226 ##########################################################
228 set(about "${CMAKE_BINARY_DIR}/include/vlc_about.h")
232 COMMAND rm -f "${about}.tmp"
233 COMMAND mkdir -p `dirname ${about}`
234 COMMAND echo "/* Automatically generated file - DO NOT EDIT */" > "${about}.tmp"
235 COMMAND echo "static const char psz_license[] =" >> "${about}.tmp"
236 COMMAND cat ${CMAKE_SOURCE_DIR}/COPYING | sed s/\"/''/g | awk "{ print \"\\\"\"$0\"\\\\n\\\"\" }" >> "${about}.tmp"
237 COMMAND echo ";" >> "${about}.tmp"
238 COMMAND echo "static const char psz_thanks[] =" >> "${about}.tmp"
239 COMMAND grep -v '$$Id:' ${CMAKE_SOURCE_DIR}/THANKS | sed "s/\"/''/g" | awk "{ print \"\\\"\"$0\"\\\\n\\\"\" }"|sed "s/\"<.*.> \"//" >> "${about}.tmp"
240 COMMAND echo ";" >> "${about}.tmp"
241 COMMAND echo "static const char psz_authors[] =" >> "${about}.tmp"
242 COMMAND grep N: ${CMAKE_SOURCE_DIR}/AUTHORS | cut -d "\ " -f 2- | sed "s/\"/''/g" | awk "{ print \"\\\"\"$0\"\\\\n\\\"\" }" >> "${about}.tmp"
243 COMMAND echo ";" >> "${about}.tmp"
244 COMMAND mv -f -- "${about}.tmp" "${about}"
245 DEPENDS ${CMAKE_SOURCE_DIR}/AUTHORS ${CMAKE_SOURCE_DIR}/THANKS ${CMAKE_SOURCE_DIR}/COPYING
251 ##########################################################
252 # SET_TARGET_PROPERTIES
254 # FIXME: Should probably be autodetected in configure?
256 set(LINK_FLAGS "-z defs --as-needed")
259 set_target_properties(libvlc libvlc-control PROPERTIES LINK_FLAGS "${LINK_FLAGS} ${CMAKE_THREAD_LIBS_INIT}")
260 set_target_properties(libvlc libvlc-control vlc PROPERTIES COMPILE_FLAGS
261 "-Wall -Wextra -Wsign-compare -Wundef -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wmissing-prototypes -I${CMAKE_BINARY_DIR}/src -I${CMAKE_BINARY_DIR}/include" )
263 ##########################################################
266 add_executable(testapi control/testapi.c)
267 add_executable(i18n_atof test/i18n_atof.c)
268 add_executable(url test/url.c)
269 add_executable(utf8 test/utf8.c)
271 target_link_libraries(testapi libvlc-control)
272 target_link_libraries(i18n_atof libvlc)
273 target_link_libraries(url libvlc)
274 target_link_libraries(utf8 libvlc)
276 add_test(testapi ${EXECUTABLE_OUTPUT_PATH}/testapi)
277 add_test(i18n_atof ${EXECUTABLE_OUTPUT_PATH}/i18n_atof)
278 add_test(url ${EXECUTABLE_OUTPUT_PATH}/url)
279 add_test(utf8 ${EXECUTABLE_OUTPUT_PATH}/utf8)