OPTION( UPDATE_CHECK "Enable automatic new version checking" OFF )
OPTION( ENABLE_NO_SYMBOL_CHECK "Don't check symbols of modules against libvlc. (Enabling this option speeds up compilation)" OFF )
OPTION( ENABLE_CONTRIB "Attempt to use VLC contrib system to get the third-party libraries" ON )
+OPTION( ENABLE_LOADER "Enable the win32 codec loader" OFF )
+OPTION( ENABLE_NLS "Enable translation of the program's messages" ON)
if(ENABLE_CONTRIB)
# Versioning
###########################################################
-set(VLC_VERSION_MAJOR 0)
-set(VLC_VERSION_MINOR 9)
-set(VLC_VERSION_PATCH 0)
+set(VLC_VERSION_MAJOR "0")
+set(VLC_VERSION_MINOR "9")
+set(VLC_VERSION_PATCH "0")
set(VLC_VERSION_EXTRA "-svn")
set(VLC_VERSION ${VLC_VERSION_MAJOR}.${VLC_VERSION_MINOR}.${VLC_VERSION_PATCH}${VLC_VERSION_EXTRA})
set(PACKAGE "vlc")
+set(PACKAGE_NAME "vlc") #for gettext
set(PACKAGE_VERSION "${VLC_VERSION}")
set(PACKAGE_STRING "vlc")
set(VERSION_MESSAGE "vlc-${VLC_VERSION}")
set( HAVE_DYNAMIC_PLUGINS ${ENABLE_DYNAMIC_PLUGINS})
set( LIBEXT ${CMAKE_SHARED_MODULE_SUFFIX})
+check_c_source_compiles(
+ "struct __attribute__((__packed__)) foo { int a; } b; int main(){return 0;}"
+ HAVE_ATTRIBUTE_PACKED)
+
###########################################################
# Headers checks
###########################################################
set(CMAKE_REQUIRED_LIBRARIES c)
set(CMAKE_EXTRA_INCLUDE_FILES string.h)
-vlc_check_functions_exist(strcpy strcasecmp)
-vlc_check_functions_exist(strcasestr strdup)
+vlc_check_functions_exist(strcpy strcasecmp strncasecmp)
+vlc_check_functions_exist(strcasestr stristr strdup)
vlc_check_functions_exist(strndup stricmp strnicmp)
vlc_check_functions_exist(atof strtoll atoll lldiv)
vlc_check_functions_exist(strlcpy stristr strnlen strsep)
set(CMAKE_EXTRA_INCLUDE_FILES sys/mman.h)
vlc_check_functions_exist(mmap)
+if(HAVE_MMAP)
+ vlc_enable_modules(access_mmap)
+endif(HAVE_MMAP)
+set(CMAKE_EXTRA_INCLUDE_FILES)
+
+set(CMAKE_EXTRA_INCLUDE_FILES locale.h)
+vlc_check_functions_exist(uselocale)
set(CMAKE_EXTRA_INCLUDE_FILES)
set(CMAKE_REQUIRED_LIBRARIES)
# Modules: Following are all listed in options
###########################################################
-# This module will be enabled but user could disabled it
+# This modules are enabled by default but can still be disabled manually
vlc_enable_modules(dummy logger memcpy)
vlc_enable_modules(mpgv mpga m4v m4a h264 vc1 demux_cdg cdg ps pva avi mp4 rawdv rawvid nsv real aiff mjpeg demuxdump flacsys tta)
vlc_enable_modules(cvdsub svcdsub spudec subsdec subsusf t140 dvbsub cc mpeg_audio lpcm a52 dts cinepak flac)
vlc_enable_modules(packetizer_mpegvideo packetizer_h264)
vlc_enable_modules(packetizer_mpeg4video packetizer_mpeg4audio)
vlc_enable_modules(packetizer_vc1)
-vlc_enable_modules(spatializer)
+vlc_enable_modules(spatializer atmo blendbench croppadd)
vlc_enable_modules(asf)
+vlc_enable_modules(vmem visual growl_udp)
set(enabled ${ENABLE_STREAM_OUT})
vlc_register_modules(${enabled} access_output_dummy access_output_udp access_output_file access_output_http)
set(enabled)
if(NOT WIN32)
- vlc_enable_modules(screensaver)
+ vlc_enable_modules(screensaver signals dynamicoverlay) #motion
endif(NOT WIN32)
# This module is disabled because the CMakeList.txt which
vlc_check_include_files (ffmpeg/avcodec.h libavcodec/avcodec.h)
vlc_check_include_files (ffmpeg/avutil.h libavutil/avutil.h)
vlc_check_include_files (ffmpeg/swscale.h libswscale/swscale.h)
- vlc_check_include_files (postproc/postprocess.h libpostproc/postprocess.h)
+ check_c_source_compiles( "#include <stdint.h>\n#include <postproc/postprocess.h>\nint main(){return 0;}" HAVE_POSTPROC_POSTPROCESS_H )
+ vlc_check_include_files (libpostproc/postprocess.h)
+
+ message( STATUS "avcodec found ${HAVE_FFMPEG_AVCODEC_H} || ${HAVE_LIBAVCODEC_AVCODEC_H}")
+ message( STATUS "avutil found ${HAVE_FFMPEG_AVUTIL_H} || ${HAVE_LIBAVUTIL_AVUTIL_H}")
+ message( STATUS "swscale found ${HAVE_FFMPEG_SWSCALE_H} || ${HAVE_LIBSWSCALE_SWSCALE_H}")
+ message( STATUS "postprocess found ${HAVE_POSTPROC_POSTPROCESS_H} || ${HAVE_LIBPOSTPROC_POSTPROCESS_H}")
vlc_enable_modules(ffmpeg)
vlc_add_module_compile_flag(ffmpeg ${FFmpeg_CFLAGS})
include_directories(${QT_INCLUDES})
vlc_check_include_files (qt.h)
vlc_enable_modules(qt4)
- vlc_add_module_compile_flag(qt4 ${QT_CFLAGS} )
+ #execute_process leaves the trailing newline appended to the variable, unlike exec_program
+ #execute_process( COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=prefix QtCore OUTPUT_VARIABLE QT4LOCALEDIR)
+ exec_program( ${PKG_CONFIG_EXECUTABLE} ARGS --variable=prefix QtCore OUTPUT_VARIABLE QT4LOCALEDIR)
+ set(QT4LOCALEDIR ${QT4LOCALEDIR}/share/qt4/translations )
+ vlc_add_module_compile_flag(qt4 ${QT_CFLAGS})
+ vlc_add_module_compile_flag(qt4 -DQT4LOCALEDIR=\\\\"${QT4LOCALEDIR}\\\\" )
vlc_module_add_link_libraries(qt4 ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY})
# Define our own qt4_wrap_ui macro to match wanted behaviour
vlc_module_add_link_libraries(live555 ${Live555_LIBRARIES})
endif(Live555_FOUND)
+set(CURSES_NEED_NCURSES TRUE)
find_package(Curses)
if(CURSES_LIBRARIES)
vlc_enable_modules(ncurses)
vlc_module_add_link_libraries(panoramix ${X11_LIBRARIES})
endif(X11_FOUND)
+vlc_check_include_files (linux/fb.h)
+if(HAVE_LINUX_FB_H)
+ vlc_enable_modules(fb)
+endif(HAVE_LINUX_FB_H)
+
find_package(Mpeg2)
if(Mpeg2_FOUND)
vlc_enable_modules(libmpeg2)
vlc_module_add_link_libraries(dvb ${Dvbpsi_LIBRARIES})
endif(Dvbpsi_FOUND)
+vlc_check_include_files (id3tag.h zlib.h)
+if(HAVE_ID3TAG_H AND HAVE_ZLIB_H)
+ vlc_enable_modules(id3tag)
+ vlc_module_add_link_libraries(id3tag "id3tag;z")
+endif(HAVE_ID3TAG_H AND HAVE_ZLIB_H)
+
+find_package(Taglib)
+if(Taglib_FOUND)
+ set(HAVE_TAGLIB 1)
+ vlc_enable_modules(taglib)
+ vlc_module_add_link_libraries(taglib "${Taglib_LIBRARIES};z")
+ vlc_add_module_compile_flag(taglib "${Taglib_CFLAGS}")
+endif(Taglib_FOUND)
+
+vlc_check_include_files (zlib.h)
+if(HAVE_ZLIB_H)
+ vlc_module_add_link_libraries(access_http z)
+ vlc_module_add_link_libraries(mkv z)
+ vlc_module_add_link_libraries(mp4 z)
+ vlc_module_add_link_libraries(stream_out_bridge z)
+ vlc_module_add_link_libraries(sap z)
+endif(HAVE_ZLIB_H)
+
set(CMAKE_REQUIRED_INCLUDES)
###########################################################