Commit bfe82db3 authored by Ghislain MARY's avatar Ghislain MARY

Merge branch 'dev_external_source' of git.linphone.org:linphone-cmake-builder

parents 3faa8eff 96fdf80e
......@@ -35,6 +35,8 @@ option(LINPHONE_BUILDER_CHECK_LASTEST "Check that the git revisions are the late
option(LINPHONE_BUILDER_BUILD_DEPENDENCIES "Build the dependencies instead of using the system libraries." YES)
set(LINPHONE_BUILDER_EXTERNAL_SOURCE_PATH "" CACHE STRING "External path to source code that is available.")
set(LINPHONE_BUILDER_DUMMY_LIBRARIES "" CACHE STRING "Dummy libraries to be generated.")
option(LINPHONE_BUILDER_BUILD_ONLY_EXTERNAL_SOURCE_PATH "Build only the code put in external source path." NO)
option(LINPHONE_BUILDER_GROUP_EXTERNAL_SOURCE_PATH_BUILDERS "Group external source path builders in a single external project." NO)
# Include macros definition to be used by builders
......@@ -72,7 +74,7 @@ else()
# Apply build flags and add external projects
linphone_builder_apply_flags()
linphone_builder_add_external_projects()
linphone_builder_add_projects()
linphone_builder_add_dummy_libraries_generation()
......
......@@ -24,6 +24,7 @@ set(EP_bcg729_GIT_REPOSITORY "git://git.linphone.org/bcg729.git" CACHE STRING "b
set(EP_bcg729_GIT_TAG_LATEST "master" CACHE STRING "bcg729 tag to use when compiling latest version")
set(EP_bcg729_GIT_TAG "7f76ef482b26400995474d37fc330565a9fe0e9e" CACHE STRING "bcg729 tag to use")
set(EP_bcg729_EXTERNAL_SOURCE_PATHS "bcg729")
set(EP_bcg729_GROUPABLE YES)
set(EP_bcg729_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_bcg729_DEPENDENCIES EP_ms2)
......@@ -24,6 +24,7 @@ set(EP_bellesip_GIT_REPOSITORY "git://git.linphone.org/belle-sip.git" CACHE STRI
set(EP_bellesip_GIT_TAG_LATEST "master" CACHE STRING "bellesip tag to use when compiling latest version")
set(EP_bellesip_GIT_TAG "ef77560739397b042da62189236b2c1889f84cd3" CACHE STRING "bellesip tag to use")
set(EP_bellesip_EXTERNAL_SOURCE_PATHS "belle-sip")
set(EP_bellesip_GROUPABLE YES)
set(EP_bellesip_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_bellesip_DEPENDENCIES )
......
......@@ -24,6 +24,7 @@ set(EP_bzrtp_GIT_REPOSITORY "git://git.linphone.org/bzrtp.git" CACHE STRING "bzr
set(EP_bzrtp_GIT_TAG_LATEST "master" CACHE STRING "bzrtp tag to use when compiling latest version")
set(EP_bzrtp_GIT_TAG "197b527d97a633074ecac82938a20073f73b88b0" CACHE STRING "bzrtp tag to use")
set(EP_bzrtp_EXTERNAL_SOURCE_PATHS "bzrtp")
set(EP_bzrtp_GROUPABLE YES)
set(EP_bzrtp_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_bzrtp_DEPENDENCIES )
......
......@@ -24,6 +24,7 @@ set(EP_linphone_GIT_REPOSITORY "git://git.linphone.org/linphone.git" CACHE STRIN
set(EP_linphone_GIT_TAG_LATEST "master" CACHE STRING "linphone tag to use when compiling latest version")
set(EP_linphone_GIT_TAG "e3bf7b0387a9e8f782ff745575dd412e193246de" CACHE STRING "linphone tag to use")
set(EP_linphone_EXTERNAL_SOURCE_PATHS "linphone")
set(EP_linphone_GROUPABLE YES)
set(EP_linphone_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_linphone_DEPENDENCIES EP_bellesip EP_ortp EP_ms2)
......
......@@ -24,6 +24,7 @@ set(EP_ms2_GIT_REPOSITORY "git://git.linphone.org/mediastreamer2.git" CACHE STRI
set(EP_ms2_GIT_TAG_LATEST "master" CACHE STRING "ms2 tag to use when compiling latest version")
set(EP_ms2_GIT_TAG "810a99275823edc1ca8567c892406c016c48d2f8" CACHE STRING "ms2 tag to use")
set(EP_ms2_EXTERNAL_SOURCE_PATHS "mediastreamer2" "linphone/mediastreamer2")
set(EP_ms2_GROUPABLE YES)
set(EP_ms2_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_ms2_DEPENDENCIES EP_ortp)
......
......@@ -24,6 +24,7 @@ set(EP_msamr_GIT_REPOSITORY "git://git.linphone.org/msamr.git" CACHE STRING "msa
set(EP_msamr_GIT_TAG_LATEST "master" CACHE STRING "msamr tag to use when compiling latest version")
set(EP_msamr_GIT_TAG "076adbf96b8c369eb82817802819444fdc119139" CACHE STRING "msamr tag to use")
set(EP_msamr_EXTERNAL_SOURCE_PATHS "msamr")
set(EP_msamr_GROUPABLE YES)
set(EP_msamr_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_msamr_DEPENDENCIES EP_ms2 EP_opencoreamr)
......
......@@ -24,6 +24,7 @@ set(EP_msilbc_GIT_REPOSITORY "git://git.linphone.org/msilbc.git" CACHE STRING "m
set(EP_msilbc_GIT_TAG_LATEST "master" CACHE STRING "msilbc tag to use when compiling latest version")
set(EP_msilbc_GIT_TAG "c5924ec00cfb4620bae6e980afdff89206211f64" CACHE STRING "msilbc tag to use")
set(EP_msilbc_EXTERNAL_SOURCE_PATHS "msilbc")
set(EP_msilbc_GROUPABLE YES)
set(EP_msilbc_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_msilbc_DEPENDENCIES EP_ms2 EP_libilbcrfc3951)
......
......@@ -24,6 +24,7 @@ set(EP_msopenh264_GIT_REPOSITORY "git://git.linphone.org/msopenh264.git" CACHE S
set(EP_msopenh264_GIT_TAG_LATEST "master" CACHE STRING "msopenh264 tag to use when compiling latest version")
set(EP_msopenh264_GIT_TAG "0722c480d61746e9ab36f76b04ab2f3210890d07" CACHE STRING "msopenh264 tag to use")
set(EP_msopenh264_EXTERNAL_SOURCE_PATHS "msopenh264")
set(EP_msopenh264_GROUPABLE YES)
set(EP_msopenh264_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_msopenh264_DEPENDENCIES EP_ms2 EP_openh264)
......
......@@ -24,6 +24,7 @@ set(EP_mssilk_GIT_REPOSITORY "git://git.linphone.org/mssilk.git" CACHE STRING "m
set(EP_mssilk_GIT_TAG_LATEST "master" CACHE STRING "mssilk tag to use when compiling latest version")
set(EP_mssilk_GIT_TAG "60c53a1542f3c5cb93342c7fb16e00ce075dd8f7" CACHE STRING "mssilk tag to use")
set(EP_mssilk_EXTERNAL_SOURCE_PATHS "mssilk")
set(EP_mssilk_GROUPABLE YES)
set(EP_mssilk_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_mssilk_DEPENDENCIES EP_ms2)
......@@ -24,6 +24,7 @@ set(EP_mswasapi_GIT_REPOSITORY "git://git.linphone.org/mswasapi.git" CACHE STRIN
set(EP_mswasapi_GIT_TAG_LATEST "master" CACHE STRING "mswasapi tag to use when compiling latest version")
set(EP_mswasapi_GIT_TAG "81fe8504f70854bf7e1beb870248d31c5ffd4f5b" CACHE STRING "mswasapi tag to use")
set(EP_mswasapi_EXTERNAL_SOURCE_PATHS "mswasapi")
set(EP_mswasapi_GROUPABLE YES)
set(EP_mswasapi_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_mswasapi_EXTRA_LDFLAGS "/SAFESEH:NO")
......
......@@ -24,6 +24,7 @@ set(EP_mswebrtc_GIT_REPOSITORY "git://git.linphone.org/mswebrtc.git" CACHE STRIN
set(EP_mswebrtc_GIT_TAG_LATEST "master" CACHE STRING "mswebrtc tag to use when compiling latest version")
set(EP_mswebrtc_GIT_TAG "88c0fa6ae7ea35fa25eac5ce4b50898e85443ff0" CACHE STRING "mswebrtc tag to use")
set(EP_mswebrtc_EXTERNAL_SOURCE_PATHS "mswebrtc")
set(EP_mswebrtc_GROUPABLE YES)
set(EP_mswebrtc_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_mswebrtc_DEPENDENCIES EP_ms2)
......
......@@ -24,6 +24,7 @@ set(EP_msx264_GIT_REPOSITORY "git://git.linphone.org/msx264.git" CACHE STRING "m
set(EP_msx264_GIT_TAG_LATEST "master" CACHE STRING "msx264 tag to use when compiling latest version")
set(EP_msx264_GIT_TAG "3a9b5a9ff79ea45b9f8f03d03d4a4a9213dc2c5d" CACHE STRING "msx264 tag to use")
set(EP_msx264_EXTERNAL_SOURCE_PATHS "msx264")
set(EP_msx264_GROUPABLE YES)
set(EP_msx264_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_msx264_DEPENDENCIES EP_ms2 EP_x264)
......@@ -24,6 +24,7 @@ set(EP_ortp_GIT_REPOSITORY "git://git.linphone.org/ortp.git" CACHE STRING "ortp
set(EP_ortp_GIT_TAG_LATEST "master" CACHE STRING "ortp tag to use when compiling latest version")
set(EP_ortp_GIT_TAG "ef3258413d81f38033b15cb14362be26471d96d3" CACHE STRING "ortp tag to use")
set(EP_ortp_EXTERNAL_SOURCE_PATHS "oRTP" "ortp" "linphone/oRTP")
set(EP_ortp_GROUPABLE YES)
if(EP_ortp_FORCE_AUTOTOOLS)
set(EP_ortp_LINKING_TYPE "--enable-static")
......
......@@ -23,6 +23,8 @@
set(EP_tunnel_GIT_REPOSITORY "gitosis@git.linphone.org:tunnel.git" CACHE STRING "tunnel repository URL") # Private repository
set(EP_tunnel_GIT_TAG_LATEST "master" CACHE STRING "tunnel tag to use when compiling latest version")
set(EP_tunnel_GIT_TAG "8f56e77729e6aed5d0daf9ddec94ad67a936e0d0" CACHE STRING "tunnel tag to use")
set(EP_tunnel_EXTERNAL_SOURCE_PATHS "tunnel")
set(EP_tunnel_GROUPABLE YES)
set(EP_tunnel_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_tunnel_DEPENDENCIES )
......
......@@ -49,6 +49,8 @@ include(cmake/CheckBuildTools.cmake)
set(LINPHONE_BUILDER_EP_VARS)
set(LINPHONE_BUILDER_INCLUDED_BUILDERS)
set(LINPHONE_BUILDER_INCLUDED_BUILDERS_TO_EXCLUDE)
set(LINPHONE_BUILDER_EXTERNAL_SOURCE_PATH_BUILDERS)
macro(linphone_builder_expand_external_project_vars)
set(LINPHONE_BUILDER_EP_ARGS "")
......@@ -186,7 +188,34 @@ endmacro()
macro(linphone_builder_add_builder_to_target TARGETNAME BUILDER)
linphone_builder_include_builder(${BUILDER})
add_dependencies(${TARGETNAME} EP_${BUILDER})
if(LINPHONE_BUILDER_EXTERNAL_SOURCE_PATH AND (LINPHONE_BUILDER_GROUP_EXTERNAL_SOURCE_PATH_BUILDERS OR LINPHONE_BUILDER_BUILD_ONLY_EXTERNAL_SOURCE_PATH))
foreach(SUBDIR ${EP_${BUILDER}_EXTERNAL_SOURCE_PATHS})
set(_source_dir "${LINPHONE_BUILDER_EXTERNAL_SOURCE_PATH}/${SUBDIR}")
if(EXISTS "${_source_dir}")
#message(" ${TARGETNAME} depends on external source path ${LINPHONE_BUILDER_EXTERNAL_SOURCE_PATH}/${SUBDIR}")
set(_build_from_external_source_path 1)
break()
endif()
endforeach()
if(_build_from_external_source_path)
list(FIND LINPHONE_BUILDER_EXTERNAL_SOURCE_PATH_BUILDERS ${BUILDER} _already_included)
if(_already_included EQUAL -1)
message(" external source path builder ${BUILDER}")
set(EP_${BUILDER}_SOURCE_DIR "${_source_dir}")
list(APPEND LINPHONE_BUILDER_EXTERNAL_SOURCE_PATH_BUILDERS ${BUILDER})
endif()
unset(_already_included)
elseif(LINPHONE_BUILDER_BUILD_ONLY_EXTERNAL_SOURCE_PATH)
list(APPEND LINPHONE_BUILDER_INCLUDED_BUILDERS_TO_EXCLUDE ${BUILDER})
else()
#message(" ${TARGETNAME} depends on external project EP_${BUILDER}")
add_dependencies(${TARGETNAME} EP_${BUILDER})
endif()
unset(_build_from_external_source_path)
else()
#message(" ${TARGETNAME} depends on external project EP_${BUILDER}")
add_dependencies(${TARGETNAME} EP_${BUILDER})
endif()
endmacro()
......@@ -321,15 +350,35 @@ endmacro()
# the specific file is not defined
function(linphone_builder_configure_file_for_project PROJNAME CMD DEFAULT_CONF_FILE OUTPUT)
if("${EP_${PROJNAME}_${CMD}_COMMAND_SOURCE}" STREQUAL "")
MESSAGE(STATUS "Using default file ${DEFAULT_CONF_FILE} for ${CMD} step of ${PROJNAME}")
message(STATUS "Using default file ${DEFAULT_CONF_FILE} for ${CMD} step of ${PROJNAME}")
configure_file(${DEFAULT_CONF_FILE} ${OUTPUT})
else()
MESSAGE(STATUS "Using specific file ${EP_${PROJNAME}_${CMD}_COMMAND_SOURCE} for ${CMD} step of ${PROJNAME}")
message(STATUS "Using specific file ${EP_${PROJNAME}_${CMD}_COMMAND_SOURCE} for ${CMD} step of ${PROJNAME}")
configure_file(${EP_${PROJNAME}_${CMD}_COMMAND_SOURCE} ${OUTPUT})
endif()
endfunction()
function(linphone_builder_add_project PROJNAME)
macro(linphone_builder_filter_out_inexistent_dependencies PROJNAME)
if(EP_${PROJNAME}_DEPENDENCIES)
set(_new_deps )
foreach(_dep ${EP_${PROJNAME}_DEPENDENCIES})
string(REGEX REPLACE "^EP_" "" _dep2 ${_dep})
list(FIND LINPHONE_BUILDER_INCLUDED_BUILDERS ${_dep2} _found)
list(FIND LINPHONE_BUILDER_INCLUDED_BUILDERS_TO_EXCLUDE ${_dep2} _excluded_found)
list(FIND LINPHONE_BUILDER_EXTERNAL_SOURCE_PATH_BUILDERS ${_dep2} _external_source_path_found)
if((_found GREATER -1) AND (_excluded_found EQUAL -1) AND ((_external_source_path_found EQUAL -1) OR (NOT EP_${_dep2}_GROUPABLE)))
list(APPEND _new_deps ${_dep})
endif()
endforeach()
unset(_dep)
unset(_found)
unset(_external_source_path_found)
set(EP_${PROJNAME}_DEPENDENCIES ${_new_deps})
unset(_new_deps)
endif()
endmacro()
function(linphone_builder_add_external_project PROJNAME)
if(LINPHONE_BUILDER_EXTERNAL_SOURCE_PATH)
foreach(SUBDIR ${EP_${PROJNAME}_EXTERNAL_SOURCE_PATHS})
if(NOT EP_${PROJNAME}_SOURCE_DIR)
......@@ -506,6 +555,8 @@ function(linphone_builder_add_project PROJNAME)
set(DOWNLOAD_SOURCE GIT_REPOSITORY ${EP_${PROJNAME}_GIT_REPOSITORY} GIT_TAG ${EP_${PROJNAME}_GIT_TAG})
endif()
linphone_builder_filter_out_inexistent_dependencies(${PROJNAME})
ExternalProject_Add(EP_${PROJNAME}
DEPENDS ${EP_${PROJNAME}_DEPENDENCIES}
BINARY_DIR ${ep_build}
......@@ -534,12 +585,110 @@ function(linphone_builder_add_project PROJNAME)
endfunction()
macro(linphone_builder_add_grouped_external_source_path_project PROJNAME FILENAME)
linphone_builder_filter_out_inexistent_dependencies(${PROJNAME})
file(APPEND "${FILENAME}" "add_subdirectory(\"${EP_${PROJNAME}_SOURCE_DIR}\" \"${LINPHONE_BUILDER_WORK_DIR}/Build/${PROJNAME}\")\n")
list(APPEND EP_linphone_builder_LINKING_TYPES "${EP_${PROJNAME}_LINKING_TYPE}")
list(APPEND EP_linphone_builder_CMAKE_OPTIONS "${EP_${PROJNAME}_CMAKE_OPTIONS}")
list(APPEND EP_linphone_builder_EXTRA_LDFLAGS "${EP_${PROJNAME}_EXTRA_LDFLAGS}")
list(APPEND EP_linphone_builder_ADDITIONAL_CMAKE_OPTIONS "-DEP_${PROJNAME}_INCLUDE_DIR=${EP_${PROJNAME}_SOURCE_DIR}/include")
list(APPEND EP_linphone_builder_ADDITIONAL_CMAKE_OPTIONS "-DEP_${PROJNAME}_CONFIG_DIR=${LINPHONE_BUILDER_WORK_DIR}/Build/${PROJNAME}")
if(EP_${PROJNAME}_DEPENDENCIES)
list(APPEND EP_linphone_builder_DEPENDENCIES ${EP_${PROJNAME}_DEPENDENCIES})
endif()
endmacro()
function(linphone_builder_add_external_projects)
foreach(BUILDER ${LINPHONE_BUILDER_INCLUDED_BUILDERS})
linphone_builder_add_project(${BUILDER})
list(FIND LINPHONE_BUILDER_INCLUDED_BUILDERS_TO_EXCLUDE ${BUILDER} _excluded_found)
list(FIND LINPHONE_BUILDER_EXTERNAL_SOURCE_PATH_BUILDERS ${BUILDER} _external_source_path_found)
if((_excluded_found EQUAL -1) AND ((_external_source_path_found EQUAL -1) OR (NOT LINPHONE_BUILDER_GROUP_EXTERNAL_SOURCE_PATH_BUILDERS) OR (NOT EP_${BUILDER}_GROUPABLE)))
linphone_builder_add_external_project(${BUILDER})
endif()
endforeach()
endfunction()
macro(detect_conflicting_cmake_options)
if(EP_linphone_builder_CMAKE_OPTIONS)
list(REMOVE_DUPLICATES EP_linphone_builder_CMAKE_OPTIONS)
set(_new_options )
foreach(_option ${EP_linphone_builder_CMAKE_OPTIONS})
string(REGEX MATCH "^-D(.+)=(.*)$" _match "${_option}")
if(_match)
set(_new_option "-D${CMAKE_MATCH_1}=")
if(CMAKE_MATCH_2)
set(_new_option "${_new_option}ON")
set(_conflicting_option "${_new_option}OFF")
else()
set(_new_option "${_new_option}OFF")
set(_conflicting_option "${_new_option}ON")
endif()
list(FIND _new_options "${_new_option}" _found)
list(FIND _new_options "${_conflicting_option}" _conflict_found)
if(_found EQUAL -1)
list(APPEND _new_options "${_new_option}")
endif()
if(_conflict_found GREATER -1)
message(FATAL_ERROR "Conflicting options ${_new_option} and ${_conflicting_option}")
endif()
endif()
endforeach()
if(_new_options)
set(EP_linphone_builder_CMAKE_OPTIONS ${_new_options})
endif()
endif()
endmacro()
function(linphone_builder_add_grouped_external_source_path_projects)
set(_grouped_builders)
if(LINPHONE_BUILDER_EXTERNAL_SOURCE_PATH_BUILDERS)
foreach (_builder ${LINPHONE_BUILDER_EXTERNAL_SOURCE_PATH_BUILDERS})
if(EP_${_builder}_GROUPABLE)
list(APPEND _grouped_builders ${_builder})
endif()
endforeach()
endif()
if(LINPHONE_BUILDER_GROUP_EXTERNAL_SOURCE_PATH_BUILDERS AND _grouped_builders)
make_directory("${LINPHONE_BUILDER_WORK_DIR}/Source/EP_linphone_builder")
set(_linphone_builder_file "${LINPHONE_BUILDER_WORK_DIR}/Source/EP_linphone_builder/CMakeLists.txt")
file(WRITE "${_linphone_builder_file}" "cmake_minimum_required(VERSION 3.0)\n")
file(APPEND "${_linphone_builder_file}" "project(EP_linphone_builder)\n")
file(APPEND "${_linphone_builder_file}" "option(LINPHONE_BUILDER_GROUP_EXTERNAL_SOURCE_PATH_BUILDERS \"Group external source path builders.\" ON)\n")
set(EP_linphone_builder_CMAKE_OPTIONS )
set(EP_linphone_builder_LINKING_TYPES )
set(EP_linphone_builder_EXTRA_LDFLAGS )
set(EP_linphone_builder_DEPENDENCIES )
foreach(BUILDER ${_grouped_builders})
linphone_builder_add_grouped_external_source_path_project(${BUILDER} "${_linphone_builder_file}")
endforeach()
list(REMOVE_DUPLICATES EP_linphone_builder_LINKING_TYPES)
list(LENGTH EP_linphone_builder_LINKING_TYPES _conflicting_linking_types)
if(_conflicting_linking_types GREATER 1)
message(FATAL_ERROR "Conflicing linking types in grouped external source path projects: ${EP_linphone_builder_LINKING_TYPES}")
else()
set(EP_linphone_builder_LINKING_TYPE ${EP_linphone_builder_LINKING_TYPES})
endif()
detect_conflicting_cmake_options()
if(EP_linphone_builder_EXTRA_LDFLAGS)
list(REMOVE_DUPLICATES EP_linphone_builder_EXTRA_LDFLAGS)
endif()
if(EP_linphone_builder_DEPENDENCIES)
list(REMOVE_DUPLICATES EP_linphone_builder_DEPENDENCIES)
endif()
list(APPEND EP_linphone_builder_CMAKE_OPTIONS ${EP_linphone_builder_ADDITIONAL_CMAKE_OPTIONS})
linphone_builder_add_external_project("linphone_builder")
add_dependencies(TARGET_linphone_builder EP_linphone_builder)
unset(_conflicting_linking_types)
unset(_linphone_builder_file)
unset(_grouped_builders)
endif()
endfunction()
function(linphone_builder_add_projects)
linphone_builder_add_external_projects()
linphone_builder_add_grouped_external_source_path_projects()
endfunction()
macro(linphone_builder_add_dummy_libraries_generation)
if(LINPHONE_BUILDER_DUMMY_LIBRARIES)
linphone_builder_apply_flags()
......
......@@ -73,7 +73,7 @@ if (IOS)
endif()
ms2_add_dependent_option("FFmpeg" "Some video processing features via FFmpeg: JPEG encoding/decoding, video scaling, H264 decoding..." ${DEFAULT_VALUE_ENABLE_FFMPEG} "${FFMPEG_DEPENDENT_PRED}" OFF)
ms2_add_dependent_option("H263" "H263 video encoding/decoding support (require license)." OFF "ENABLE_FFMPEG;ENABLE_NON_FREE_CODECS" OFF)
ms2_add_dependent_option("H263+" "H263+ video encoding/decoding support (require license)." OFF "ENABLE_FFMPEG;ENABLE_NON_FREE_CODECS" OFF)
ms2_add_dependent_option("H263p" "H263+ video encoding/decoding support (require license)." OFF "ENABLE_FFMPEG;ENABLE_NON_FREE_CODECS" OFF)
ms2_add_option("MKV" "MKV playing and recording support." ${DEFAULT_VALUE_ENABLE_MKV})
ms2_add_dependent_option("MPEG4" "MPEG4 video encoding/decoding support (require license)." OFF "ENABLE_FFMPEG;ENABLE_NON_FREE_CODECS" OFF)
ms2_add_dependent_option("OpenH264" "H.264 video encoding/decoding support with the openh264 library (require license)." OFF "ENABLE_VIDEO;ENABLE_NON_FREE_CODECS" OFF)
......
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