summaryrefslogtreecommitdiffstats
path: root/Source/cmake/OptionsQt.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmake/OptionsQt.cmake')
-rw-r--r--Source/cmake/OptionsQt.cmake45
1 files changed, 42 insertions, 3 deletions
diff --git a/Source/cmake/OptionsQt.cmake b/Source/cmake/OptionsQt.cmake
index 6dc423109..1930027d1 100644
--- a/Source/cmake/OptionsQt.cmake
+++ b/Source/cmake/OptionsQt.cmake
@@ -59,6 +59,40 @@ macro(QT_ADD_EXTRA_WEBKIT_TARGET_EXPORT target)
endif ()
endmacro()
+macro(QTWEBKIT_GENERATE_MOC_FILES_CPP)
+ foreach (_file ${ARGN})
+ get_filename_component(_ext ${_file} EXT)
+ if (NOT _ext STREQUAL ".cpp")
+ message(FATAL_ERROR "QTWEBKIT_GENERATE_MOC_FILES_CPP must be used for .cpp files only")
+ endif ()
+ get_filename_component(_name_we ${_file} NAME_WE)
+ set(_moc_name "${CMAKE_CURRENT_BINARY_DIR}/${_name_we}.moc")
+ qt5_generate_moc(${_file} ${_moc_name})
+ ADD_SOURCE_DEPENDENCIES(${_file} ${_moc_name})
+ endforeach ()
+endmacro()
+
+macro(QTWEBKIT_GENERATE_MOC_FILE_H _header _source)
+ get_filename_component(_header_ext ${_header} EXT)
+ get_filename_component(_source_ext ${_source} EXT)
+ if ((NOT _header_ext STREQUAL ".h") OR (NOT _source_ext STREQUAL ".cpp"))
+ message(FATAL_ERROR "QTWEBKIT_GENERATE_MOC_FILE_H must be called with arguments being .h and .cpp files")
+ endif ()
+ get_filename_component(_name_we ${_header} NAME_WE)
+ set(_moc_name "${CMAKE_CURRENT_BINARY_DIR}/moc_${_name_we}.cpp")
+ qt5_generate_moc(${_header} ${_moc_name})
+ ADD_SOURCE_DEPENDENCIES(${_source} ${_moc_name})
+endmacro()
+
+macro(QTWEBKIT_GENERATE_MOC_FILES_H)
+ foreach (_header ${ARGN})
+ get_filename_component(_header_dir ${_header} DIRECTORY)
+ get_filename_component(_name_we ${_header} NAME_WE)
+ set(_source "${_header_dir}/${_name_we}.cpp")
+ QTWEBKIT_GENERATE_MOC_FILE_H(${_header} ${_source})
+ endforeach ()
+endmacro()
+
set(CMAKE_MACOSX_RPATH ON)
add_definitions(-DBUILDING_QT__=1)
@@ -98,6 +132,13 @@ else ()
set(USE_QT_MULTIMEDIA_DEFAULT OFF)
endif ()
+if (MSVC)
+ set(USE_QT_MULTIMEDIA_DEFAULT OFF)
+ set(USE_MEDIA_FOUNDATION_DEFAULT ON)
+else ()
+ set(USE_MEDIA_FOUNDATION_DEFAULT OFF)
+endif ()
+
if (CMAKE_SYSTEM_NAME MATCHES "Linux")
set(ENABLE_GAMEPAD_DEPRECATED_DEFAULT ON)
else ()
@@ -130,7 +171,7 @@ endif ()
# and the option is not relevant to any other WebKit ports.
WEBKIT_OPTION_DEFINE(USE_GSTREAMER "Use GStreamer implementation of MediaPlayer" PUBLIC ${USE_GSTREAMER_DEFAULT})
WEBKIT_OPTION_DEFINE(USE_LIBHYPHEN "Use automatic hyphenation with LibHyphen" PUBLIC ${USE_LIBHYPHEN_DEFAULT})
-WEBKIT_OPTION_DEFINE(USE_MEDIA_FOUNDATION "Use MediaFoundation implementation of MediaPlayer" PUBLIC OFF)
+WEBKIT_OPTION_DEFINE(USE_MEDIA_FOUNDATION "Use MediaFoundation implementation of MediaPlayer" PUBLIC ${USE_MEDIA_FOUNDATION_DEFAULT})
WEBKIT_OPTION_DEFINE(USE_QT_MULTIMEDIA "Use Qt Multimedia implementation of MediaPlayer" PUBLIC ${USE_QT_MULTIMEDIA_DEFAULT})
WEBKIT_OPTION_DEFINE(USE_WOFF2 "Include support of WOFF2 fonts format" PUBLIC ON)
WEBKIT_OPTION_DEFINE(ENABLE_INSPECTOR_UI "Include Inspector UI into resources" PUBLIC ON)
@@ -490,8 +531,6 @@ option(USE_LINKER_VERSION_SCRIPT "Use linker script for ABI compatibility with Q
# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
-# Instruct CMake to run moc automatically when needed.
-set(CMAKE_AUTOMOC ON)
# TODO: figure out if we can run automoc only on Qt sources