Make QtWebKit the default package to look for and add build switch to force QtWebEngine.

This commit is contained in:
Markus Lampert
2019-04-01 09:17:00 -07:00
committed by wmayer
parent 46c2fff016
commit be3651a5f6

View File

@@ -229,6 +229,7 @@ if (BUILD_QT5)
set(HAVE_QT5_OPENGL 1)
endif()
OPTION(FREECAD_USE_QWEBKIT "Force use QWebKit instead of QWebEngine." OFF)
OPTION(FREECAD_USE_QWEBKENGINE "Force use QWebEngine instead of QWebKit." OFF)
endif()
configure_file(${CMAKE_SOURCE_DIR}/src/QtOpenGL.h.cmake ${CMAKE_BINARY_DIR}/src/QtOpenGL.h)
@@ -893,13 +894,18 @@ endif()
if (BUILD_WEB)
if (FREECAD_USE_QWEBKIT)
find_package(Qt5WebKitWidgets REQUIRED)
else()
elseif(FREECAD_USE_QWEBENGINE)
find_package(Qt5WebEngineWidgets REQUIRED)
if (Qt5WebEngineWidgets_VERSION VERSION_LESS 5.7.0)
message(WARNING "** Minimum supported Qt5WebEngine version is 5.70!\n"
"-- Trying with QWebkit, force with FREECAD_USE_QWEBKIT=On")
find_package(Qt5WebKitWidgets REQUIRED)
message(FATAL_ERROR "** Minimum supported Qt5WebEngine version is 5.70!\n")
endif()
else()
find_package(Qt5WebKitWidgets REQUIRED)
if(NOT Qt5WebKitWidgets_FOUND)
find_package(Qt5WebEngineWidgets REQUIRED)
if (Qt5WebEngineWidgets_VERSION VERSION_LESS 5.7.0)
message(FATAL_ERROR "** Minimum supported Qt5WebEngine version is 5.70!\n")
endif()
endif()
endif()
endif()
@@ -1239,186 +1245,188 @@ MESSAGE(STATUS "==============\n"
"==============\n")
# Qt5 needs/sets PYTHON_CONFIG_SUFFIX regarding Shiboken
MESSAGE(STATUS "Python: [${PYTHON_EXECUTABLE}] [${PYTHON_CONFIG_SUFFIX}]")
MESSAGE(STATUS "Python: [${PYTHON_EXECUTABLE}] [${PYTHON_CONFIG_SUFFIX}]")
IF(DEFINED PCL_FOUND)
MESSAGE(STATUS "PCL: ${PCL_VERSION}")
MESSAGE(STATUS "PCL: ${PCL_VERSION}")
ELSE(DEFINED PCL_FOUND)
MESSAGE(STATUS "PCL: not enabled")
MESSAGE(STATUS "PCL: not enabled")
ENDIF(DEFINED PCL_FOUND)
IF(DEFINED pybind11_FOUND)
MESSAGE(STATUS "pybind11: ${pybind11_VERSION}")
MESSAGE(STATUS "pybind11: ${pybind11_VERSION}")
ELSE(DEFINED pybind11_FOUND)
MESSAGE(STATUS "pybind11: not enabled")
MESSAGE(STATUS "pybind11: not enabled")
ENDIF(DEFINED pybind11_FOUND)
MESSAGE(STATUS "Boost: ${Boost_VERSION}")
MESSAGE(STATUS "Boost: ${Boost_VERSION}")
MESSAGE(STATUS "XercesC: [${XercesC_LIBRARIES}] [${XercesC_INCLUDE_DIRS}]")
MESSAGE(STATUS "XercesC: [${XercesC_LIBRARIES}] [${XercesC_INCLUDE_DIRS}]")
MESSAGE(STATUS "ZLIB: ${ZLIB_VERSION_STRING}")
MESSAGE(STATUS "ZLIB: ${ZLIB_VERSION_STRING}")
MESSAGE(STATUS "PyCXX: [${PYCXX_INCLUDE_DIR}]")
MESSAGE(STATUS "PyCXX: [${PYCXX_INCLUDE_DIR}]")
MESSAGE(STATUS "OCC: ${OCC_VERSION_STRING} [${OCC_LIBRARIES}]")
MESSAGE(STATUS "OCC: ${OCC_VERSION_STRING} [${OCC_LIBRARIES}]")
IF(BUILD_SMESH)
IF(FREECAD_USE_EXTERNAL_SMESH)
MESSAGE(STATUS "SMESH: ${SMESH_VERSION}")
MESSAGE(STATUS "SMESH: ${SMESH_VERSION}")
ELSE(FREECAD_USE_EXTERNAL_SMESH)
MESSAGE(STATUS "SMESH: build internal")
MESSAGE(STATUS " MEDFile: [${MEDFILE_LIBRARIES}] [${MEDFILE_INCLUDE_DIRS}]")
MESSAGE(STATUS " HDF5: ${HDF5_VERSION}")
MESSAGE(STATUS " VTK: ${VTK_VERSION}")
MESSAGE(STATUS "SMESH: build internal")
MESSAGE(STATUS " MEDFile: [${MEDFILE_LIBRARIES}] [${MEDFILE_INCLUDE_DIRS}]")
MESSAGE(STATUS " HDF5: ${HDF5_VERSION}")
MESSAGE(STATUS " VTK: ${VTK_VERSION}")
ENDIF(FREECAD_USE_EXTERNAL_SMESH)
ELSE(BUILD_SMESH)
MESSAGE(STATUS "SMESH: do not build")
MESSAGE(STATUS "SMESH: do not build")
ENDIF(BUILD_SMESH)
IF(DEFINED NETGEN_FOUND)
MESSAGE(STATUS "NETGEN: ${NETGEN_VERSION} [${NETGEN_DEFINITIONS}] [${NETGEN_CXX_FLAGS}] [${NGLIB_INCLUDE_DIR}] [${NGLIB_LIBRARIES}] [${NETGEN_INCLUDE_DIRS}]")
MESSAGE(STATUS "NETGEN: ${NETGEN_VERSION} [${NETGEN_DEFINITIONS}] [${NETGEN_CXX_FLAGS}] [${NGLIB_INCLUDE_DIR}] [${NGLIB_LIBRARIES}] [${NETGEN_INCLUDE_DIRS}]")
ELSE(DEFINED NETGEN_FOUND)
MESSAGE(STATUS "NETGEN: not enabled")
MESSAGE(STATUS "NETGEN: not enabled")
ENDIF(DEFINED NETGEN_FOUND)
#MESSAGE(STATUS "OpenCV: ${OpenCV_VERSION}")
#MESSAGE(STATUS "OpenCV: ${OpenCV_VERSION}")
IF(DEFINED SWIG_FOUND)
MESSAGE(STATUS "SWIG: ${SWIG_VERSION}")
MESSAGE(STATUS "SWIG: ${SWIG_VERSION}")
ELSE(DEFINED SWIG_FOUND)
MESSAGE(STATUS "SWIG: not found")
MESSAGE(STATUS "SWIG: not found")
ENDIF(DEFINED SWIG_FOUND)
IF(DEFINED EIGEN3_FOUND)
MESSAGE(STATUS "Eigen3 ${EIGEN3_VERSION}")
MESSAGE(STATUS "Eigen3 ${EIGEN3_VERSION}")
ELSE(DEFINED EIGEN3_FOUND)
MESSAGE(STATUS "Eigen3: not found")
MESSAGE(STATUS "Eigen3: not found")
ENDIF(DEFINED EIGEN3_FOUND)
IF(NOT BUILD_QT5)
MESSAGE(STATUS "Qt4: ${Qt4_VERSION}")
MESSAGE(STATUS "Qt4: ${Qt4_VERSION}")
IF(QT_QTWEBKIT_FOUND)
MESSAGE(STATUS "QtWebKit: found")
MESSAGE(STATUS "QtWebKit: found")
ELSE(QT_QTWEBKIT_FOUND)
MESSAGE(STATUS "QtWebKit: not found")
MESSAGE(STATUS "QtWebKit: not found")
ENDIF(QT_QTWEBKIT_FOUND)
MESSAGE(STATUS "Shiboken: ${Shiboken_VERSION} [${SHIBOKEN_INCLUDE_DIR}]")
MESSAGE(STATUS "PySide: ${PySide_VERSION} [${PYSIDE_INCLUDE_DIR}]")
MESSAGE(STATUS "PySideTools: [${PYSIDEUIC4BINARY}] [${PYSIDERCC4BINARY}]")
MESSAGE(STATUS "Shiboken: ${Shiboken_VERSION} [${SHIBOKEN_INCLUDE_DIR}]")
MESSAGE(STATUS "PySide: ${PySide_VERSION} [${PYSIDE_INCLUDE_DIR}]")
MESSAGE(STATUS "PySideTools: [${PYSIDEUIC4BINARY}] [${PYSIDERCC4BINARY}]")
ELSE(NOT BUILD_QT5)
MESSAGE(STATUS "Qt5Core: ${Qt5Core_VERSION}")
MESSAGE(STATUS "Qt5Network: ${Qt5Network_VERSION}")
MESSAGE(STATUS "Qt5Xml: ${Qt5Xml_VERSION}")
MESSAGE(STATUS "Qt5Core: ${Qt5Core_VERSION}")
MESSAGE(STATUS "Qt5Network: ${Qt5Network_VERSION}")
MESSAGE(STATUS "Qt5Xml: ${Qt5Xml_VERSION}")
IF (BUILD_GUI)
MESSAGE(STATUS "Qt5Widgets: ${Qt5Widgets_VERSION}")
MESSAGE(STATUS "Qt5PrintSupport: ${Qt5PrintSupport_VERSION}")
MESSAGE(STATUS "Qt5OpenGL: ${Qt5OpenGL_VERSION}")
MESSAGE(STATUS "Qt5Svg: ${Qt5Svg_VERSION}")
MESSAGE(STATUS "Qt5UiTools: ${Qt5UiTools_VERSION}")
MESSAGE(STATUS "Qt5Concurrent: ${Qt5Concurrent_VERSION}")
MESSAGE(STATUS "Qt5Widgets: ${Qt5Widgets_VERSION}")
MESSAGE(STATUS "Qt5PrintSupport: ${Qt5PrintSupport_VERSION}")
MESSAGE(STATUS "Qt5OpenGL: ${Qt5OpenGL_VERSION}")
MESSAGE(STATUS "Qt5Svg: ${Qt5Svg_VERSION}")
MESSAGE(STATUS "Qt5UiTools: ${Qt5UiTools_VERSION}")
MESSAGE(STATUS "Qt5Concurrent: ${Qt5Concurrent_VERSION}")
IF(BUILD_WEB)
MESSAGE(STATUS "Qt5WebKitWidgets: ${Qt5WebKitWidgets_VERSION}")
MESSAGE(STATUS "Qt5WebKitWidgets: ${Qt5WebKitWidgets_VERSION}")
MESSAGE(STATUS "Qt5WebEngineWidgets: ${Qt5WebEngineWidgets_VERSION}")
ELSE(BUILD_WEB)
MESSAGE(STATUS "Qt5WebKitWidgets: not needed (BUILD_WEB)")
MESSAGE(STATUS "Qt5WebKitWidgets: not needed (BUILD_WEB)")
MESSAGE(STATUS "Qt5WebEngineWidgets: not needed (BUILD_WEB)")
ENDIF(BUILD_WEB)
ELSE(BUILD_GUI)
MESSAGE(STATUS "Qt5Widgets: not needed")
MESSAGE(STATUS "Qt5PrintSupport: not needed")
MESSAGE(STATUS "Qt5OpenGL: not needed")
MESSAGE(STATUS "Qt5Svg: not needed")
MESSAGE(STATUS "Qt5UiTools: not needed")
MESSAGE(STATUS "Qt5Concurrent: not needed")
MESSAGE(STATUS "Qt5WebKitWidgets: not needed")
MESSAGE(STATUS "Qt5Widgets: not needed")
MESSAGE(STATUS "Qt5PrintSupport: not needed")
MESSAGE(STATUS "Qt5OpenGL: not needed")
MESSAGE(STATUS "Qt5Svg: not needed")
MESSAGE(STATUS "Qt5UiTools: not needed")
MESSAGE(STATUS "Qt5Concurrent: not needed")
MESSAGE(STATUS "Qt5WebKitWidgets: not needed")
ENDIF(BUILD_GUI)
IF(DEFINED MACPORTS_PREFIX)
IF(DEFINED Shiboken_FOUND)
MESSAGE(STATUS "Shiboken: ${Shiboken_VERSION} [${SHIBOKEN_INCLUDE_DIR}]")
MESSAGE(STATUS "Shiboken: ${Shiboken_VERSION} [${SHIBOKEN_INCLUDE_DIR}]")
ELSE(DEFINED Shiboken_FOUND)
MESSAGE(STATUS "Shiboken: not found (only searched if MACPORTS_PREFIX is defined)")
MESSAGE(STATUS "Shiboken: not found (only searched if MACPORTS_PREFIX is defined)")
ENDIF(DEFINED Shiboken_FOUND)
IF(DEFINED PySide_FOUND)
MESSAGE(STATUS "PySide: ${PySide_VERSION} [${PYSIDE_INCLUDE_DIR}]")
MESSAGE(STATUS "PySide: ${PySide_VERSION} [${PYSIDE_INCLUDE_DIR}]")
IF(NOT PYSIDE_INCLUDE_DIR)
MESSAGE(STATUS " IncludeDir: Unable to find, python version missmatch?")
MESSAGE(STATUS " IncludeDir: Unable to find, python version missmatch?")
ENDIF(NOT PYSIDE_INCLUDE_DIR)
ELSE(DEFINED PySide_FOUND)
MESSAGE(STATUS "PySide: not found (only searched if MACPORTS_PREFIX is defined)")
MESSAGE(STATUS "PySide: not found (only searched if MACPORTS_PREFIX is defined)")
ENDIF(DEFINED PySide_FOUND)
ENDIF(DEFINED MACPORTS_PREFIX)
IF(DEFINED Shiboken2_FOUND)
MESSAGE(STATUS "Shiboken2: ${Shiboken2_VERSION} [${Shiboken2_DIR}] [${SHIBOKEN_INCLUDE_DIR}]")
MESSAGE(STATUS "Shiboken2: ${Shiboken2_VERSION} [${Shiboken2_DIR}] [${SHIBOKEN_INCLUDE_DIR}]")
ELSE(DEFINED Shiboken2_FOUND)
MESSAGE(STATUS "Shiboken2: not found")
MESSAGE(STATUS "Shiboken2: not found")
ENDIF(DEFINED Shiboken2_FOUND)
IF(DEFINED PySide2_FOUND)
MESSAGE(STATUS "PySide2: ${PySide2_VERSION} [${PYSIDE_INCLUDE_DIR}]")
MESSAGE(STATUS "PySide2: ${PySide2_VERSION} [${PYSIDE_INCLUDE_DIR}]")
IF(NOT PYSIDE_INCLUDE_DIR)
MESSAGE(STATUS " IncludeDir: Unable to find, python version missmatch?")
MESSAGE(STATUS " IncludeDir: Unable to find, python version missmatch?")
ENDIF(NOT PYSIDE_INCLUDE_DIR)
ELSE(DEFINED PySide2_FOUND)
MESSAGE(STATUS "PySide2: not found")
MESSAGE(STATUS "PySide2: not found")
ENDIF(DEFINED PySide2_FOUND)
IF(DEFINED PYSIDE2_TOOLS_FOUND)
MESSAGE(STATUS "PySide2Tools: [${PYSIDE2UICBINARY}] [${PYSIDE2RCCBINARY}]")
MESSAGE(STATUS "PySide2Tools: [${PYSIDE2UICBINARY}] [${PYSIDE2RCCBINARY}]")
ELSE(DEFINED PYSIDE2_TOOLS_FOUND)
MESSAGE(STATUS "PySide2Tools: not found")
MESSAGE(STATUS "PySide2Tools: not found")
ENDIF(DEFINED PYSIDE2_TOOLS_FOUND)
ENDIF(NOT BUILD_QT5)
IF(FREECAD_USE_FREETYPE)
IF(DEFINED FREETYPE_FOUND)
MESSAGE(STATUS "Freetype: ${FREETYPE_VERSION_STRING}")
MESSAGE(STATUS "Freetype: ${FREETYPE_VERSION_STRING}")
ELSE(DEFINED FREETYPE_FOUND)
MESSAGE(STATUS "Freetype: not found")
MESSAGE(STATUS "Freetype: not found")
ENDIF(DEFINED FREETYPE_FOUND)
ELSE(FREECAD_USE_FREETYPE)
MESSAGE(STATUS "Freetype: disabled")
MESSAGE(STATUS "Freetype: disabled")
ENDIF(FREECAD_USE_FREETYPE)
MESSAGE(STATUS "OpenGLU: ${OPENGL_glu_LIBRARY} [${OPENGL_glu_LIBRARY}][${OPENGL_INCLUDE_DIR}]")
MESSAGE(STATUS "OpenGLU: ${OPENGL_glu_LIBRARY} [${OPENGL_glu_LIBRARY}][${OPENGL_INCLUDE_DIR}]")
MESSAGE(STATUS "Coin3D: [${COIN3D_LIBRARIES}] [${COIN3D_INCLUDE_DIRS}]")
MESSAGE(STATUS "Coin3D: [${COIN3D_LIBRARIES}] [${COIN3D_INCLUDE_DIRS}]")
IF (WIN32)
#MESSAGE(STATUS "SPNAV: not available yet for your OS") # FREECAD_USE_3DCONNEXION instead...
#MESSAGE(STATUS "SPNAV: not available yet for your OS") # FREECAD_USE_3DCONNEXION instead...
ELSE(WIN32)
IF(DEFINED SPNAV_FOUND)
MESSAGE(STATUS "SPNAV: [${SPNAV_LIBRARY}] [${SPNAV_INCLUDE_DIR}]")
MESSAGE(STATUS "SPNAV: [${SPNAV_LIBRARY}] [${SPNAV_INCLUDE_DIR}]")
ELSE(DEFINED SPNAV_FOUND)
MESSAGE(STATUS "SPNAV: not found")
MESSAGE(STATUS "SPNAV: not found")
ENDIF(DEFINED SPNAV_FOUND)
ENDIF(WIN32)
IF(MATPLOTLIB_FOUND)
MESSAGE(STATUS "Matplotlib: ${MATPLOTLIB_VERSION}")
MESSAGE(STATUS "Matplotlib: ${MATPLOTLIB_VERSION}")
ELSE(MATPLOTLIB_FOUND)
MESSAGE(STATUS "Matplotlib: not found")
MESSAGE(STATUS "Matplotlib: not found")
ENDIF(MATPLOTLIB_FOUND)
IF(BUILD_VR)
IF(DEFINED RIFT_FOUND)
MESSAGE(STATUS "Rift: ${Rift_VERSION}")
MESSAGE(STATUS "Rift: ${Rift_VERSION}")
ELSE(DEFINED RIFT_FOUND)
MESSAGE(STATUS "Rift: not found")
MESSAGE(STATUS "Rift: not found")
ENDIF(DEFINED RIFT_FOUND)
ELSE(BUILD_VR)
MESSAGE(STATUS "Rift: not enabled (BUILD_VR)")
MESSAGE(STATUS "Rift: not enabled (BUILD_VR)")
ENDIF(BUILD_VR)
IF(DOXYGEN_FOUND)
MESSAGE(STATUS "Doxygen: ${DOXYGEN_VERSION}")
MESSAGE(STATUS " Language: ${DOXYGEN_LANGUAGE}")
MESSAGE(STATUS "Doxygen: ${DOXYGEN_VERSION}")
MESSAGE(STATUS " Language: ${DOXYGEN_LANGUAGE}")
IF(COIN3D_DOC_FOUND)
MESSAGE(STATUS " Coin3D_DOC: found [${COIN3D_DOC_PATH}]")
MESSAGE(STATUS " Coin3D_DOC: found [${COIN3D_DOC_PATH}]")
ELSE(COIN3D_DOC_FOUND)
MESSAGE(STATUS " Coin3D_DOC: not found")
MESSAGE(STATUS " Coin3D_DOC: not found")
ENDIF(COIN3D_DOC_FOUND)
ELSE(DOXYGEN_FOUND)
MESSAGE(STATUS "Doxygen: not found")
MESSAGE(STATUS "Doxygen: not found")
ENDIF(DOXYGEN_FOUND)