]> git.sesse.net Git - vlc/blobdiff - extras/buildsystem/cmake/include/config.cmake
Cmake: enable a bunch of modules - still a lot TODO
[vlc] / extras / buildsystem / cmake / include / config.cmake
index f79badbc545f8ea7d8b72fb27ea89750bb91edf3..ff2ec0ef2a7639d0217097cfa327e658b0f9d5b7 100644 (file)
@@ -20,6 +20,8 @@ OPTION( ENABLE_DYNAMIC_PLUGINS "Enable dynamic plugin" ON )
 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)
 
@@ -63,13 +65,14 @@ include( ${CMAKE_SOURCE_DIR}/cmake/pkg_check_modules.cmake )
 # 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}")
@@ -97,6 +100,10 @@ endif(CMAKE_BUILD_TYPE STREQUAL "Debug")
 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
 ###########################################################
@@ -129,8 +136,8 @@ find_package (Threads)
 
 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)
@@ -170,6 +177,13 @@ set(CMAKE_EXTRA_INCLUDE_FILES)
 
 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)
@@ -370,7 +384,7 @@ set( VLC_COMPILER "${CMAKE_C_COMPILER}" )
 # 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)
@@ -387,8 +401,9 @@ vlc_enable_modules(access_filter_bandwidth)
 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)
@@ -416,7 +431,7 @@ vlc_register_modules(${enabled} converter_float a52tospdif dtstospdif audio_form
 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
@@ -467,7 +482,13 @@ if(FFmpeg_FOUND)
   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})
@@ -492,7 +513,12 @@ if(QT4_FOUND)
   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
@@ -556,6 +582,7 @@ if(Live555_FOUND)
   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)
@@ -570,6 +597,11 @@ if(X11_FOUND)
   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)
@@ -587,6 +619,29 @@ if(Dvbpsi_FOUND)
   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)
 
 ###########################################################