- attempt to get static linking working for libvlc
This commit is contained in:
parent
32b4925f31
commit
b7cf90a09e
|
@ -45,24 +45,35 @@ PATHS
|
||||||
find_path(LIBVLC_INCLUDE_DIR PATHS "${CMAKE_INCLUDE_PATH}/vlc" NAMES vlc.h
|
find_path(LIBVLC_INCLUDE_DIR PATHS "${CMAKE_INCLUDE_PATH}/vlc" NAMES vlc.h
|
||||||
HINTS ${PC_LIBVLC_INCLUDEDIR} ${PC_LIBVLC_INCLUDE_DIRS})
|
HINTS ${PC_LIBVLC_INCLUDEDIR} ${PC_LIBVLC_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
# dream on libvlc doesn't support static linking
|
||||||
|
OPTION(WANT_STATIC_LIBS "builds as many static libs as possible" OFF)
|
||||||
|
set(LIBVLC_LIB_NAMES vlc libvlc)
|
||||||
|
set(LIBVLC_LIB_CORE_NAMES vlccore libvlccore)
|
||||||
|
IF(WANT_STATIC_LIBS)
|
||||||
|
set(LIBVLC_LIB_NAMES libvlc.a ${LIBVLC_LIB_NAMES})
|
||||||
|
set(LIBVLC_LIB_CORE_NAMES libvlccore.a ${LIBVLC_LIB_CORE_NAMES})
|
||||||
|
|
||||||
|
message(STATUS "Looking for LIBVLC static libs")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
#Put here path to custom location
|
#Put here path to custom location
|
||||||
#example: /home/user/vlc/lib etc..
|
#example: /home/user/vlc/lib etc..
|
||||||
find_library(LIBVLC_LIBRARY NAMES vlc libvlc
|
find_library(LIBVLC_LIBRARY NAMES ${LIBVLC_LIB_NAMES}
|
||||||
HINTS "$ENV{LIBVLC_LIBRARY_PATH}" ${PC_LIBVLC_LIBDIR} ${PC_LIBVLC_LIBRARY_DIRS}
|
HINTS "$ENV{LIBVLC_LIBRARY_PATH}" ${PC_LIBVLC_LIBDIR} ${PC_LIBVLC_LIBRARY_DIRS}
|
||||||
PATHS
|
PATHS
|
||||||
"$ENV{LIB_DIR}/lib"
|
"$ENV{LIB_DIR}/lib"
|
||||||
#mingw
|
#mingw
|
||||||
c:/msys/local/lib
|
c:/msys/local/lib
|
||||||
)
|
)
|
||||||
find_library(LIBVLC_LIBRARY NAMES vlc libvlc)
|
find_library(LIBVLC_LIBRARY NAMES ${LIBVLC_LIB_NAMES})
|
||||||
find_library(LIBVLCCORE_LIBRARY NAMES vlccore libvlccore
|
find_library(LIBVLCCORE_LIBRARY NAMES ${LIBVLC_LIB_CORE_NAMES}
|
||||||
HINTS "$ENV{LIBVLC_LIBRARY_PATH}" ${PC_LIBVLC_LIBDIR} ${PC_LIBVLC_LIBRARY_DIRS}
|
HINTS "$ENV{LIBVLC_LIBRARY_PATH}" ${PC_LIBVLC_LIBDIR} ${PC_LIBVLC_LIBRARY_DIRS}
|
||||||
PATHS
|
PATHS
|
||||||
"$ENV{LIB_DIR}/lib"
|
"$ENV{LIB_DIR}/lib"
|
||||||
#mingw
|
#mingw
|
||||||
c:/msys/local/lib
|
c:/msys/local/lib
|
||||||
)
|
)
|
||||||
find_library(LIBVLCCORE_LIBRARY NAMES vlccore libvlccore)
|
find_library(LIBVLCCORE_LIBRARY NAMES ${LIBVLC_LIB_CORE_NAMES})
|
||||||
|
|
||||||
set(LIBVLC_VERSION ${PC_LIBVLC_VERSION})
|
set(LIBVLC_VERSION ${PC_LIBVLC_VERSION})
|
||||||
if (NOT LIBVLC_VERSION)
|
if (NOT LIBVLC_VERSION)
|
||||||
|
|
|
@ -95,6 +95,27 @@ IF(BUILD_MEGAGLEST)
|
||||||
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${GLEW_LIBRARY})
|
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${GLEW_LIBRARY})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
#SET(LIBVLC_MIN_VERSION "2.0.1")
|
||||||
|
FIND_PACKAGE(LIBVLC)
|
||||||
|
|
||||||
|
IF(LIBVLC_FOUND AND NOT LIBVLC_VERSION STRLESS "${LIBVLC_MIN_VERSION}")
|
||||||
|
MESSAGE(STATUS "**NOTE: LIBVLC found so intro videos are supported.")
|
||||||
|
INCLUDE_DIRECTORIES(${LIBVLC_INCLUDE_DIR})
|
||||||
|
IF(UNIX)
|
||||||
|
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${LIBVLCCORE_LIBRARY} ${LIBVLC_LIBRARY})
|
||||||
|
ADD_DEFINITIONS(-DHAS_LIBVLC)
|
||||||
|
ENDIF()
|
||||||
|
IF(LIBVLC_VERSION_PRE_V2)
|
||||||
|
ADD_DEFINITIONS(-DLIBVLC_VERSION_PRE_2)
|
||||||
|
ENDIF()
|
||||||
|
IF(LIBVLC_VERSION_PRE_1_1_13)
|
||||||
|
ADD_DEFINITIONS(-DLIBVLC_VERSION_PRE_1_1_13)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
ELSE()
|
||||||
|
MESSAGE(STATUS "**WARNING: LIBVLC NOT found so intro videos are NOT supported.")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
#########################################################################################
|
#########################################################################################
|
||||||
# megaglest game
|
# megaglest game
|
||||||
|
|
||||||
|
|
|
@ -235,7 +235,7 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST
|
||||||
MESSAGE(STATUS "**NOTE: LIBVLC found so intro videos are supported.")
|
MESSAGE(STATUS "**NOTE: LIBVLC found so intro videos are supported.")
|
||||||
INCLUDE_DIRECTORIES(${LIBVLC_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBVLC_INCLUDE_DIR})
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${LIBVLC_LIBRARY})
|
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${LIBVLCCORE_LIBRARY} ${LIBVLC_LIBRARY})
|
||||||
ADD_DEFINITIONS(-DHAS_LIBVLC)
|
ADD_DEFINITIONS(-DHAS_LIBVLC)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(LIBVLC_VERSION_PRE_V2)
|
IF(LIBVLC_VERSION_PRE_V2)
|
||||||
|
|
|
@ -160,6 +160,11 @@ void VideoPlayer::PlayVideo() {
|
||||||
std::vector<const char *> vlc_argv;
|
std::vector<const char *> vlc_argv;
|
||||||
vlc_argv.push_back("--no-xlib" /* tell VLC to not use Xlib */);
|
vlc_argv.push_back("--no-xlib" /* tell VLC to not use Xlib */);
|
||||||
vlc_argv.push_back("--no-video-title-show");
|
vlc_argv.push_back("--no-video-title-show");
|
||||||
|
#if defined(LIBVLC_VERSION_PRE_2)
|
||||||
|
string fullPluginsParam = "--plugin-path=" + pluginsPath;
|
||||||
|
vlc_argv.push_back(fullPluginsParam.c_str());
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(LIBVLC_VERSION_PRE_2) && defined(LIBVLC_VERSION_PRE_1_1_13)
|
#if defined(LIBVLC_VERSION_PRE_2) && defined(LIBVLC_VERSION_PRE_1_1_13)
|
||||||
char clock[64], cunlock[64], cdata[64];
|
char clock[64], cunlock[64], cdata[64];
|
||||||
char cwidth[32], cheight[32], cpitch[32];
|
char cwidth[32], cheight[32], cpitch[32];
|
||||||
|
|
Loading…
Reference in New Issue