diff options
Diffstat (limited to 'Source/cmake/OptionsQt.cmake')
-rw-r--r-- | Source/cmake/OptionsQt.cmake | 41 |
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 () |