Commit faaf778a authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

cmake: FindLua and maintain an enabled module list.

parent 00ea5c2f
# - Find library containing Lua()
# The following variables are set if Lua is found. If Lua is not
# found, Lua_FOUND is set to false.
# Lua_FOUND - System has Lua.
# Lua_LIBRARIES - Link these to use Lua.
# Lua_CFLAGS - Link these to use Lua.
if (NOT Lua_SEARCHED)
include(CheckLibraryExists)
set(Lua_SEARCHED TRUE CACHE INTERNAL "")
set(Lua_FOUND FALSE CACHE INTERNAL "")
pkg_check_modules(Lua lua>=5.1)
if (NOT Lua_FOUND)
find_library( Lua_LIBRARY NAMES lua5.1 lua51 lua)
if (Lua_LIBRARY)
set(Lua_LIBRARIES "${Lua_LIBRARY}")
set(Lua_FOUND TRUE CACHE INTERNAL "")
endif (Lua_LIBRARY)
endif (NOT Lua_FOUND)
if (Lua_FOUND)
if (NOT Lua_FIND_QUIETLY)
message(STATUS "Found Lua in: ${Lua_LIBRARIES}")
endif (NOT Lua_FIND_QUIETLY)
else (Lua_FOUND)
if (Lua_FIND_REQUIRED)
message(FATAL_ERROR "Could not find the library containing Lua")
endif (Lua_FIND_REQUIRED)
endif (Lua_FOUND)
mark_as_advanced(Lua_LIBRARIES)
endif(NOT Lua_SEARCHED)
...@@ -136,7 +136,7 @@ if(APPLE) ...@@ -136,7 +136,7 @@ if(APPLE)
include( ${CMAKE_SOURCE_DIR}/cmake/vlc_find_frameworks.cmake ) include( ${CMAKE_SOURCE_DIR}/cmake/vlc_find_frameworks.cmake )
if(ENABLE_NO_SYMBOL_CHECK) if(ENABLE_NO_SYMBOL_CHECK)
set(DYNAMIC_LOOKUP "-undefined dynamic_lookup" CACHE INTERNAL) set(DYNAMIC_LOOKUP "-undefined dynamic_lookup" CACHE INTERNAL STRING)
endif(ENABLE_NO_SYMBOL_CHECK) endif(ENABLE_NO_SYMBOL_CHECK)
set(CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS set(CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS
"${CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS} ${DYNAMIC_LOOKUP}") "${CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS} ${DYNAMIC_LOOKUP}")
...@@ -188,9 +188,7 @@ if(APPLE) ...@@ -188,9 +188,7 @@ if(APPLE)
COMMAND cd ${CMAKE_CURRENT_BINARY_DIR}/tmp/extras/package/macosx && xcodebuild -target vlc | grep -vE '^\([ \\t]|$$\)' && cd ../../../../ && cp ${CMAKE_CURRENT_BINARY_DIR}/tmp/extras/package/macosx/build/Default/VLC.bundle/Contents/Info.plist ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents && cp -R ${CMAKE_CURRENT_BINARY_DIR}/tmp/extras/package/macosx/build/Default/VLC.bundle/Contents/Resources/English.lproj ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents/Resources COMMAND cd ${CMAKE_CURRENT_BINARY_DIR}/tmp/extras/package/macosx && xcodebuild -target vlc | grep -vE '^\([ \\t]|$$\)' && cd ../../../../ && cp ${CMAKE_CURRENT_BINARY_DIR}/tmp/extras/package/macosx/build/Default/VLC.bundle/Contents/Info.plist ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents && cp -R ${CMAKE_CURRENT_BINARY_DIR}/tmp/extras/package/macosx/build/Default/VLC.bundle/Contents/Resources/English.lproj ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents/Resources
COMMAND cp -r ${CMAKE_CURRENT_SOURCE_DIR}/extras/package/macosx/Resources ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents COMMAND cp -r ${CMAKE_CURRENT_SOURCE_DIR}/extras/package/macosx/Resources ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents
COMMAND find -d ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents/Resources -type d -name \\.svn -exec rm -rf {} "\;" COMMAND find -d ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents/Resources -type d -name \\.svn -exec rm -rf {} "\;"
COMMAND rm -rf ${MacOS}/modules ${MacOS}/locale COMMAND rm -rf ${MacOS}/modules ${MacOS}/locale ${MacOS}/share
COMMAND mkdir ${MacOS}/modules
COMMAND rm -f ${MacOS}/share #remove the link if it exists
COMMAND ln -s ${CMAKE_CURRENT_SOURCE_DIR}/share ${MacOS}/share COMMAND ln -s ${CMAKE_CURRENT_SOURCE_DIR}/share ${MacOS}/share
COMMAND ln -s ${CMAKE_CURRENT_BINARY_DIR}/modules ${MacOS}/modules COMMAND ln -s ${CMAKE_CURRENT_BINARY_DIR}/modules ${MacOS}/modules
COMMAND find ${CMAKE_BINARY_DIR}/po -name *.gmo -exec sh -c \"mkdir -p ${MacOS}/locale/\\`basename {}|sed s/\\.gmo//\\`/LC_MESSAGES\; ln -s {} ${MacOS}/locale/\\`basename {}|sed s/\\.gmo//\\`/LC_MESSAGES/vlc.mo\" "\;" COMMAND find ${CMAKE_BINARY_DIR}/po -name *.gmo -exec sh -c \"mkdir -p ${MacOS}/locale/\\`basename {}|sed s/\\.gmo//\\`/LC_MESSAGES\; ln -s {} ${MacOS}/locale/\\`basename {}|sed s/\\.gmo//\\`/LC_MESSAGES/vlc.mo\" "\;"
...@@ -222,8 +220,6 @@ command_to_configvar( "${CMAKE_C_COMPILER} --version" CONFIGURE_LINE ) ...@@ -222,8 +220,6 @@ command_to_configvar( "${CMAKE_C_COMPILER} --version" CONFIGURE_LINE )
set( VLC_COMPILER "${CMAKE_C_COMPILER}" ) set( VLC_COMPILER "${CMAKE_C_COMPILER}" )
########################################################### ###########################################################
# Modules: Following are all listed in options # Modules: Following are all listed in options
########################################################### ###########################################################
...@@ -247,8 +243,6 @@ vlc_enable_modules(packetizer_mpeg4video packetizer_mpeg4audio) ...@@ -247,8 +243,6 @@ vlc_enable_modules(packetizer_mpeg4video packetizer_mpeg4audio)
vlc_enable_modules(packetizer_vc1) vlc_enable_modules(packetizer_vc1)
vlc_enable_modules(spatializer) vlc_enable_modules(spatializer)
vlc_enable_modules(ffmpeg)
if(NOT mingwce) if(NOT mingwce)
set(enabled ON) set(enabled ON)
endif(NOT mingwce) endif(NOT mingwce)
...@@ -289,8 +283,8 @@ if(ENABLE_CONTRIB) ...@@ -289,8 +283,8 @@ if(ENABLE_CONTRIB)
set( CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -L${CONTRIB_LIB}" ) set( CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -L${CONTRIB_LIB}" )
set( CMAKE_SHARED_MODULE_CREATE_C_FLAGS "${CMAKE_SHARED_MODULE_CREATE_C_FLAGS} -L${CONTRIB_LIB}" ) set( CMAKE_SHARED_MODULE_CREATE_C_FLAGS "${CMAKE_SHARED_MODULE_CREATE_C_FLAGS} -L${CONTRIB_LIB}" )
set( CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS "${CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS} -L${CONTRIB_LIB}" ) set( CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS "${CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS} -L${CONTRIB_LIB}" )
set( CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "${CMAKE_SHARED_MODULE_CREATE_C_FLAGS} -L${CONTRIB_LIB}" ) set( CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS} -L${CONTRIB_LIB}" )
set( CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS} -L${CONTRIB_LIB}" ) set( CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -L${CONTRIB_LIB}" )
add_definitions(-I${CONTRIB_INCLUDE}) add_definitions(-I${CONTRIB_INCLUDE})
endif(ENABLE_CONTRIB) endif(ENABLE_CONTRIB)
...@@ -307,10 +301,21 @@ find_package(Dlopen) ...@@ -307,10 +301,21 @@ find_package(Dlopen)
set(HAVE_DL_DLOPEN ${Dlopen_FOUND}) set(HAVE_DL_DLOPEN ${Dlopen_FOUND})
find_package(FFmpeg) find_package(FFmpeg)
vlc_check_include_files (ffmpeg/avcodec.h) if(FFmpeg_FOUND)
vlc_check_include_files (postproc/postprocess.h) vlc_check_include_files (ffmpeg/avcodec.h)
vlc_add_module_compile_flag(ffmpeg ${FFmpeg_CFLAGS} ) vlc_check_include_files (postproc/postprocess.h)
vlc_module_add_link_libraries(ffmpeg ${FFmpeg_LIBRARIES}) vlc_enable_modules(ffmpeg)
vlc_add_module_compile_flag(ffmpeg ${FFmpeg_CFLAGS} )
vlc_module_add_link_libraries(ffmpeg ${FFmpeg_LIBRARIES})
endif(FFmpeg_FOUND)
find_package(Lua)
if(Lua_FOUND)
set(HAVE_LUA TRUE)
vlc_enable_modules(lua)
vlc_add_module_compile_flag(lua ${Lua_CFLAGS} )
vlc_module_add_link_libraries(lua ${Lua_LIBRARIES})
endif(Lua_FOUND)
set(CMAKE_REQUIRED_INCLUDES) set(CMAKE_REQUIRED_INCLUDES)
......
...@@ -15,9 +15,14 @@ MACRO(vlc_add_module module_name) ...@@ -15,9 +15,14 @@ MACRO(vlc_add_module module_name)
endif(ENABLE_VLC_MODULE_${module_name}) endif(ENABLE_VLC_MODULE_${module_name})
ENDMACRO(vlc_add_module) ENDMACRO(vlc_add_module)
MACRO(vlc_register_modules state) MACRO(vlc_register_modules module_state)
foreach( module_name ${ARGN} ) foreach( module_name ${ARGN} )
OPTION( ENABLE_VLC_MODULE_${module_name} "Enable the ${module_name} module" ${state} ) set( STATE module_state)
if(STATE)
set(VLC_ENABLED_MODULES_LIST ${VLC_ENABLED_MODULES_LIST} ${module_name}_plugin)
else(STATE)
endif(STATE)
OPTION( ENABLE_VLC_MODULE_${module_name} "Enable the ${module_name} module" ${module_state} )
endforeach( module_name ) endforeach( module_name )
ENDMACRO(vlc_register_modules) ENDMACRO(vlc_register_modules)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment