Implemented detection for VideoCaptureDevice on phonon module.
Fixes bug #355. Reviewer: Hugo Parente Lima <hugo.pl@gmail.com> Luciano Wolf <luciano.wolf@openbossa.org>
This commit is contained in:
parent
51cbe9d49e
commit
2f8381e712
3 changed files with 34 additions and 6 deletions
|
|
@ -47,19 +47,41 @@ macro(create_pyside_module module_name module_include_dir module_libraries modul
|
||||||
install(FILES ${typesystem_files} DESTINATION share/PySide${pyside_SUFFIX}/typesystems)
|
install(FILES ${typesystem_files} DESTINATION share/PySide${pyside_SUFFIX}/typesystems)
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
|
#macro(check_qt_class_with_namespace module namespace class global_sources [namespace])
|
||||||
macro(check_qt_class module class global_sources)
|
macro(check_qt_class module class global_sources)
|
||||||
|
if (${ARGC} GREATER 3)
|
||||||
|
set (namespace ${ARGV3})
|
||||||
|
string(TOLOWER ${namespace} _namespace)
|
||||||
|
else ()
|
||||||
|
set (namespace "")
|
||||||
|
endif ()
|
||||||
|
if (${ARGC} GREATER 4)
|
||||||
|
set (include_file ${ARGV4})
|
||||||
|
else ()
|
||||||
|
set (include_file ${module})
|
||||||
|
endif ()
|
||||||
string(TOLOWER ${class} _class)
|
string(TOLOWER ${class} _class)
|
||||||
string(TOUPPER ${module} _module)
|
string(TOUPPER ${module} _module)
|
||||||
|
if (${namespace})
|
||||||
|
set(_cppfile ${CMAKE_CURRENT_BINARY_DIR}/PySide/${module}/${_namespace}_${_class}_wrapper.cpp)
|
||||||
|
else ()
|
||||||
set(_cppfile ${CMAKE_CURRENT_BINARY_DIR}/PySide/${module}/${_class}_wrapper.cpp)
|
set(_cppfile ${CMAKE_CURRENT_BINARY_DIR}/PySide/${module}/${_class}_wrapper.cpp)
|
||||||
|
endif ()
|
||||||
if (DEFINED PYSIDE_${class})
|
if (DEFINED PYSIDE_${class})
|
||||||
if (PYSIDE_${class})
|
if (PYSIDE_${class})
|
||||||
list(APPEND ${global_sources} ${_cppfile})
|
list(APPEND ${global_sources} ${_cppfile})
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
|
if (NOT ${namespace} STREQUAL "" )
|
||||||
|
set (NAMESPACE_USE "using namespace ${namespace};")
|
||||||
|
else ()
|
||||||
|
set (NAMESPACE_USE "")
|
||||||
|
endif ()
|
||||||
set(SRC_FILE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/test${class}.cxx)
|
set(SRC_FILE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/test${class}.cxx)
|
||||||
file(WRITE ${SRC_FILE}
|
file(WRITE ${SRC_FILE}
|
||||||
"#include <${module}>\n"
|
"#include <${include_file}>\n"
|
||||||
"#include <typeinfo>\n"
|
"#include <typeinfo>\n"
|
||||||
|
"${NAMESPACE_USE}\n"
|
||||||
"int main() { typeid(${class}); }\n"
|
"int main() { typeid(${class}); }\n"
|
||||||
)
|
)
|
||||||
try_compile(Q_WORKS ${CMAKE_BINARY_DIR}
|
try_compile(Q_WORKS ${CMAKE_BINARY_DIR}
|
||||||
|
|
@ -85,7 +107,6 @@ endmacro()
|
||||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/global.h.in"
|
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/global.h.in"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/global.h" @ONLY)
|
"${CMAKE_CURRENT_BINARY_DIR}/global.h" @ONLY)
|
||||||
|
|
||||||
|
|
||||||
# Only add subdirectory if the associated Qt module is found.
|
# Only add subdirectory if the associated Qt module is found.
|
||||||
macro(HAS_QT_MODULE var name)
|
macro(HAS_QT_MODULE var name)
|
||||||
if (NOT DISABLE_${name} AND ${var})
|
if (NOT DISABLE_${name} AND ${var})
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,9 @@ ${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_volumeslider_wrapper.cpp
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_wrapper.cpp
|
${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_wrapper.cpp
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_backendcapabilities_notifierwrapper_wrapper.cpp
|
${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_backendcapabilities_notifierwrapper_wrapper.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
check_qt_class("phonon" "VideoCaptureDevice" phonon_SRC "Phonon" "ObjectDescription")
|
||||||
|
|
||||||
set(phonon_typesystem_path "${QtCore_SOURCE_DIR}${PATH_SEP}${QtGui_SOURCE_DIR}${PATH_SEP}${phonon_SOURCE_DIR}${PATH_SEP}${QtGui_BINARY_DIR}")
|
set(phonon_typesystem_path "${QtCore_SOURCE_DIR}${PATH_SEP}${QtGui_SOURCE_DIR}${PATH_SEP}${phonon_SOURCE_DIR}${PATH_SEP}${QtGui_BINARY_DIR}")
|
||||||
set(phonon_include_dirs ${CMAKE_CURRENT_SOURCE_DIR}
|
set(phonon_include_dirs ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
${QT_QTCORE_INCLUDE_DIR}
|
${QT_QTCORE_INCLUDE_DIR}
|
||||||
|
|
|
||||||
|
|
@ -158,12 +158,16 @@
|
||||||
<modify-function signature="operator!=(Phonon::ObjectDescription)const" remove="all"/>
|
<modify-function signature="operator!=(Phonon::ObjectDescription)const" remove="all"/>
|
||||||
<modify-function signature="fromIndex(int)" remove="all"/>
|
<modify-function signature="fromIndex(int)" remove="all"/>
|
||||||
</value-type>
|
</value-type>
|
||||||
|
|
||||||
<value-type name="AudioCaptureDevice">
|
<value-type name="AudioCaptureDevice">
|
||||||
<modify-function signature="operator==(Phonon::ObjectDescription)const" remove="all"/>
|
<modify-function signature="operator==(Phonon::ObjectDescription)const" remove="all"/>
|
||||||
<modify-function signature="operator!=(Phonon::ObjectDescription)const" remove="all"/>
|
<modify-function signature="operator!=(Phonon::ObjectDescription)const" remove="all"/>
|
||||||
<modify-function signature="fromIndex(int)" remove="all"/>
|
<modify-function signature="fromIndex(int)" remove="all"/>
|
||||||
</value-type>
|
</value-type>
|
||||||
|
<value-type name="VideoCaptureDevice">
|
||||||
|
<modify-function signature="operator==(Phonon::ObjectDescription)const" remove="all"/>
|
||||||
|
<modify-function signature="operator!=(Phonon::ObjectDescription)const" remove="all"/>
|
||||||
|
<modify-function signature="fromIndex(int)" remove="all"/>
|
||||||
|
</value-type>
|
||||||
<value-type name="AudioChannelDescription">
|
<value-type name="AudioChannelDescription">
|
||||||
<modify-function signature="operator==(Phonon::ObjectDescription)const" remove="all"/>
|
<modify-function signature="operator==(Phonon::ObjectDescription)const" remove="all"/>
|
||||||
<modify-function signature="operator!=(Phonon::ObjectDescription)const" remove="all"/>
|
<modify-function signature="operator!=(Phonon::ObjectDescription)const" remove="all"/>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue