2 add_definitions(-Dasm=__asm__ -D_INTL_REDIRECT_MACROS)
3 add_definitions(-DLOCALEDIR=\\"${CMAKE_INSTALL_PREFIX}/locale\\")
4 add_definitions(-DPLUGIN_PATH=\\"${CMAKE_INSTALL_PREFIX}/lib/vlc\\")
5 add_definitions(-DDATA_PATH=\\"${CMAKE_INSTALL_PREFIX}/share/vlc\\")
8 add_executable(vlc vlc.c)
9 target_link_libraries(vlc libvlc)
13 set( SOURCES_libvlc_beos misc/beos_specific.cpp )
14 set( SOURCES_libvlc_darwin misc/darwin_specific.c )
15 set( SOURCES_libvlc_win32 misc/win32_specific.c )
16 set( SOURCES_libvlc_dirent extras/dirent.c )
17 set( SOURCES_libvlc_getopt misc/getopt.c misc/getopt.h misc/getopt1.c )
18 set( SOURCES_libvlc_common
24 interface/intf_eject.c
25 interface/interaction.c
26 playlist/playlist_internal.h
35 playlist/services_discovery.c
41 input/decoder_synchro.c
46 input/input_internal.h
52 video_output/video_output.c
53 video_output/vout_pictures.c
54 video_output/vout_pictures.h
55 video_output/video_text.c
56 video_output/video_widgets.c
57 video_output/vout_subpictures.c
58 video_output/vout_intf.c
59 audio_output/aout_internal.h
62 audio_output/filters.c
67 stream_output/stream_output.c
68 stream_output/stream_output.h
69 stream_output/announce.c
70 stream_output/profiles.c
96 ${CMAKE_BINARY_DIR}/src/modules/builtin.h
105 config/configuration.h
119 ${CMAKE_BINARY_DIR}/src/misc/revision.c
124 ${CMAKE_BINARY_DIR}/include/vlc_about.h )
126 set( SOURCES_libvlc ${SOURCES_libvlc_common} )
129 set( SOURCES_libvlc ${SOURCES_libvlc} ${SOURCES_libvlc_darwin} )
132 add_library(libvlc SHARED ${SOURCES_libvlc})
134 set_target_properties(libvlc PROPERTIES
136 SOVERSION 1 VERSION 1.0.0)
139 target_link_libraries(libvlc ${LIBM} ${LIBRT} ${LIBICONV} ${Dlopen_LIBRARIES} "-lgcrypt")
141 target_link_libraries(libvlc ${LIBM} ${LIBRT} ${LIBICONV} ${Dlopen_LIBRARIES})
145 set( SOURCES_libvlc_control
146 control/libvlc_internal.h
154 control/flat_media_list_view.c
155 control/hierarchical_media_list_view.c
156 control/hierarchical_node_media_list_view.c
157 control/media_descriptor.c
158 control/media_instance.c
160 control/media_list_path.h
161 control/media_list_player.c
162 control/media_list_view.c
163 control/media_library.c
164 control/mediacontrol_internal.h
165 control/mediacontrol_core.c
166 control/mediacontrol_util.c
167 control/mediacontrol_audio_video.c
168 control/media_discoverer.c )
170 add_library(libvlc-control SHARED ${SOURCES_libvlc_control})
172 set_target_properties(libvlc-control PROPERTIES OUTPUT_NAME vlc-control)
173 set_target_properties(libvlc-control PROPERTIES SOVERSION 0)
174 set_target_properties(libvlc PROPERTIES VERSION 0.0.0)
176 target_link_libraries(libvlc-control libvlc)
178 ##########################################################
181 install(TARGETS libvlc libvlc-control DESTINATION lib)
182 install(TARGETS vlc DESTINATION bin)
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")
197 exec_program(dirname ARGS ${rev} OUTPUT_VARIABLE rev_dir)
201 COMMAND rm -f ${rev} ${rev}.tmp
202 COMMAND mkdir -p ${rev_dir}
203 COMMAND sh -c "echo '/* AUTOGENERATED FILE - DO NOT EDIT */' > ${rev}.tmp"
204 COMMAND sh -c "printf 'const char psz_vlc_changeset[] = \"' >> ${rev}.tmp"
205 COMMAND sh -c "printf `LANG=C svnversion ${CMAKE_SOURCE_DIR} || printf \"exported\"` >> ${rev}.tmp"
206 COMMAND sh -c "echo '\";' >> ${rev}.tmp"
207 COMMAND mv -f ${rev}.tmp ${rev}
212 ##########################################################
214 # No real use for this one, we just used to need it.
215 # We should really remove that.
216 set(builtin "${CMAKE_BINARY_DIR}/src/modules/builtin.h")
217 exec_program(dirname ARGS ${builtin} OUTPUT_VARIABLE builtin_dir)
221 COMMAND mkdir -p ${builtin_dir}
222 COMMAND sh -c "echo '/* Auto generated by ${CMAKE_CURRENT_BUILD_DIR}/CMakeLists.txt */' > ${builtin}"
223 COMMAND sh -c "echo 'int vlc_entry__main( module_t* );' >> ${builtin}"
224 COMMAND sh -c "echo '#define ALLOCATE_ALL_BUILTINS() do {} while(0)' >> ${builtin}"
229 ##########################################################
231 set(about "${CMAKE_BINARY_DIR}/include/vlc_about.h")
232 exec_program(dirname ARGS ${about} OUTPUT_VARIABLE about_dir)
236 COMMAND rm -f "${about}.tmp"
237 COMMAND mkdir -p ${about_dir}
238 COMMAND sh -c "echo '/* Automatically generated file - DO NOT EDIT */' > ${about}.tmp"
239 COMMAND sh -c "echo 'static const char psz_license[] =' >> ${about}.tmp"
240 COMMAND sh -c "cat ${CMAKE_SOURCE_DIR}/COPYING | sed s/\\\"/''/g | awk '{ print \"\\\"\"$0\"\\\\n\\\"\" }' >> ${about}.tmp"
241 COMMAND sh -c "echo ';' >> ${about}.tmp"
242 COMMAND sh -c "echo 'static const char psz_thanks[] =' >> ${about}.tmp"
243 COMMAND sh -c "grep -v '$$Id:' ${CMAKE_SOURCE_DIR}/THANKS | sed 's/\"/''/g' | awk '{ print \"\\\"\"$0\"\\\\n\\\"\" }'|sed 's/\"<.*.> \"//' >> ${about}.tmp"
244 COMMAND sh -c "echo ';' >> ${about}.tmp"
245 COMMAND sh -c "echo 'static const char psz_authors[] =' >> ${about}.tmp"
246 COMMAND sh -c "grep N: ${CMAKE_SOURCE_DIR}/AUTHORS | cut -d '\ ' -f 2- | sed 's/\"/''/g' | awk '{ print \"\\\"\"$0\"\\\\n\\\"\" }' >> ${about}.tmp"
247 COMMAND sh -c "echo ';' >> ${about}.tmp"
248 COMMAND sh -c "mv -f -- ${about}.tmp ${about}"
249 DEPENDS ${CMAKE_SOURCE_DIR}/AUTHORS ${CMAKE_SOURCE_DIR}/THANKS ${CMAKE_SOURCE_DIR}/COPYING
255 ##########################################################
256 # SET_TARGET_PROPERTIES
258 # FIXME: Should probably be autodetected in configure?
260 set(LINK_FLAGS "-z defs --as-needed")
263 target_link_libraries(libvlc "${CMAKE_THREAD_LIBS_INIT}")
264 target_link_libraries(libvlc-control "${CMAKE_THREAD_LIBS_INIT}")
266 set_target_properties(libvlc libvlc-control vlc PROPERTIES COMPILE_FLAGS
267 "-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" )
269 ##########################################################
272 add_executable(test_testapi control/testapi.c)
273 add_executable(test_i18n_atof test/i18n_atof.c)
274 add_executable(test_url test/url.c)
275 add_executable(test_utf8 test/utf8.c)
276 add_executable(test_dictionary test/dictionary.c)
278 target_link_libraries(test_testapi libvlc-control)
279 target_link_libraries(test_i18n_atof libvlc)
280 target_link_libraries(test_url libvlc)
281 target_link_libraries(test_utf8 libvlc)
282 target_link_libraries(test_dictionary libvlc)
284 add_test(test_control ${CMAKE_CURRENT_BINARY_DIR}/test_testapi)
285 add_test(test_i18n_atof ${CMAKE_CURRENT_BINARY_DIR}/test_i18n_atof)
286 add_test(test_url ${CMAKE_CURRENT_BINARY_DIR}/test_url)
287 add_test(test_utf8 ${CMAKE_CURRENT_BINARY_DIR}/test_utf8)
288 add_test(test_dictionary ${CMAKE_CURRENT_BINARY_DIR}/test_dictionary)