From 94c39a078c70d66b710e89f894900a71d367ba9a Mon Sep 17 00:00:00 2001 From: Yuri Gorshenin Date: Thu, 19 Oct 2017 17:39:48 +0300 Subject: [PATCH] [build] Fixed build of pybindings with desktop. --- CMakeLists.txt | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 12fa2e64c2..c55692ff00 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -55,6 +55,8 @@ endif() option(USE_ASAN "Enable Address Sanitizer" OFF) option(USE_TSAN "Enable Thread Sanitizer" OFF) option(PYBINDINGS "Create makefiles for building python bindings" OFF) +option(SKIP_DESKTOP "Skip building of desktop application" OFF) + if (PLATFORM_LINUX) option(USE_PPROF "Enable Google Profiler" OFF) endif() @@ -130,22 +132,28 @@ if (PYBINDINGS) endif() find_package(PythonLibs ${PYTHON_VERSION} REQUIRED) include_directories(${PYTHON_INCLUDE_DIRS}) - set(SKIP_DESKTOP ON) endif() +macro(find_qt5_desktop_package package) + find_package(${package}) + if (NOT ${package}_FOUND) + message(FATAL_ERROR "Can't find ${package}, consider to set SKIP_DESKTOP if you don't need desktop app") + endif() +endmacro() + if (NOT PLATFORM_IPHONE AND NOT PLATFORM_ANDROID) find_package(Qt5Core) if (NOT Qt5Core_FOUND) message(FATAL_ERROR "Qt5 cmake files were not found, please set QT_PATH environment variable") endif() find_package(Qt5Network REQUIRED) - if(NOT SKIP_DESKTOP) - find_package(Qt5Gui REQUIRED) - find_package(Qt5OpenGL REQUIRED) - find_package(Qt5Widgets REQUIRED) - find_package(Qt5Xml REQUIRED) - find_package(Qt5Svg REQUIRED) - find_package(Qt5WebEngineWidgets REQUIRED) + if (NOT SKIP_DESKTOP) + find_qt5_desktop_package(Qt5Gui) + find_qt5_desktop_package(Qt5OpenGL) + find_qt5_desktop_package(Qt5Widgets) + find_qt5_desktop_package(Qt5Xml) + find_qt5_desktop_package(Qt5Svg) + find_qt5_desktop_package(Qt5WebEngineWidgets) endif() endif()