Detect QT5 by using REQUIRED flag instead of checking if QT5Core is present at the end. If Qt5WebKitWidgets for instance fails, we end up with build-success, but runtime-loading errors due to unresolved symbols and views not working.

This commit is contained in:
Stian Skjelstad
2019-01-24 20:38:26 +01:00
committed by wmayer
parent f442568a9d
commit 1036a9eeaf

View File

@@ -875,37 +875,31 @@ endif()
endmacro(fc_wrap_cpp)
elseif (BUILD_QT5)
find_package(Qt5Network)
find_package(Qt5Xml)
find_package(Qt5Core REQUIRED)
find_package(Qt5Network REQUIRED)
find_package(Qt5Xml REQUIRED)
if(BUILD_GUI)
find_package(Qt5Widgets)
find_package(Qt5PrintSupport)
find_package(Qt5OpenGL)
find_package(Qt5Svg)
find_package(Qt5UiTools)
find_package(Qt5Network)
find_package(Qt5Concurrent)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5PrintSupport REQUIRED)
find_package(Qt5OpenGL REQUIRED)
find_package(Qt5Svg REQUIRED)
find_package(Qt5UiTools REQUIRED)
find_package(Qt5Concurrent REQUIRED)
if (BUILD_WEB)
if (FREECAD_USE_QWEBKIT)
find_package(Qt5WebKitWidgets)
find_package(Qt5WebKitWidgets REQUIRED)
else()
find_package(Qt5WebEngineWidgets)
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)
find_package(Qt5WebKitWidgets REQUIRED)
endif()
endif()
endif()
endif(BUILD_GUI)
IF(NOT Qt5Core_FOUND)
MESSAGE(FATAL_ERROR "========================\n"
"Qt5 libraries not found.\n"
"========================\n")
ENDIF(NOT Qt5Core_FOUND)
# This is a special version of the built in macro qt5_wrap_cpp
# It is required since moc'ed files are now included instead of being added to projects directly
# It adds a reverse dependency to solve this