2 add_definitions(-Dasm=__asm__ -D_INTL_REDIRECT_MACROS)
3 add_definitions(-DLOCALEDIR="${CMAKE_INSTALL_PREFIX}/locale")
4 add_definitions(-DSYSCONFDIR="${CMAKE_INSTALL_PREFIX}/etc")
5 add_definitions(-DPLUGIN_PATH="${CMAKE_INSTALL_PREFIX}/lib/vlc")
6 add_definitions(-DDATA_PATH="${CMAKE_INSTALL_PREFIX}/share/vlc")
10 add_executable(vlc winvlc.c)
12 add_executable(vlc vlc.c)
14 target_link_libraries(vlc libvlccore libvlc)
18 set( SOURCES_libvlccore_beos misc/beos_specific.cpp )
19 set( SOURCES_libvlccore_darwin misc/darwin_specific.c )
20 set( SOURCES_libvlccore_win32 misc/win32_specific.c )
21 set( SOURCES_libvlccore_linux misc/linux_specific.c )
22 set( SOURCES_libvlccore_other misc/not_specific.c )
23 set( SOURCES_libvlccore_dirent extras/dirent.c )
24 set( SOURCES_libvlccore_getopt misc/getopt.c misc/getopt.h misc/getopt1.c )
25 set( SOURCES_libvlccore_common
30 interface/intf_eject.c
31 interface/interaction.c
32 playlist/playlist_internal.h
41 playlist/services_discovery.c
47 input/decoder_synchro.c
52 input/input_internal.h
58 video_output/video_output.c
59 video_output/vout_pictures.c
60 video_output/vout_pictures.h
61 video_output/video_text.c
62 video_output/video_widgets.c
63 video_output/vout_subpictures.c
64 video_output/vout_intf.c
65 audio_output/aout_internal.h
68 audio_output/filters.c
73 stream_output/stream_output.c
74 stream_output/stream_output.h
75 stream_output/announce.c
76 stream_output/profiles.c
102 ${CMAKE_BINARY_DIR}/src/modules/builtin.h
111 config/configuration.h
128 ${CMAKE_BINARY_DIR}/src/misc/revision.c
135 ${CMAKE_BINARY_DIR}/include/vlc_about.h )
137 set( SOURCES_libvlccore ${SOURCES_libvlccore_common} )
140 set( SOURCES_libvlccore ${SOURCES_libvlccore} ${SOURCES_libvlccore_darwin} )
142 set( SOURCES_libvlccore ${SOURCES_libvlccore} ${SOURCES_libvlccore_beos} )
144 set( SOURCES_libvlccore ${SOURCES_libvlccore} ${SOURCES_libvlccore_win32} )
146 set( SOURCES_libvlccore ${SOURCES_libvlccore} ${SOURCES_libvlccore_linux} )
148 set( SOURCES_libvlccore ${SOURCES_libvlccore} ${SOURCES_libvlccore_other} )
152 add_library(libvlccore SHARED ${SOURCES_libvlccore})
154 set_target_properties(libvlccore PROPERTIES
156 SOVERSION 0 VERSION 0.0.0)
159 target_link_libraries(libvlccore ${LIBM} ${LIBRT} ${LIBICONV} ${Dlopen_LIBRARIES} "-lgcrypt")
161 target_link_libraries(libvlccore ${LIBM} ${LIBRT} ${LIBICONV} ${Dlopen_LIBRARIES})
166 control/libvlc_internal.h
174 control/flat_media_list_view.c
175 control/hierarchical_media_list_view.c
176 control/hierarchical_node_media_list_view.c
178 control/media_player.c
180 control/media_list_path.h
181 control/media_list_player.c
182 control/media_list_view.c
183 control/media_library.c
184 control/mediacontrol_internal.h
185 control/mediacontrol_core.c
186 control/mediacontrol_util.c
187 control/mediacontrol_audio_video.c
188 control/media_discoverer.c )
190 add_library(libvlc SHARED ${SOURCES_libvlc})
192 set_target_properties(libvlc PROPERTIES OUTPUT_NAME vlc)
193 set_target_properties(libvlc PROPERTIES SOVERSION 2)
194 set_target_properties(libvlccore PROPERTIES VERSION 0.0.0)
196 set_source_files_properties(${SOURCES_libvlc} PROPERTIES COMPILE_FLAGS -DMODULE_STRING=\\"control\\")
197 set_source_files_properties(${SOURCES_libvlccore} PROPERTIES COMPILE_FLAGS -DMODULE_STRING=\\"main\\")
199 target_link_libraries(libvlc libvlccore)
201 ##########################################################
204 install(TARGETS libvlccore libvlc DESTINATION lib)
205 install(TARGETS vlc DESTINATION bin)
207 ##########################################################
212 find_library(CARBON_FRAMEWORK Carbon)
213 target_link_libraries(libvlccore ${CARBON_FRAMEWORK})
216 ##########################################################
219 set(rev "${CMAKE_BINARY_DIR}/src/misc/revision.c")
220 exec_program(dirname ARGS ${rev} OUTPUT_VARIABLE rev_dir)
224 COMMAND rm -f ${rev} ${rev}.tmp
225 COMMAND mkdir -p ${rev_dir}
226 COMMAND sh -c "echo '/* AUTOGENERATED FILE - DO NOT EDIT */' > ${rev}.tmp"
227 COMMAND sh -c "printf 'const char psz_vlc_changeset[] = \"' >> ${rev}.tmp"
228 COMMAND sh -c "printf `LANG=C git --git-dir=${CMAKE_SOURCE_DIR}/.git show-ref -s HEAD 2>/dev/null || printf exported` >> ${rev}.tmp"
229 COMMAND sh -c "echo '\";' >> ${rev}.tmp"
230 COMMAND mv -f ${rev}.tmp ${rev}
235 ##########################################################
237 # No real use for this one, we just used to need it.
238 # We should really remove that.
239 set(builtin "${CMAKE_BINARY_DIR}/src/modules/builtin.h")
240 exec_program(dirname ARGS ${builtin} OUTPUT_VARIABLE builtin_dir)
244 COMMAND mkdir -p ${builtin_dir}
245 COMMAND sh -c "echo '/* Auto generated by ${CMAKE_CURRENT_BUILD_DIR}/CMakeLists.txt */' > ${builtin}"
246 COMMAND sh -c "echo 'int vlc_entry__main( module_t* );' >> ${builtin}"
247 COMMAND sh -c "echo '#define ALLOCATE_ALL_BUILTINS() do {} while(0)' >> ${builtin}"
252 ##########################################################
254 set(about "${CMAKE_BINARY_DIR}/include/vlc_about.h")
255 exec_program(dirname ARGS ${about} OUTPUT_VARIABLE about_dir)
259 COMMAND rm -f "${about}.tmp"
260 COMMAND mkdir -p ${about_dir}
261 COMMAND sh -c "echo '/* Automatically generated file - DO NOT EDIT */' > ${about}.tmp"
262 COMMAND sh -c "echo 'static const char psz_license[] =' >> ${about}.tmp"
263 COMMAND sh -c "cat ${CMAKE_SOURCE_DIR}/COPYING | sed s/\\\"/''/g | awk '{ print \"\\\"\"$0\"\\\\n\\\"\" }' >> ${about}.tmp"
264 COMMAND sh -c "echo ';' >> ${about}.tmp"
265 COMMAND sh -c "echo 'static const char psz_thanks[] =' >> ${about}.tmp"
266 COMMAND sh -c "grep -v '$$Id:' ${CMAKE_SOURCE_DIR}/THANKS | sed 's/\"/''/g' | awk '{ print \"\\\"\"$0\"\\\\n\\\"\" }'|sed 's/\"<.*.> \"//' >> ${about}.tmp"
267 COMMAND sh -c "echo ';' >> ${about}.tmp"
268 COMMAND sh -c "echo 'static const char psz_authors[] =' >> ${about}.tmp"
269 COMMAND sh -c "grep N: ${CMAKE_SOURCE_DIR}/AUTHORS | cut -d '\ ' -f 2- | sed 's/\"/''/g' | awk '{ print \"\\\"\"$0\"\\\\n\\\"\" }' >> ${about}.tmp"
270 COMMAND sh -c "echo ';' >> ${about}.tmp"
271 COMMAND sh -c "mv -f -- ${about}.tmp ${about}"
272 DEPENDS ${CMAKE_SOURCE_DIR}/AUTHORS ${CMAKE_SOURCE_DIR}/THANKS ${CMAKE_SOURCE_DIR}/COPYING
278 ##########################################################
279 # SET_TARGET_PROPERTIES
281 # FIXME: Should probably be autodetected in configure?
282 # FIXME: This breaks on FreeBSD also
284 # set(LINK_FLAGS "-z defs --as-needed")
287 target_link_libraries(libvlccore "${CMAKE_THREAD_LIBS_INIT}")
288 target_link_libraries(libvlc "${CMAKE_THREAD_LIBS_INIT}")
290 set_target_properties(libvlccore libvlc vlc PROPERTIES COMPILE_FLAGS
291 "-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" )
293 ##########################################################
296 add_executable(test_i18n_atof test/i18n_atof.c)
297 add_executable(test_url test/url.c)
298 add_executable(test_utf8 test/utf8.c)
299 add_executable(test_dictionary test/dictionary.c)
301 target_link_libraries(test_i18n_atof libvlccore)
302 target_link_libraries(test_url libvlccore)
303 target_link_libraries(test_utf8 libvlccore)
304 target_link_libraries(test_dictionary libvlccore)
306 add_test(test_i18n_atof ${CMAKE_CURRENT_BINARY_DIR}/test_i18n_atof)
307 add_test(test_url ${CMAKE_CURRENT_BINARY_DIR}/test_url)
308 add_test(test_utf8 ${CMAKE_CURRENT_BINARY_DIR}/test_utf8)
309 add_test(test_dictionary ${CMAKE_CURRENT_BINARY_DIR}/test_dictionary)