Major changes in the cmake code. Start using more advanced cmake functions and avoid using the ones from other projects. Still some cleaning to do
This commit is contained in:
1 parent
5854713a78
commit
89cda413cc
13 files changed
+290
-407
No files matched your search
+92
-27
@@ -11,9 +11,15 @@ cmake_minimum_required( VERSION 2.8.9 )
|
||||
SET( PROJECT_NAME "playuver" )
|
||||
|
||||
PROJECT( ${PROJECT_NAME} )
|
||||
INCLUDE( cmake/PlaYUVerVersion.cmake )
|
||||
|
||||
INCLUDE( cmake/CMakeMacros.cmake )
|
||||
|
||||
######################################################################################
|
||||
# CMake Definitions
|
||||
######################################################################################
|
||||
|
||||
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake )
|
||||
INCLUDE(FeatureSummary)
|
||||
INCLUDE( cmake/PlaYUVerVersion.cmake )
|
||||
|
||||
# must go before the project command
|
||||
SET(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Configs" FORCE)
|
||||
@@ -22,27 +28,63 @@ IF(DEFINED CMAKE_BUILD_TYPE AND CMAKE_VERSION VERSION_GREATER "2.8")
|
||||
ENDIF()
|
||||
SET( CMAKE_CXX_FLAGS "" )
|
||||
|
||||
|
||||
######################################################################################
|
||||
# Variables
|
||||
######################################################################################
|
||||
ADD_OPTION(PLAYUVER_LONGVERSIONNAME "Use long version name in deb" OFF )
|
||||
ADD_OPTION(PLAYUVER_WERROR "Warnings as errors" OFF )
|
||||
ADD_OPTION(PLAYUVER_THREADED_MODULES "Use threads for modules" OFF )
|
||||
ADD_OPTION(USE_QT4 "Build with QT4" OFF )
|
||||
ADD_OPTION(USE_FERVOR "Add Fervor support" OFF )
|
||||
|
||||
|
||||
OPTION( USE_FERVOR "Add Fervor support" OFF )
|
||||
OPTION( PLAYUVER_LONGVERSIONNAME "Use long version name in deb" OFF )
|
||||
OPTION( PLAYUVER_WERROR "Warnings as errors" OFF )
|
||||
OPTION( PLAYUVER_THREADED_MODULES "Use threads for modules" OFF )
|
||||
OPTION( USE_QT4 "Build with QT4" OFF )
|
||||
|
||||
ADD_FEATURE_INFO(Fervor USE_FERVOR "Fervor lib includes check for updates feature.")
|
||||
ADD_FEATURE_INFO(WErrors PLAYUVER_WERROR "Warnings as errors" )
|
||||
|
||||
######################################################################################
|
||||
# Dependencies
|
||||
######################################################################################
|
||||
INCLUDE( cmake/LibFervor.cmake )
|
||||
INCLUDE( cmake/LibQT.cmake )
|
||||
INCLUDE( cmake/LibFFmpeg.cmake )
|
||||
INCLUDE( cmake/LibOpenCV.cmake )
|
||||
|
||||
OPTION( USE_OPENCV "Add OpenCV support" OFF )
|
||||
IF( USE_OPENCV )
|
||||
FIND_PACKAGE( OpenCV )
|
||||
SET(USE_OPENCV ${OpenCV_FOUND})
|
||||
ENDIF()
|
||||
SET_PACKAGE_PROPERTIES(OpenCV PROPERTIES URL "http://opencv.willowgarage.com" DESCRIPTION "OpenCV library support in PlaYUVerFrame" TYPE OPTIONAL)
|
||||
|
||||
OPTION( USE_FFMPEG "Add FFMPEG support" OFF )
|
||||
IF( USE_FFMPEG )
|
||||
FIND_PACKAGE( OpenCV )
|
||||
SET(USE_FFMPEG ${FFMPEG_FOUND})
|
||||
ENDIF()
|
||||
SET_PACKAGE_PROPERTIES(FFmpeg PROPERTIES URL "http://ffmpeg.org/" DESCRIPTION "Libav library support in PlaYUVerStream" TYPE OPTIONAL)
|
||||
|
||||
#####################################################################################
|
||||
# Qt library
|
||||
######################################################################################
|
||||
|
||||
IF( USE_QT4 )
|
||||
SET( DEPENDENCIES_STRING "${DEPENDENCIES_STRING}QT4" )
|
||||
FIND_PACKAGE( Qt4 REQUIRED QtCore QtGui QtNetwork QtWebKit )
|
||||
IF( NOT QT4_FOUND )
|
||||
SET(USE_QT4 FALSE)
|
||||
ELSE()
|
||||
INCLUDE( ${QT_USE_FILE} )
|
||||
ADD_DEFINITIONS( ${QT_DEFINITIONS} )
|
||||
SET( QT_LINKER_LIBS ${QT_LIBRARIES} )
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
IF( NOT USE_QT4 )
|
||||
SET( DEPENDENCIES_STRING "${DEPENDENCIES_STRING}QT5" )
|
||||
FIND_PACKAGE( Qt5 REQUIRED Core Gui Widgets )
|
||||
INCLUDE_DIRECTORIES( ${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS} )
|
||||
# Add compiler flags for building executables (-fPIE)
|
||||
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}" )
|
||||
LIST(APPEND QT_LINKER_LIBS Qt5::Core Qt5::Gui Qt5::Widgets )
|
||||
LIST(APPEND QT_MODULES Core Gui Widgets )
|
||||
ENDIF()
|
||||
|
||||
######################################################################################
|
||||
# Configuration
|
||||
@@ -59,6 +101,7 @@ IF (NOT CMAKE_BUILD_TYPE)
|
||||
ENDIF()
|
||||
|
||||
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall" )
|
||||
|
||||
IF( PLAYUVER_WERROR )
|
||||
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" )
|
||||
ENDIF()
|
||||
@@ -71,11 +114,11 @@ ADD_SUBDIRECTORY( modules )
|
||||
ADD_SUBDIRECTORY( app )
|
||||
|
||||
IF( WIN32 )
|
||||
SET(MSVC_DLL_DIR "MSVC_DLL_DIR" CACHE PATH "Where to find MSVC dlls")
|
||||
INSTALL(FILES ${MSVC_DLL_DIR}/msvcr120.dll DESTINATION bin )
|
||||
INSTALL(FILES ${MSVC_DLL_DIR}/msvcp120.dll DESTINATION bin )
|
||||
INCLUDE( cmake/Win32.cmake )
|
||||
ENDIF()
|
||||
|
||||
|
||||
|
||||
######################################################################################
|
||||
# Create deb package
|
||||
######################################################################################
|
||||
@@ -88,6 +131,29 @@ SET(CPACK_PACKAGE_VERSION_PATCH ${PLAYUVER_VERSION_PATH})
|
||||
SET(CPACK_PACKAGE_VERSION ${PLAYUVER_VERSION})
|
||||
SET(CPACK_PACKAGE_ARCHITECTURE "amd64")
|
||||
|
||||
IF( USE_QT4 )
|
||||
SET( DEPENDENCIES_STRING "${DEPENDENCIES_STRING}QT4" )
|
||||
LIST(APPEND CPACK_DEBIAN_PACKAGE_DEPENDS "libqtcore4 (>= 4:4.8.5), libqtgui4 (>= 4:4.8.5)" )
|
||||
SET( APPEND_VERSION "${APPEND_VERSION}_wQT4" )
|
||||
ELSE()
|
||||
SET( DEPENDENCIES_STRING "${DEPENDENCIES_STRING}QT5" )
|
||||
LIST(APPEND CPACK_DEBIAN_PACKAGE_DEPENDS "libqt5core5a, libqt5gui5, libqt5widgets5")
|
||||
SET( APPEND_VERSION "${APPEND_VERSION}_wQT5" )
|
||||
ENDIF()
|
||||
|
||||
IF( USE_OPENCV )
|
||||
SET( DEPENDENCIES_STRING "${DEPENDENCIES_STRING}OPENCV" )
|
||||
LIST(APPEND CPACK_DEBIAN_PACKAGE_DEPENDS ",")
|
||||
LIST(APPEND CPACK_DEBIAN_PACKAGE_DEPENDS "libopencv-dev (>= 2.4.8)")
|
||||
ENDIF()
|
||||
|
||||
IF( USE_FFMPEG )
|
||||
SET( DEPENDENCIES_STRING "${DEPENDENCIES_STRING}FFMPEG" )
|
||||
LIST(APPEND CPACK_DEBIAN_PACKAGE_DEPENDS ",")
|
||||
LIST(APPEND CPACK_DEBIAN_PACKAGE_DEPENDS "libavformat54, libavcodec54, libavutil52")
|
||||
SET( APPEND_VERSION "${APPEND_VERSION}_wFFmpeg" )
|
||||
ENDIF()
|
||||
|
||||
IF( UNIX )
|
||||
SET(CPACK_GENERATOR "DEB;ZIP")
|
||||
SET(OS "Linux")
|
||||
@@ -115,15 +181,14 @@ INCLUDE(CPack)
|
||||
######################################################################################
|
||||
# Final information dump
|
||||
######################################################################################
|
||||
status("Version:" "${PLAYUVER_VERSION}")
|
||||
status("Configuration:")
|
||||
status(" Build type:" "${CMAKE_BUILD_TYPE}")
|
||||
status(" Build flags:" "${CMAKE_CXX_FLAGS}")
|
||||
status(" Warnings as errors:" USE_WERROR THEN YES ELSE NO)
|
||||
status(" Package Name:" "${PACKAGE_FILE_NAME}" )
|
||||
status("Dependencies:")
|
||||
status(" QT:" USE_QT4 THEN "QT4" ELSE "QT5")
|
||||
status(" OpenCV:" USE_OPENCV THEN YES ELSE NO)
|
||||
status(" FFMPEG:" USE_FFMPEG THEN YES ELSE NO)
|
||||
status(" Fervor:" USE_FERVOR THEN YES ELSE NO)
|
||||
status(" Pixfc-sse:" USE_PIXFC THEN YES ELSE NO)
|
||||
MESSAGE("")
|
||||
MESSAGE( STATUS "${PROJECT_NAME} INFORMATION" )
|
||||
MESSAGE( STATUS "Version: " "${PLAYUVER_VERSION}" )
|
||||
MESSAGE( STATUS "Configuration:" )
|
||||
MESSAGE( STATUS " Build type:" "${CMAKE_BUILD_TYPE}" )
|
||||
MESSAGE( STATUS " Build flags:" "${CMAKE_CXX_FLAGS}" )
|
||||
MESSAGE( STATUS " Package Name:" "${PACKAGE_FILE_NAME}" )
|
||||
|
||||
|
||||
FEATURE_SUMMARY(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
|
||||
|
||||
+42
-1
@@ -36,6 +36,47 @@ set(plaYUver_App_RCC
|
||||
resources/playuver.qrc
|
||||
)
|
||||
|
||||
|
||||
IF( USE_FERVOR )
|
||||
IF(EXISTS ${FERVOR_DIR} )
|
||||
SET( FERVOR_APP_NAME ${PROJECT_NAME} )
|
||||
SET( FERVOR_APP_VERSION ${PLAYUVER_VERSION} )
|
||||
ADD_SUBDIRECTORY( ${FERVOR_DIR} )
|
||||
INCLUDE_DIRECTORIES( ${FERVOR_DIR} )
|
||||
LIST(APPEND APP_LINKER_LIBS "Fervor" )
|
||||
|
||||
FIND_PACKAGE( Qt5 REQUIRED Network WebKit WebKitWidgets )
|
||||
|
||||
LIST(APPEND QT_LINKER_LIBS Qt5::Network Qt5::Webkit Qt5::WebKitWidgets )
|
||||
LIST(APPEND QT_MODULES Network WebKit WebKitWidgets )
|
||||
|
||||
LIST(APPEND LINKER_LIBS ${FERVOR_DEPENDENCIES} )
|
||||
INCLUDE_DIRECTORIES( ${FERVOR_INCLUDE_DIRS} )
|
||||
|
||||
SET(QT_USE_QTNETWORK true)
|
||||
SET(QT_USE_QTWEBKIT true)
|
||||
|
||||
IF( WIN32 )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Network${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5WebKit${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5WebKitWidgets${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Quick${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Qml${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Multimedia${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Sql${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Positioning${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Sensors${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5MultimediaWidgets${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5OpenGL${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5PrintSupport${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
ENDIF()
|
||||
|
||||
ELSE()
|
||||
MESSAGE( "Fervor lib source code is not find in ${FERVOR_DIR}... Disabling it!" )
|
||||
SET( USE_FERVOR False )
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
IF( USE_QT4 )
|
||||
QT4_WRAP_UI( plaYUver_App_UI_Wrap ${plaYUver_App_UI} )
|
||||
QT4_ADD_RESOURCES( plaYUver_App_RCC ${plaYUver_App_RCC} )
|
||||
@@ -66,7 +107,7 @@ ENDIF()
|
||||
|
||||
ADD_EXECUTABLE( ${PROJECT_NAME} ${plaYUver_App_SRCS} ${HEADERS_MOC_FILES} ${plaYUver_App_UI_Wrap} ${plaYUver_App_RCC} ${WINDOWS_RES_FILE} )
|
||||
|
||||
TARGET_LINK_LIBRARIES( ${PROJECT_NAME} PlaYUVerLib PlaYUVerModules ${LINKER_LIBS} )
|
||||
TARGET_LINK_LIBRARIES( ${PROJECT_NAME} PlaYUVerLib PlaYUVerModules ${QT_LINKER_LIBS} ${APP_LINKER_LIBS} )
|
||||
|
||||
IF( NOT USE_QT4 )
|
||||
QT5_USE_MODULES( ${PROJECT_NAME} ${QT_MODULES} )
|
||||
|
||||
@@ -1,110 +0,0 @@
|
||||
######################################################################################
|
||||
# Macros definition
|
||||
######################################################################################
|
||||
|
||||
macro(ADD_OPTION variable description value)
|
||||
set(__value ${value})
|
||||
set(__condition "")
|
||||
set(__varname "__value")
|
||||
foreach(arg ${ARGN})
|
||||
if(arg STREQUAL "IF" OR arg STREQUAL "if")
|
||||
set(__varname "__condition")
|
||||
else()
|
||||
list(APPEND ${__varname} ${arg})
|
||||
endif()
|
||||
endforeach()
|
||||
unset(__varname)
|
||||
if("${__condition}" STREQUAL "")
|
||||
set(__condition 2 GREATER 1)
|
||||
endif()
|
||||
|
||||
if(${__condition})
|
||||
if("${__value}" MATCHES ";")
|
||||
if(${__value})
|
||||
option(${variable} "${description}" ON)
|
||||
else()
|
||||
option(${variable} "${description}" OFF)
|
||||
endif()
|
||||
elseif(DEFINED ${__value})
|
||||
if(${__value})
|
||||
option(${variable} "${description}" ON)
|
||||
else()
|
||||
option(${variable} "${description}" OFF)
|
||||
endif()
|
||||
else()
|
||||
option(${variable} "${description}" ${__value})
|
||||
endif()
|
||||
else()
|
||||
unset(${variable} CACHE)
|
||||
endif()
|
||||
unset(__condition)
|
||||
unset(__value)
|
||||
endmacro()
|
||||
|
||||
# Status report function.
|
||||
# Automatically align right column and selects text based on condition.
|
||||
# Usage:
|
||||
# status(<text>)
|
||||
# status(<heading> <value1> [<value2> ...])
|
||||
# status(<heading> <condition> THEN <text for TRUE> ELSE <text for FALSE> )
|
||||
function(status text)
|
||||
set(status_cond)
|
||||
set(status_then)
|
||||
set(status_else)
|
||||
|
||||
set(status_current_name "cond")
|
||||
foreach(arg ${ARGN})
|
||||
if(arg STREQUAL "THEN")
|
||||
set(status_current_name "then")
|
||||
elseif(arg STREQUAL "ELSE")
|
||||
set(status_current_name "else")
|
||||
else()
|
||||
list(APPEND status_${status_current_name} ${arg})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if(DEFINED status_cond)
|
||||
set(status_placeholder_length 32)
|
||||
string(RANDOM LENGTH ${status_placeholder_length} ALPHABET " " status_placeholder)
|
||||
string(LENGTH "${text}" status_text_length)
|
||||
if(status_text_length LESS status_placeholder_length)
|
||||
string(SUBSTRING "${text}${status_placeholder}" 0 ${status_placeholder_length} status_text)
|
||||
elseif(DEFINED status_then OR DEFINED status_else)
|
||||
message(STATUS ${text})
|
||||
set(status_text "${status_placeholder}")
|
||||
else()
|
||||
set(status_text "${text}")
|
||||
endif()
|
||||
|
||||
if(DEFINED status_then OR DEFINED status_else)
|
||||
if(${status_cond})
|
||||
string(REPLACE ";" " " status_then "${status_then}")
|
||||
string(REGEX REPLACE "^[ \t]+" "" status_then "${status_then}")
|
||||
message(STATUS "${status_text} ${status_then}")
|
||||
else()
|
||||
string(REPLACE ";" " " status_else "${status_else}")
|
||||
string(REGEX REPLACE "^[ \t]+" "" status_else "${status_else}")
|
||||
message(STATUS "${status_text} ${status_else}")
|
||||
endif()
|
||||
else()
|
||||
string(REPLACE ";" " " status_cond "${status_cond}")
|
||||
string(REGEX REPLACE "^[ \t]+" "" status_cond "${status_cond}")
|
||||
message(STATUS "${status_text} ${status_cond}")
|
||||
endif()
|
||||
else()
|
||||
message(STATUS "${text}")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
|
||||
macro(ADD_MODULE name file )
|
||||
set(__modulename "Module${name}")
|
||||
ADD_OPTION(MODULE_${name} "Use module ${name}" ON )
|
||||
if( MODULE_${name} )
|
||||
list(APPEND plaYUver_Mod_SRCS ${file} )
|
||||
LIST(APPEND MODULES_LIST ${name} )
|
||||
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/ModulesListHeader.h "#include \"${file}.h\"\n")
|
||||
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/ModulesListMacro.h "\\\n REGISTER_MODULE( ${name} ); ")
|
||||
endif()
|
||||
unset(__modulename)
|
||||
endmacro()
|
||||
@@ -0,0 +1,103 @@
|
||||
# - Try to find FFMPEG
|
||||
# Once done this will define
|
||||
#
|
||||
# FFMPEG_FOUND - system has FFMPEG
|
||||
# FFMPEG_INCLUDE_DIR - the include directories
|
||||
# FFMPEG_LIBRARY_DIR - the directory containing the libraries
|
||||
# FFMPEG_LIBRARIES - link these to use FFMPEG
|
||||
# FFMPEG_SWSCALE_FOUND - FFMPEG also has SWSCALE
|
||||
#
|
||||
|
||||
|
||||
# SET( FFMPEG_HEADERS avformat.h avcodec.h avutil.h avdevice.h )
|
||||
SET( FFMPEG_HEADERS avformat.h avcodec.h avutil.h )
|
||||
SET( FFMPEG_PATH_SUFFIXES libavformat libavcodec libavutil libavdevice libffmpeg )
|
||||
SET( FFMPEG_SWS_HEADERS swscale.h )
|
||||
SET( FFMPEG_SWS_PATH_SUFFIXES libswscale )
|
||||
|
||||
|
||||
SET( FFMPEG_LIBRARIES avformat avcodec avutil avdevice )
|
||||
SET( FFMPEG_SWS_LIBRARIES swscale )
|
||||
INCLUDE(FindPkgConfig)
|
||||
if ( PKG_CONFIG_FOUND )
|
||||
pkg_check_modules( AVFORMAT libavformat )
|
||||
pkg_check_modules( AVCODEC libavcodec )
|
||||
pkg_check_modules( AVUTIL libavutil )
|
||||
pkg_check_modules( AVDEVICE libavdevice )
|
||||
pkg_check_modules( SWSCALE libswscale )
|
||||
endif ( PKG_CONFIG_FOUND )
|
||||
|
||||
SET( FFMPEG_LIBRARY_DIR ${AVFORMAT_LIBRARY_DIRS}
|
||||
${AVCODEC_LIBRARY_DIRS}
|
||||
${AVUTIL_LIBRARY_DIRS}
|
||||
${AVDEVICE_LIBRARY_DIRS} )
|
||||
SET( FFMPEG_INCLUDE_PATHS ${AVFORMAT_INCLUDE_DIRS}
|
||||
${AVCODEC_INCLUDE_DIRS}
|
||||
${AVUTIL_INCLUDE_DIRS}
|
||||
${AVDEVICE_INCLUDE_DIRS} )
|
||||
|
||||
|
||||
# add in swscale if found
|
||||
IF ( SWSCALE_FOUND )
|
||||
SET( FFMPEG_LIBRARY_DIR ${FFMPEG_LIBRARY_DIR}
|
||||
${SWSCALE_LIBRARY_DIRS} )
|
||||
SET( FFMPEG_INCLUDE_PATHS ${FFMPEG_INCLUDE_PATHS}
|
||||
${SWSCALE_INCLUDE_DIRS} )
|
||||
SET( FFMPEG_HEADERS ${FFMPEG_HEADERS}
|
||||
${FFMPEG_SWS_HEADERS} )
|
||||
SET( FFMPEG_PATH_SUFFIXES ${FFMPEG_PATH_SUFFIXES}
|
||||
${FFMPEG_SWS_PATH_SUFFIXES} )
|
||||
SET( FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES}
|
||||
${FFMPEG_SWS_LIBRARIES} )
|
||||
ENDIF ( SWSCALE_FOUND )
|
||||
|
||||
# find includes
|
||||
SET( INC_SUCCESS 0 )
|
||||
SET( TMP_ TMP-NOTFOUND )
|
||||
SET( FFMPEG_INCLUDE_DIR ${FFMPEG_INCLUDE_PATHS} )
|
||||
FOREACH( INC_ ${FFMPEG_HEADERS} )
|
||||
message( "checking: " ${INC_} )
|
||||
|
||||
FIND_PATH( TMP_ ${INC_}
|
||||
PATHS ${FFMPEG_INCLUDE_PATHS}
|
||||
PATH_SUFFIXES ${FFMPEG_PATH_SUFFIXES} )
|
||||
IF ( TMP_ )
|
||||
message( "found: " ${TMP_} )
|
||||
MATH( EXPR INC_SUCCESS ${INC_SUCCESS}+1 )
|
||||
SET( FFMPEG_INCLUDE_DIR ${FFMPEG_INCLUDE_DIR} ${TMP_} )
|
||||
ENDIF ( TMP_ )
|
||||
SET( TMP_ TMP-NOTFOUND )
|
||||
ENDFOREACH( INC_ )
|
||||
|
||||
# clear out duplicates
|
||||
if(NOT "${FFMPEG_INCLUDE_DIR}" MATCHES "")
|
||||
LIST( REMOVE_DUPLICATES FFMPEG_INCLUDE_DIR )
|
||||
endif(NOT "${FFMPEG_INCLUDE_DIR}" MATCHES "")
|
||||
if(NOT "${FFMPEG_LIBRARY_DIR}" MATCHES "")
|
||||
LIST( REMOVE_DUPLICATES FFMPEG_LIBRARY_DIR )
|
||||
endif(NOT "${FFMPEG_LIBRARY_DIR}" MATCHES "")
|
||||
|
||||
# find the full paths of the libraries
|
||||
SET( TMP_ TMP-NOTFOUND )
|
||||
IF ( NOT WIN32 )
|
||||
FOREACH( LIB_ ${FFMPEG_LIBRARIES} )
|
||||
FIND_LIBRARY( TMP_ NAMES ${LIB_} PATHS ${FFMPEG_LIBRARY_DIR} )
|
||||
IF ( TMP_ )
|
||||
SET( FFMPEG_LIBRARIES_FULL ${FFMPEG_LIBRARIES_FULL} ${TMP_} )
|
||||
ENDIF ( TMP_ )
|
||||
SET( TMP_ TMP-NOTFOUND )
|
||||
ENDFOREACH( LIB_ )
|
||||
SET ( FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES_FULL} )
|
||||
ENDIF( NOT WIN32 )
|
||||
|
||||
unset(${TMP_})
|
||||
|
||||
LIST( LENGTH FFMPEG_HEADERS LIST_SIZE_ )
|
||||
|
||||
SET( FFMPEG_FOUND FALSE )
|
||||
SET( FFMPEG_SWSCALE_FOUND FALSE )
|
||||
IF ( ${INC_SUCCESS} EQUAL ${LIST_SIZE_} )
|
||||
SET( FFMPEG_FOUND TRUE )
|
||||
SET( FFMPEG_SWSCALE_FOUND ${SWSCALE_FOUND} )
|
||||
ENDIF ( ${INC_SUCCESS} EQUAL ${LIST_SIZE_} )
|
||||
|
||||
@@ -1,126 +0,0 @@
|
||||
# - Try to find FFMPEG
|
||||
# Once done this will define
|
||||
#
|
||||
# FFMPEG_FOUND - system has FFMPEG
|
||||
# FFMPEG_INCLUDE_DIR - the include directories
|
||||
# FFMPEG_LIBRARY_DIR - the directory containing the libraries
|
||||
# FFMPEG_LIBRARIES - link these to use FFMPEG
|
||||
# FFMPEG_SWSCALE_FOUND - FFMPEG also has SWSCALE
|
||||
#
|
||||
|
||||
IF( USE_FFMPEG )
|
||||
|
||||
# SET( FFMPEG_HEADERS avformat.h avcodec.h avutil.h avdevice.h )
|
||||
SET( FFMPEG_HEADERS avformat.h avcodec.h avutil.h )
|
||||
SET( FFMPEG_PATH_SUFFIXES libavformat libavcodec libavutil libavdevice libffmpeg )
|
||||
SET( FFMPEG_SWS_HEADERS swscale.h )
|
||||
SET( FFMPEG_SWS_PATH_SUFFIXES libswscale )
|
||||
|
||||
|
||||
SET( FFMPEG_LIBRARIES avformat avcodec avutil avdevice )
|
||||
SET( FFMPEG_SWS_LIBRARIES swscale )
|
||||
INCLUDE(FindPkgConfig)
|
||||
if ( PKG_CONFIG_FOUND )
|
||||
pkg_check_modules( AVFORMAT libavformat )
|
||||
pkg_check_modules( AVCODEC libavcodec )
|
||||
pkg_check_modules( AVUTIL libavutil )
|
||||
pkg_check_modules( AVDEVICE libavdevice )
|
||||
pkg_check_modules( SWSCALE libswscale )
|
||||
endif ( PKG_CONFIG_FOUND )
|
||||
|
||||
SET( FFMPEG_LIBRARY_DIR ${AVFORMAT_LIBRARY_DIRS}
|
||||
${AVCODEC_LIBRARY_DIRS}
|
||||
${AVUTIL_LIBRARY_DIRS}
|
||||
${AVDEVICE_LIBRARY_DIRS} )
|
||||
SET( FFMPEG_INCLUDE_PATHS ${AVFORMAT_INCLUDE_DIRS}
|
||||
${AVCODEC_INCLUDE_DIRS}
|
||||
${AVUTIL_INCLUDE_DIRS}
|
||||
${AVDEVICE_INCLUDE_DIRS} )
|
||||
|
||||
|
||||
# add in swscale if found
|
||||
IF ( SWSCALE_FOUND )
|
||||
SET( FFMPEG_LIBRARY_DIR ${FFMPEG_LIBRARY_DIR}
|
||||
${SWSCALE_LIBRARY_DIRS} )
|
||||
SET( FFMPEG_INCLUDE_PATHS ${FFMPEG_INCLUDE_PATHS}
|
||||
${SWSCALE_INCLUDE_DIRS} )
|
||||
SET( FFMPEG_HEADERS ${FFMPEG_HEADERS}
|
||||
${FFMPEG_SWS_HEADERS} )
|
||||
SET( FFMPEG_PATH_SUFFIXES ${FFMPEG_PATH_SUFFIXES}
|
||||
${FFMPEG_SWS_PATH_SUFFIXES} )
|
||||
SET( FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES}
|
||||
${FFMPEG_SWS_LIBRARIES} )
|
||||
ENDIF ( SWSCALE_FOUND )
|
||||
|
||||
# find includes
|
||||
SET( INC_SUCCESS 0 )
|
||||
SET( TMP_ TMP-NOTFOUND )
|
||||
SET( FFMPEG_INCLUDE_DIR ${FFMPEG_INCLUDE_PATHS} )
|
||||
FOREACH( INC_ ${FFMPEG_HEADERS} )
|
||||
message( "checking: " ${INC_} )
|
||||
|
||||
FIND_PATH( TMP_ ${INC_}
|
||||
PATHS ${FFMPEG_INCLUDE_PATHS}
|
||||
PATH_SUFFIXES ${FFMPEG_PATH_SUFFIXES} )
|
||||
IF ( TMP_ )
|
||||
message( "found: " ${TMP_} )
|
||||
MATH( EXPR INC_SUCCESS ${INC_SUCCESS}+1 )
|
||||
SET( FFMPEG_INCLUDE_DIR ${FFMPEG_INCLUDE_DIR} ${TMP_} )
|
||||
ENDIF ( TMP_ )
|
||||
SET( TMP_ TMP-NOTFOUND )
|
||||
ENDFOREACH( INC_ )
|
||||
|
||||
# clear out duplicates
|
||||
if(NOT "${FFMPEG_INCLUDE_DIR}" MATCHES "")
|
||||
LIST( REMOVE_DUPLICATES FFMPEG_INCLUDE_DIR )
|
||||
endif(NOT "${FFMPEG_INCLUDE_DIR}" MATCHES "")
|
||||
if(NOT "${FFMPEG_LIBRARY_DIR}" MATCHES "")
|
||||
LIST( REMOVE_DUPLICATES FFMPEG_LIBRARY_DIR )
|
||||
endif(NOT "${FFMPEG_LIBRARY_DIR}" MATCHES "")
|
||||
|
||||
# find the full paths of the libraries
|
||||
SET( TMP_ TMP-NOTFOUND )
|
||||
IF ( NOT WIN32 )
|
||||
FOREACH( LIB_ ${FFMPEG_LIBRARIES} )
|
||||
FIND_LIBRARY( TMP_ NAMES ${LIB_} PATHS ${FFMPEG_LIBRARY_DIR} )
|
||||
IF ( TMP_ )
|
||||
SET( FFMPEG_LIBRARIES_FULL ${FFMPEG_LIBRARIES_FULL} ${TMP_} )
|
||||
ENDIF ( TMP_ )
|
||||
SET( TMP_ TMP-NOTFOUND )
|
||||
ENDFOREACH( LIB_ )
|
||||
SET ( FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES_FULL} )
|
||||
ENDIF( NOT WIN32 )
|
||||
|
||||
unset(TMP_)
|
||||
|
||||
LIST( LENGTH FFMPEG_HEADERS LIST_SIZE_ )
|
||||
|
||||
SET( FFMPEG_FOUND FALSE )
|
||||
SET( FFMPEG_SWSCALE_FOUND FALSE )
|
||||
IF ( ${INC_SUCCESS} EQUAL ${LIST_SIZE_} )
|
||||
SET( FFMPEG_FOUND TRUE )
|
||||
SET( FFMPEG_SWSCALE_FOUND ${SWSCALE_FOUND} )
|
||||
ENDIF ( ${INC_SUCCESS} EQUAL ${LIST_SIZE_} )
|
||||
|
||||
|
||||
|
||||
IF( NOT WIN32 )
|
||||
IF( NOT FFMPEG_FOUND )
|
||||
SET( USE_FFMPEG FALSE )
|
||||
ELSE()
|
||||
SET( DEPENDENCIES_STRING "${DEPENDENCIES_STRING}FFMPEG" )
|
||||
INCLUDE_DIRECTORIES( ffmpeg )
|
||||
#SET( CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -D__STDC_CONSTANT_MACROS )
|
||||
INCLUDE_DIRECTORIES(${FFMPEG_INCLUDE_DIR} ${FFMPEG_INCLUDE_DIRS})
|
||||
ADD_LIBRARY( FFmpeg lib/ffmpeg/LibAvContextHandle.cpp )
|
||||
TARGET_LINK_LIBRARIES( FFmpeg ${FFMPEG_LIBRARIES} )
|
||||
LIST(APPEND LINKER_LIBS FFmpeg )
|
||||
LIST(APPEND CPACK_DEBIAN_PACKAGE_DEPENDS ",")
|
||||
LIST(APPEND CPACK_DEBIAN_PACKAGE_DEPENDS "libavformat54, libavcodec54, libavutil52")
|
||||
SET( APPEND_VERSION "${APPEND_VERSION}_wFFmpeg" )
|
||||
ENDIF()
|
||||
ELSE()
|
||||
SET( USE_FFMPEG FALSE )
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
#####################################################################################
|
||||
# Pixfc-sse library cmake file
|
||||
######################################################################################
|
||||
# https://github.com/pixlra/fervor
|
||||
# git clone https://github.com/pixlra/fervor.git source/lib
|
||||
|
||||
SET( FERVOR_DIR ${CMAKE_CURRENT_SOURCE_DIR}/source/lib/fervor )
|
||||
|
||||
IF( USE_FERVOR )
|
||||
IF(EXISTS ${FERVOR_DIR} )
|
||||
SET( FERVOR_APP_NAME ${PROJECT_NAME} )
|
||||
SET( FERVOR_APP_VERSION ${PLAYUVER_VERSION} )
|
||||
ADD_SUBDIRECTORY( ${FERVOR_DIR} )
|
||||
INCLUDE_DIRECTORIES( ${FERVOR_DIR} )
|
||||
LIST(APPEND LINKER_LIBS "Fervor" )
|
||||
|
||||
FIND_PACKAGE( Qt5Network REQUIRED )
|
||||
FIND_PACKAGE( Qt5WebKit REQUIRED )
|
||||
FIND_PACKAGE( Qt5WebKitWidgets REQUIRED )
|
||||
LIST(APPEND LINKER_LIBS ${FERVOR_DEPENDENCIES} )
|
||||
INCLUDE_DIRECTORIES( ${FERVOR_INCLUDE_DIRS} )
|
||||
|
||||
SET(QT_USE_QTNETWORK true)
|
||||
SET(QT_USE_QTWEBKIT true)
|
||||
|
||||
IF( WIN32 )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Network${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5WebKit${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5WebKitWidgets${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Quick${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Qml${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Multimedia${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Sql${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Positioning${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Sensors${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5MultimediaWidgets${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5OpenGL${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5PrintSupport${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
|
||||
ENDIF()
|
||||
|
||||
LIST(APPEND QT_MODULES Network WebKit WebKitWidgets )
|
||||
|
||||
ELSE()
|
||||
MESSAGE( "Fervor lib source code is not find in ${FERVOR_DIR}... Disabling it!" )
|
||||
SET( USE_FERVOR False )
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
@@ -1,55 +0,0 @@
|
||||
#####################################################################################
|
||||
# Qt library cmake file
|
||||
######################################################################################
|
||||
|
||||
IF( WIN32 )
|
||||
SET(QT_DIR "QT-Dir" CACHE PATH "Where to find QT Lib on Windows")
|
||||
SET(QT_DLL_POSTFIX "" CACHE STRING "Postfix to dll's name for debug" )
|
||||
SET(CMAKE_PREFIX_PATH ${QT_DIR} )
|
||||
ENDIF()
|
||||
|
||||
IF( USE_QT4 )
|
||||
SET( DEPENDENCIES_STRING "${DEPENDENCIES_STRING}QT4" )
|
||||
FIND_PACKAGE( Qt4 REQUIRED QtCore QtGui QtNetwork QtWebKit )
|
||||
IF( NOT QT4_FOUND )
|
||||
SET(USE_QT4 FALSE)
|
||||
ELSE()
|
||||
INCLUDE( ${QT_USE_FILE} )
|
||||
ADD_DEFINITIONS( ${QT_DEFINITIONS} )
|
||||
LIST(APPEND LINKER_LIBS ${QT_LIBRARIES} )
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
IF( NOT USE_QT4 )
|
||||
SET( DEPENDENCIES_STRING "${DEPENDENCIES_STRING}QT5" )
|
||||
FIND_PACKAGE( Qt5Core REQUIRED )
|
||||
FIND_PACKAGE( Qt5Gui REQUIRED )
|
||||
FIND_PACKAGE( Qt5Widgets REQUIRED )
|
||||
INCLUDE_DIRECTORIES( ${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS} )
|
||||
# Add compiler flags for building executables (-fPIE)
|
||||
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}" )
|
||||
LIST(APPEND LINKER_LIBS ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Widgets_LIBRARIES} )
|
||||
LIST(APPEND QT_MODULES Core Gui Widgets )
|
||||
IF( WIN32 )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Core${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Gui${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Widgets${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/libGLESv2${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/libEGL${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/icudt52.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/icuin52.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/icuuc52.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/plugins/platforms/qminimal.dll DESTINATION bin/platforms )
|
||||
INSTALL(FILES ${QT_DIR}/plugins/platforms/qoffscreen.dll DESTINATION bin/platforms )
|
||||
INSTALL(FILES ${QT_DIR}/plugins/platforms/qwindows.dll DESTINATION bin/platforms )
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
|
||||
IF( USE_QT4 )
|
||||
LIST(APPEND CPACK_DEBIAN_PACKAGE_DEPENDS "libqtcore4 (>= 4:4.8.5), libqtgui4 (>= 4:4.8.5)" )
|
||||
SET( APPEND_VERSION "${APPEND_VERSION}_wQT4" )
|
||||
ELSE()
|
||||
LIST(APPEND CPACK_DEBIAN_PACKAGE_DEPENDS "libqt5core5a, libqt5gui5, libqt5widgets5")
|
||||
SET( APPEND_VERSION "${APPEND_VERSION}_wQT5" )
|
||||
ENDIF()
|
||||
@@ -1,20 +1,33 @@
|
||||
#####################################################################################
|
||||
# OpenCV library cmake file
|
||||
# DLLs and Win32 specific code
|
||||
######################################################################################
|
||||
|
||||
IF( USE_OPENCV )
|
||||
|
||||
FIND_PACKAGE( OpenCV )
|
||||
IF( NOT OpenCV_FOUND)
|
||||
SET(USE_OPENCV FALSE)
|
||||
ELSE()
|
||||
LIST(APPEND LINKER_LIBS ${OpenCV_LIBRARIES} )
|
||||
ENDIF()
|
||||
SET(MSVC_DLL_DIR "MSVC_DLL_DIR" CACHE PATH "Where to find MSVC dlls")
|
||||
INSTALL(FILES ${MSVC_DLL_DIR}/msvcr120.dll DESTINATION bin )
|
||||
INSTALL(FILES ${MSVC_DLL_DIR}/msvcp120.dll DESTINATION bin )
|
||||
|
||||
SET(QT_DIR "QT-Dir" CACHE PATH "Where to find QT Lib on Windows")
|
||||
SET(QT_DLL_POSTFIX "" CACHE STRING "Postfix to dll's name for debug" )
|
||||
SET(CMAKE_PREFIX_PATH ${QT_DIR} )
|
||||
|
||||
|
||||
IF( NOT USE_QT4 )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Core${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Gui${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/Qt5Widgets${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/libGLESv2${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/libEGL${QT_DLL_POSTFIX}.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/icudt52.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/icuin52.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/bin/icuuc52.dll DESTINATION bin )
|
||||
INSTALL(FILES ${QT_DIR}/plugins/platforms/qminimal.dll DESTINATION bin/platforms )
|
||||
INSTALL(FILES ${QT_DIR}/plugins/platforms/qoffscreen.dll DESTINATION bin/platforms )
|
||||
INSTALL(FILES ${QT_DIR}/plugins/platforms/qwindows.dll DESTINATION bin/platforms )
|
||||
ENDIF()
|
||||
|
||||
IF( USE_OPENCV )
|
||||
SET( DEPENDENCIES_STRING "${DEPENDENCIES_STRING}OPENCV" )
|
||||
SET( DEPENDENCIES_STRING "${DEPENDENCIES_STRING}OPENCV" )
|
||||
IF( WIN32 )
|
||||
SET(OpenCV_DLL_DIR "${OpenCV_DIR}/bin" CACHE PATH "Where to find OpenCV dlls")
|
||||
INSTALL(FILES ${OpenCV_DLL_DIR}/opencv_core${OpenCV_VERSION_MAJOR}${OpenCV_VERSION_MINOR}${OpenCV_VERSION_PATCH}.dll DESTINATION bin )
|
||||
+15
-6
@@ -4,10 +4,6 @@
|
||||
|
||||
INCLUDE_DIRECTORIES( ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} )
|
||||
|
||||
ADD_OPTION(USE_OPENCV "Add OpenCV support" OFF )
|
||||
ADD_OPTION(USE_FFMPEG "Add FFMPEG support" OFF )
|
||||
ADD_OPTION(USE_PIXFC "Add PIXFC support" OFF )
|
||||
|
||||
set(plaYUver_Lib_SRCS
|
||||
# Frame
|
||||
PlaYUVerFrame.cpp
|
||||
@@ -16,17 +12,30 @@ set(plaYUver_Lib_SRCS
|
||||
PlaYUVerStream.cpp
|
||||
)
|
||||
|
||||
IF( USE_FFMPEG )
|
||||
LIST( APPEND plaYUver_Lib_SRCS LibAvContextHandle.cpp )
|
||||
ENDIF()
|
||||
|
||||
set(plaYUver_Lib_HEADERS
|
||||
PlaYUVerFrame.h
|
||||
PlaYUVerStream.h
|
||||
)
|
||||
|
||||
INCLUDE( LibPixfc.cmake )
|
||||
# OPTION( USE_PIXFC "Add PIXFC support" OFF )
|
||||
# IF( USE_PIXFC )
|
||||
# IF(EXISTS "${EXTERNAL_SRC}/pixfc-sse/build/src/libpixfc-sse.a")
|
||||
# INCLUDE_DIRECTORIES( ${EXTERNAL_SRC}/pixfc-sse/include )
|
||||
# LIST(APPEND LINKER_LIBS ${EXTERNAL_SRC}/pixfc-sse/build/src/libpixfc-sse.a )
|
||||
# LIST(APPEND LINKER_LIBS rt)
|
||||
# ELSE()
|
||||
# SET( USE_PIXFC OFF )
|
||||
# ENDIF()
|
||||
# ENDIF()
|
||||
|
||||
CONFIGURE_FILE( PlaYUVerConfig.cmake.in ${CMAKE_BINARY_DIR}/PlaYUVerConfig.cmake @ONLY)
|
||||
|
||||
ADD_LIBRARY( PlaYUVerLib ${plaYUver_Lib_SRCS} )
|
||||
TARGET_LINK_LIBRARIES( PlaYUVerLib ${LINKER_LIBS} )
|
||||
TARGET_LINK_LIBRARIES( PlaYUVerLib ${FFMPEG_LIBRARIES} ${OpenCV_LIBRARIES} )
|
||||
|
||||
INSTALL(FILES ${plaYUver_Lib_HEADERS} DESTINATION include )
|
||||
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libPlaYUVerLib.a DESTINATION lib )
|
||||
@@ -24,8 +24,8 @@
|
||||
|
||||
#include <cstdio>
|
||||
#include "LibAvContextHandle.h"
|
||||
#include "lib/PlaYUVerFrame.h"
|
||||
#include "lib/PlaYUVerFramePixelFormats.h"
|
||||
#include "PlaYUVerFrame.h"
|
||||
#include "PlaYUVerFramePixelFormats.h"
|
||||
#include "LibMemory.h"
|
||||
|
||||
namespace plaYUVer
|
||||
@@ -44,7 +44,7 @@ extern "C"
|
||||
#include <libavformat/avformat.h>
|
||||
}
|
||||
|
||||
#include "lib/PlaYUVerDefs.h"
|
||||
#include "PlaYUVerDefs.h"
|
||||
|
||||
namespace plaYUVer
|
||||
{
|
||||
@@ -1,16 +0,0 @@
|
||||
#####################################################################################
|
||||
# Pixfc-sse library cmake file
|
||||
######################################################################################
|
||||
# https://code.google.com/p/pixfc-sse/
|
||||
# svn checkout http://pixfc-sse.googlecode.com/svn/trunk/ pixfc-sse
|
||||
# Add to folder external
|
||||
|
||||
IF( USE_PIXFC )
|
||||
IF(EXISTS "${EXTERNAL_SRC}/pixfc-sse/build/src/libpixfc-sse.a")
|
||||
INCLUDE_DIRECTORIES( ${EXTERNAL_SRC}/pixfc-sse/include )
|
||||
LIST(APPEND LINKER_LIBS ${EXTERNAL_SRC}/pixfc-sse/build/src/libpixfc-sse.a )
|
||||
LIST(APPEND LINKER_LIBS rt)
|
||||
ELSE()
|
||||
SET( USE_PIXFC OFF )
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
+13
-6
@@ -4,9 +4,19 @@
|
||||
|
||||
INCLUDE_DIRECTORIES( ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} )
|
||||
|
||||
# set(plaYUver_Mod_SRCS
|
||||
# PlaYUVerModuleIf.cpp
|
||||
# )
|
||||
MACRO(ADD_MODULE name file )
|
||||
set(__modulename "Module${name}")
|
||||
OPTION(MODULE_${name} "Use module ${name}" ON )
|
||||
ADD_FEATURE_INFO(${name} MODULE_${name} "Module ${name}" )
|
||||
if( MODULE_${name} )
|
||||
list(APPEND plaYUver_Mod_SRCS ${file} )
|
||||
LIST(APPEND MODULES_LIST ${name} )
|
||||
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/ModulesListHeader.h "#include \"${file}.h\"\n")
|
||||
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/ModulesListMacro.h "\\\n REGISTER_MODULE( ${name} ); ")
|
||||
endif()
|
||||
unset(__modulename)
|
||||
ENDMACRO()
|
||||
|
||||
|
||||
|
||||
#
|
||||
@@ -42,6 +52,3 @@ file( APPEND ${CMAKE_CURRENT_BINARY_DIR}/ModulesListMacro.h "\n#endif // __MO
|
||||
file( APPEND ${CMAKE_CURRENT_BINARY_DIR}/ModulesListHeader.h "#endif // __MODULESLISTHEADER_H__\n" )
|
||||
|
||||
ADD_LIBRARY( PlaYUVerModules ${plaYUver_Mod_SRCS} )
|
||||
|
||||
|
||||
status("Modules List:" "${MODULES_LIST}" )
|
||||
Reference in new issue
Block a user