Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
5f76d49b
Commit
5f76d49b
authored
Feb 07, 2008
by
Pierre d'Herbemont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cmake: Detect ffmpeg. Fix VLC.app's modules. fix ENABLE_NO_SYMBOL_CHECK.
parent
f86d971b
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
96 additions
and
25 deletions
+96
-25
extras/buildsystem/cmake/include/FindFFmpeg.cmake
extras/buildsystem/cmake/include/FindFFmpeg.cmake
+48
-0
extras/buildsystem/cmake/include/config.cmake
extras/buildsystem/cmake/include/config.cmake
+44
-21
extras/buildsystem/cmake/include/vlc_module_funcs.cmake
extras/buildsystem/cmake/include/vlc_module_funcs.cmake
+4
-4
No files found.
extras/buildsystem/cmake/include/FindFFmpeg.cmake
0 → 100644
View file @
5f76d49b
# - Find library containing FFmpeg()
# The following variables are set if FFmpeg is found. If FFmpeg is not
# found, FFmpeg_FOUND is set to false.
# FFmpeg_FOUND - System has FFmpeg.
# FFmpeg_LIBRARIES - Link these to use FFmpeg.
# FFmpeg_CFLAGS - Link these to use FFmpeg.
#if (NOT FFmpeg_SEARCHED)
include
(
CheckLibraryExists
)
set
(
FFmpeg_SEARCHED TRUE CACHE INTERNAL
""
)
set
(
FFmpeg_FOUND FALSE CACHE INTERNAL
""
)
pkg_check_modules
(
FFmpeg libffmpeg
)
if
(
NOT FFmpeg_FOUND
)
set
(
FFmpeg_LIBRARIES
""
)
foreach
(
library ffmpeg avcodec avformat avutil postproc
)
find_library
(
${
library
}
_LIBRARY
${
library
}
)
set
(
${
library
}
_LIBRARY_FOUND NOT
${${
library
}
_LIBRARY
}
)
if
(
${
library
}
_LIBRARY_FOUND
)
set
(
FFmpeg_LIBRARIES
"
${
library
}
;
${
FFmpeg_LIBRARIES
}
"
)
set
(
FFmpeg_FOUND TRUE CACHE INTERNAL
""
)
endif
(
${
library
}
_LIBRARY_FOUND
)
endforeach
(
library
)
foreach
(
library a52 faac lame z png mp3lame twolame
)
find_library
(
${
library
}
_LIBRARY
${
library
}
)
set
(
${
library
}
_LIBRARY_FOUND NOT
${${
library
}
_LIBRARY
}
)
if
(
${
library
}
_LIBRARY_FOUND
)
set
(
FFmpeg_LIBRARIES
"
${
library
}
;
${
FFmpeg_LIBRARIES
}
"
)
endif
(
${
library
}
_LIBRARY_FOUND
)
endforeach
(
library
)
set
(
FFmpeg_LIBRARIES
"
${
FFmpeg_LIBRARIES
}
"
CACHE INTERNAL STRING
)
endif
(
NOT FFmpeg_FOUND
)
if
(
FFmpeg_FOUND
)
if
(
NOT FFmpeg_FIND_QUIETLY
)
message
(
STATUS
"Found FFmpeg in:
${
FFmpeg_LIBRARIES
}
"
)
endif
(
NOT FFmpeg_FIND_QUIETLY
)
else
(
FFmpeg_FOUND
)
if
(
FFmpeg_FIND_REQUIRED
)
message
(
FATAL_ERROR
"Could not find the library containing FFmpeg"
)
endif
(
FFmpeg_FIND_REQUIRED
)
endif
(
FFmpeg_FOUND
)
mark_as_advanced
(
FFmpeg_LIBRARIES
)
#endif(NOT FFmpeg_SEARCHED)
extras/buildsystem/cmake/include/config.cmake
View file @
5f76d49b
...
...
@@ -12,14 +12,16 @@ include( ${CMAKE_SOURCE_DIR}/cmake/vlc_check_type.cmake )
include
(
${
CMAKE_SOURCE_DIR
}
/cmake/pkg_check_modules.cmake
)
###########################################################
#
Contrib
s
#
Option
s
###########################################################
OPTION
(
ENABLE_CONTRIB
"Attempt to use VLC contrib system to get the third-party libraries"
ON
)
if
(
ENABLE_CONTRIB
)
add_definitions
(
-I
${
CMAKE_SOURCE_DIR
}
/extras/contrib/include
)
add_definitions
(
-L
${
CMAKE_SOURCE_DIR
}
/extras/contrib/lib
)
endif
(
ENABLE_CONTRIB
)
OPTION
(
ENABLE_HTTPD
"Enable httpd server"
ON
)
OPTION
(
ENABLE_VLM
"Enable vlm"
ON
)
OPTION
(
ENABLE_DYNAMIC_PLUGINS
"Enable dynamic plugin"
ON
)
OPTION
(
ENABLE_NO_SYMBOL_CHECK
"Don't check symbols of modules against libvlc. (Enabling this option speeds up compilation)"
ON
)
set
(
HAVE_DYNAMIC_PLUGINS
${
ENABLE_DYNAMIC_PLUGINS
}
)
set
(
LIBEXT
${
CMAKE_SHARED_MODULE_SUFFIX
}
)
###########################################################
# Headers checks
...
...
@@ -118,10 +120,13 @@ include( ${CMAKE_SOURCE_DIR}/cmake/vlc_test_inline.cmake )
if
(
APPLE
)
include
(
${
CMAKE_SOURCE_DIR
}
/cmake/vlc_find_frameworks.cmake
)
if
(
ENABLE_NO_SYMBOL_CHECK
)
set
(
DYNAMIC_LOOKUP
"-undefined dynamic_lookup"
CACHE INTERNAL
)
endif
(
ENABLE_NO_SYMBOL_CHECK
)
set
(
CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS
"
${
CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS
}
-undefined dynamic_lookup
"
)
set
(
CMAKE_SHARED_MODULE_CREATE_C_FLAGS
"
${
CMAKE_SHARED_MODULE_CREATE_C_FLAGS
}
-undefined dynamic_lookup
"
)
"
${
CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS
}
${
DYNAMIC_LOOKUP
}
"
)
set
(
CMAKE_SHARED_MODULE_CREATE_C_FLAGS
"
${
CMAKE_SHARED_MODULE_CREATE_C_FLAGS
}
${
DYNAMIC_LOOKUP
}
"
)
set
(
SYS_DARWIN 1
)
add_definitions
(
-std=gnu99
)
# Hack for obj-c files to be compiled with gnu99
...
...
@@ -172,7 +177,7 @@ if(APPLE)
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
find
${
CMAKE_CURRENT_BINARY_DIR
}
/modules -name *.so -exec sh -c \"ln -s {}
${
MacOS
}
/modules/\\`basename {}\\`\"
"
\;
"
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 ln -sf VLC
${
MacOS
}
/clivlc
#useless?
COMMAND printf
"APPLVLC#"
>
${
CMAKE_CURRENT_BINARY_DIR
}
/VLC.app/Contents/PkgInfo
...
...
@@ -207,17 +212,7 @@ set(VERSION_MESSAGE "vlc-0.9.0-svn")
set
(
COPYRIGHT_MESSAGE
"Copyright © the VideoLAN team"
)
set
(
COPYRIGHT_YEARS
"2001-2008"
)
###########################################################
# Options
###########################################################
OPTION
(
ENABLE_HTTPD
"Enable httpd server"
ON
)
OPTION
(
ENABLE_VLM
"Enable vlm"
ON
)
OPTION
(
ENABLE_DYNAMIC_PLUGINS
"Enable dynamic plugin"
ON
)
OPTION
(
ENABLE_NO_SYMBOL_CHECK
"Don't check symbols of modules against libvlc. (Enabling this option speeds up compilation)"
ON
)
set
(
HAVE_DYNAMIC_PLUGINS
${
ENABLE_DYNAMIC_PLUGINS
}
)
set
(
LIBEXT
${
CMAKE_SHARED_MODULE_SUFFIX
}
)
###########################################################
# Modules: Following are all listed in options
...
...
@@ -242,6 +237,8 @@ vlc_enable_modules(packetizer_mpeg4video packetizer_mpeg4audio)
vlc_enable_modules
(
packetizer_vc1
)
vlc_enable_modules
(
spatializer
)
vlc_enable_modules
(
ffmpeg
)
if
(
NOT mingwce
)
set
(
enabled ON
)
endif
(
NOT mingwce
)
...
...
@@ -271,16 +268,42 @@ vlc_disable_modules(motion)
###########################################################
# libraries
###########################################################
OPTION
(
ENABLE_CONTRIB
"Attempt to use VLC contrib system to get the third-party libraries"
ON
)
if
(
ENABLE_CONTRIB
)
set
(
CONTRIB_INCLUDE
${
CMAKE_SOURCE_DIR
}
/extras/contrib/include
)
set
(
CONTRIB_LIB
${
CMAKE_SOURCE_DIR
}
/extras/contrib/lib
)
set
(
CONTRIB_PROGRAM
${
CMAKE_SOURCE_DIR
}
/extras/contrib/bin
)
set
(
CMAKE_LIBRARY_PATH
${
CONTRIB_LIB
}
${
CMAKE_LIBRARY_PATH
}
)
set
(
CMAKE_PROGRAM_PATH
${
CONTRIB_PROGRAM
}
${
CMAKE_PROGRAM_PATH
}
)
set
(
CMAKE_C_LINK_FLAGS
"
${
CMAKE_C_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_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_CXX_FLAGS
"
${
CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS
}
-L
${
CONTRIB_LIB
}
"
)
add_definitions
(
-I
${
CONTRIB_INCLUDE
}
)
endif
(
ENABLE_CONTRIB
)
set
(
CMAKE_REQUIRED_INCLUDES
${
CONTRIB_INCLUDE
}
)
#fixme: use find_package(cddb 0.9.5)
pkg_check_modules
(
LIBCDDB libcddb>=0.9.5
)
if
(
${
LIBCDDB_FOUND
}
)
vlc_module_add_link_libraries
(
cdda
${
LIBCDDB_LIBRARIES
}
)
vlc_add_module_compile_flag
(
cdda
${
LIBCDDB_CFLAGS
}
)
endif
(
${
LIBCDDB_FOUND
}
)
include
(
Find
Dlopen
)
find_package
(
Dlopen
)
set
(
HAVE_DL_DLOPEN
${
Dlopen_FOUND
}
)
find_package
(
FFmpeg
)
vlc_check_include_files
(
ffmpeg/avcodec.h
)
vlc_check_include_files
(
postproc/postprocess.h
)
vlc_add_module_compile_flag
(
ffmpeg
${
FFmpeg_CFLAGS
}
)
vlc_module_add_link_libraries
(
ffmpeg
${
FFmpeg_LIBRARIES
}
)
set
(
CMAKE_REQUIRED_INCLUDES
)
###########################################################
# Final configuration
###########################################################
...
...
extras/buildsystem/cmake/include/vlc_module_funcs.cmake
View file @
5f76d49b
...
...
@@ -3,9 +3,9 @@ include( ${CMAKE_SOURCE_DIR}/cmake/vlc_add_compile_flag.cmake )
MACRO
(
vlc_add_module module_name
)
if
(
ENABLE_VLC_MODULE_
${
module_name
}
)
add_library
(
${
module_name
}
_plugin MODULE
${
ARGN
}
)
if
(
NOT
ENABLE_NO_SYMBOL_CHECK
)
vlc_module_add_link_libraries
(
libvlc
)
endif
(
NOT
ENABLE_NO_SYMBOL_CHECK
)
if
(
NOT
${
ENABLE_NO_SYMBOL_CHECK
}
)
vlc_module_add_link_libraries
(
${
module_name
}
libvlc
)
endif
(
NOT
${
ENABLE_NO_SYMBOL_CHECK
}
)
set_target_properties
(
${
module_name
}
_plugin PROPERTIES COMPILE_FLAGS
"-D__PLUGIN__ -DMODULE_NAME=
${
module_name
}
-DMODULE_NAME_IS_
${
module_name
}
-I
${
CMAKE_CURRENT_SOURCE_DIR
}
${
VLC_
${
module_name
}
_COMPILE_FLAG
}
"
)
if
(
VLC_
${
module_name
}
_LINK_LIBRARIES
)
...
...
@@ -42,6 +42,6 @@ MACRO(vlc_module_add_link_libraries module_name)
ENDMACRO
(
vlc_module_add_link_libraries
)
MACRO
(
vlc_add_module_compile_flag module_name
)
set
(
VLC_
${
module_name
}
_COMPILE_FLAG
${
VLC_
${
module_name
}
_
LINK_LIBRARIES
}
${
ARGN
}
)
set
(
VLC_
${
module_name
}
_COMPILE_FLAG
${
VLC_
${
module_name
}
_
COMPILE_FLAG
}
${
ARGN
}
)
ENDMACRO
(
vlc_add_module_compile_flag
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment