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.cmake41
1 files changed, 28 insertions, 13 deletions
diff --git a/Source/cmake/OptionsQt.cmake b/Source/cmake/OptionsQt.cmake
index 457fff566..3fe374647 100644
--- a/Source/cmake/OptionsQt.cmake
+++ b/Source/cmake/OptionsQt.cmake
@@ -60,7 +60,16 @@ macro(QT_ADD_EXTRA_WEBKIT_TARGET_EXPORT target)
endif ()
endmacro()
-macro(QTWEBKIT_GENERATE_MOC_FILES_CPP)
+macro(QTWEBKIT_SKIP_AUTOMOC _target)
+ foreach (_src ${${_target}_SOURCES})
+ set_property(SOURCE ${_src} PROPERTY SKIP_AUTOMOC ON)
+ endforeach ()
+endmacro()
+
+macro(QTWEBKIT_GENERATE_MOC_FILES_CPP _target)
+ if (${ARGC} LESS 2)
+ message(FATAL_ERROR "QTWEBKIT_GENERATE_MOC_FILES_CPP must be called with at least 2 arguments")
+ endif ()
foreach (_file ${ARGN})
get_filename_component(_ext ${_file} EXT)
if (NOT _ext STREQUAL ".cpp")
@@ -68,12 +77,12 @@ macro(QTWEBKIT_GENERATE_MOC_FILES_CPP)
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})
+ qt5_generate_moc(${_file} ${_moc_name} TARGET ${_target})
ADD_SOURCE_DEPENDENCIES(${_file} ${_moc_name})
endforeach ()
endmacro()
-macro(QTWEBKIT_GENERATE_MOC_FILE_H _header _source)
+macro(QTWEBKIT_GENERATE_MOC_FILE_H _target _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"))
@@ -81,16 +90,19 @@ macro(QTWEBKIT_GENERATE_MOC_FILE_H _header _source)
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})
+ qt5_generate_moc(${_header} ${_moc_name} TARGET ${_target})
ADD_SOURCE_DEPENDENCIES(${_source} ${_moc_name})
endmacro()
-macro(QTWEBKIT_GENERATE_MOC_FILES_H)
+macro(QTWEBKIT_GENERATE_MOC_FILES_H _target)
+ if (${ARGC} LESS 2)
+ message(FATAL_ERROR "QTWEBKIT_GENERATE_MOC_FILES_H must be called with at least 2 arguments")
+ endif ()
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})
+ QTWEBKIT_GENERATE_MOC_FILE_H(${_target} ${_header} ${_source})
endforeach ()
endmacro()
@@ -558,6 +570,14 @@ if (COMPILER_IS_GCC_OR_CLANG AND UNIX)
endif ()
endif ()
+# Improvised backport of r222112 - not needed with current WebKit
+# -Wexpansion-to-defined produces false positives with GCC but not Clang
+# https://bugs.webkit.org/show_bug.cgi?id=167643#c13
+if (CMAKE_COMPILER_IS_GNUCXX AND (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "7.0.0"))
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-expansion-to-defined")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-expansion-to-defined")
+endif ()
+
if (WIN32 AND COMPILER_IS_GCC_OR_CLANG)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-keep-inline-dllexport")
endif ()
@@ -611,13 +631,8 @@ if (ENABLE_OPENGL)
SET_AND_EXPOSE_TO_BUILD(ENABLE_GRAPHICS_CONTEXT_3D TRUE)
# TODO: Add proper support of DynamicGL detection to Qt and use it
- if (WIN32)
- if (QT_USES_GLES2_ONLY)
- # FIXME: Fix build with ANGLE-only Qt
- message(FATAL_ERROR "Only dynamic GL is supported on Windows at the moment")
- else ()
- set(Qt5Gui_OPENGL_IMPLEMENTATION GL)
- endif ()
+ if (WIN32 AND NOT QT_USES_GLES2_ONLY)
+ set(Qt5Gui_OPENGL_IMPLEMENTATION GL)
endif ()
endif ()