From 04968fc8989cc8677196739c244dd001b3e9cb90 Mon Sep 17 00:00:00 2001 From: Milian Wolff Date: Wed, 8 Jun 2016 18:27:34 +0200 Subject: [PATCH] Make it possible to skip building of heaptrack_gui. For embedded, we never want to build the gui, and having the find scripts spit out their errors there is just noisy. Now, the recommended way to build heaptrack for embedded Linux is: cmake -DCMAKE_TOOLCHAIN_FILE=... -DHEAPTRACK_BUILD_GUI=OFF --- CMakeLists.txt | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3dd04c6..84d2e29 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,20 +15,29 @@ set(HEAPTRACK_LIB_SOVERSION 1) find_package(Boost 1.41.0 REQUIRED COMPONENTS iostreams program_options) find_package(Threads REQUIRED) -find_package(Qt5 5.2.0 NO_MODULE OPTIONAL_COMPONENTS Widgets) -find_package(ECM 1.0.0 NO_MODULE) find_package(ZLIB REQUIRED) include(FeatureSummary) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) + +option( + HEAPTRACK_BUILD_GUI + "Disable this option to skip building the Qt5 / KF5 based GUI for heaptrack." + On +) + +if(HEAPTRACK_BUILD_GUI) +find_package(Qt5 5.2.0 NO_MODULE OPTIONAL_COMPONENTS Widgets) +find_package(ECM 1.0.0 NO_MODULE) if(Qt5_FOUND AND ECM_FOUND) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) - find_package(KF5 OPTIONAL_COMPONENTS CoreAddons I18n ItemModels ThreadWeaver ConfigWidgets) - find_package(KChart "2.6.0") - set_package_properties(KChart PROPERTIES TYPE RECOMMENDED PURPOSE "Required for the heaptrack_gui executable. Get it from the kdiagram module.") - if (KF5_FOUND AND KChart_FOUND) - add_subdirectory(gui) + find_package(KF5 OPTIONAL_COMPONENTS CoreAddons I18n ItemModels ThreadWeaver ConfigWidgets) + find_package(KChart "2.6.0") + set_package_properties(KChart PROPERTIES TYPE RECOMMENDED PURPOSE "Required for the heaptrack_gui executable. Get it from the kdiagram module.") + if (KF5_FOUND AND KChart_FOUND) + add_subdirectory(gui) + endif() endif() endif() -- 2.7.4