@@ -222,60 +222,60 @@ message(STATUS "Building GammaRay ${GAMMARAY_VERSION_STRING} in ${CMAKE_BUILD_TY
222222#
223223# Build options
224224#
225- set (GAMMARAY_BUILD_UI_DEFAULT ON )
226- if (QNXNTO OR ANDROID )
227- set (GAMMARAY_BUILD_UI_DEFAULT OFF )
225+ gammaray_option (GAMMARAY_STATIC_PROBE "Build the probe as static library for compile-time injection." OFF )
226+ gammaray_option (GAMMARAY_MULTI_BUILD "Build multiple applicable probe configurations." ON )
227+ gammaray_option (GAMMARAY_ENFORCE_QT_ASSERTS "Force QT_ASSERT in all builds." OFF )
228+
229+ set (GAMMARAY_INSTALL_QT_LAYOUT_DEFAULT OFF )
230+ if (ANDROID )
231+ set (GAMMARAY_INSTALL_QT_LAYOUT_DEFAULT ON )
232+ endif ()
233+ gammaray_option (GAMMARAY_INSTALL_QT_LAYOUT "Install into Qt directory layout." ${GAMMARAY_INSTALL_QT_LAYOUT_DEFAULT} )
234+ if (ANDROID AND NOT GAMMARAY_INSTALL_QT_LAYOUT)
235+ message (FATAL_ERROR "Must use GAMMARAY_INSTALL_QT_LAYOUT on Android." )
228236endif ()
229237
238+ set (GAMMARAY_PROBE_ONLY_BUILD_DEFAULT OFF )
239+ if (GAMMARAY_STATIC_PROBE)
240+ set (GAMMARAY_PROBE_ONLY_BUILD_DEFAULT ON )
241+ endif ()
230242gammaray_option (
231- GAMMARAY_PROBE_ONLY_BUILD "Build only an additional probe configuration for an already existing launcher." OFF
243+ GAMMARAY_PROBE_ONLY_BUILD "Build only an additional probe configuration for an already existing launcher."
244+ ${GAMMARAY_PROBE_ONLY_BUILD_DEFAULT}
232245)
233-
234- gammaray_option (GAMMARAY_CLIENT_ONLY_BUILD "Build the client part only." OFF )
235-
236- if (GAMMARAY_CLIENT_ONLY_BUILD)
237- set (GAMMARAY_BUILD_UI_DEFAULT ON )
238- endif ()
239-
240- if (GAMMARAY_PROBE_ONLY_BUILD)
241- set (GAMMARAY_BUILD_UI_DEFAULT OFF )
246+ if (GAMMARAY_STATIC_PROBE AND NOT GAMMARAY_PROBE_ONLY_BUILD)
247+ message (FATAL_ERROR "Must use PROBE_ONLY_BUILD for STATIC_PROBE." )
248+ elseif (GAMMARAY_STATIC_PROBE)
249+ set (GAMMARAY_LIBRARY_TYPE STATIC)
250+ set (GAMMARAY_PLUGIN_TYPE STATIC)
251+ else ()
252+ set (GAMMARAY_LIBRARY_TYPE SHARED)
253+ set (GAMMARAY_PLUGIN_TYPE MODULE)
242254endif ()
243255
244- gammaray_option (GAMMARAY_BUILD_UI "Build the GammaRay client and in-process UI." ${GAMMARAY_BUILD_UI_DEFAULT} )
245-
256+ gammaray_option (GAMMARAY_CLIENT_ONLY_BUILD "Build the client part only." OFF )
246257if (GAMMARAY_PROBE_ONLY_BUILD AND GAMMARAY_CLIENT_ONLY_BUILD)
247- message (FATAL_ERROR "You can only use one of the *ONLY* option ." )
258+ message (FATAL_ERROR "Cannot use PROBE_ONLY_BUILD and CLIENT_ONLY_BUILD at the same time ." )
248259endif ()
249260
250- gammaray_option (GAMMARAY_INSTALL_QT_LAYOUT "Install into Qt directory layout." OFF )
251- gammaray_option (GAMMARAY_MULTI_BUILD "Build multiple applicable probe configurations." ON )
252- gammaray_option (GAMMARAY_BUILD_CLI_INJECTOR "Build command line injector on Windows." ON )
253-
254261set (GAMMARAY_BUILD_DOCS_DEFAULT ON )
255262set (GAMMARAY_DISABLE_FEEDBACK_DEFAULT OFF )
256263if (GAMMARAY_PROBE_ONLY_BUILD OR CMAKE_CROSSCOMPILING )
257264 set (GAMMARAY_BUILD_DOCS_DEFAULT OFF )
258265 set (GAMMARAY_DISABLE_FEEDBACK_DEFAULT ON )
259266endif ()
260267gammaray_option (GAMMARAY_BUILD_DOCS "Build GammaRay documentation." ${GAMMARAY_BUILD_DOCS_DEFAULT} )
261- gammaray_option (GAMMARAY_STATIC_PROBE "Build the probe as static library for compile-time injection." OFF )
262-
263- gammaray_option (GAMMARAY_ENFORCE_QT_ASSERTS "Force QT_ASSERT in all builds." OFF )
264-
265268gammaray_option (GAMMARAY_DISABLE_FEEDBACK "Disable user feedback support." ${GAMMARAY_DISABLE_FEEDBACK_DEFAULT} )
266269
267- #
268- # Static probe setup
269- #
270- if (GAMMARAY_STATIC_PROBE)
271- set (GAMMARAY_BUILD_UI OFF )
272- set (GAMMARAY_PROBE_ONLY_BUILD ON )
273-
274- set (GAMMARAY_LIBRARY_TYPE STATIC)
275- set (GAMMARAY_PLUGIN_TYPE STATIC)
276- else ()
277- set (GAMMARAY_LIBRARY_TYPE SHARED)
278- set (GAMMARAY_PLUGIN_TYPE MODULE)
270+ set (GAMMARAY_BUILD_UI_DEFAULT ON )
271+ if (GAMMARAY_PROBE_ONLY_BUILD)
272+ set (GAMMARAY_BUILD_UI_DEFAULT OFF )
273+ elseif (QNXNTO OR ANDROID )
274+ set (GAMMARAY_BUILD_UI_DEFAULT OFF )
275+ endif ()
276+ gammaray_option (GAMMARAY_BUILD_UI "Build the GammaRay client and in-process UI." ${GAMMARAY_BUILD_UI_DEFAULT} )
277+ if (GAMMARAY_BUILD_UI AND GAMMARAY_PROBE_ONLY_BUILD)
278+ message (FATAL_ERROR "Cannot use BUILD_UI and PROBE_ONLY_BUILD at the same time." )
279279endif ()
280280
281281gammaray_option (GAMMARAY_USE_PCH "Enable Precompiled Headers support" OFF )
@@ -297,6 +297,17 @@ if(GAMMARAY_USE_PCH)
297297 )
298298endif ()
299299
300+ set (GAMMARAY_BUILD_CLI_INJECTOR_DEFAULT ON )
301+ if (WIN32 )
302+ set (GAMMARAY_BUILD_CLI_INJECTOR_DEFAULT OFF )
303+ endif ()
304+ gammaray_option (
305+ GAMMARAY_BUILD_CLI_INJECTOR "Build command line injector on Windows." ${GAMMARAY_BUILD_CLI_INJECTOR_DEFAULT}
306+ )
307+ if (WIN32 AND GAMMARAY_BUILD_CLI_INJECTOR)
308+ message (FATAL_ERROR "Cannot use CLI injection on Windows." )
309+ endif ()
310+
300311#
301312# Compiler & linker settings
302313#
@@ -601,13 +612,17 @@ if(UPPERCASE_CMAKE_BUILD_TYPE MATCHES "^RELEASE$")
601612 add_definitions (-DQT_NO_DEBUG_OUTPUT )
602613endif ()
603614
604- if (HAVE_QT_WIDGETS)
605- gammaray_option (
606- GAMMARAY_CORE_ONLY_LAUNCHER
607- "Only use QtCore in the CLI launcher (breaks style injector, but is needed for Boot2Qt compatibility)" FALSE
608- )
609- else ()
610- set (GAMMARAY_CORE_ONLY_LAUNCHER TRUE )
615+ set (GAMMARAY_CORE_ONLY_LAUNCHER_DEFAULT FALSE )
616+ if (NOT HAVE_QT_WIDGETS)
617+ set (GAMMARAY_CORE_ONLY_LAUNCHER_DEFAULT TRUE )
618+ endif ()
619+ gammaray_option (
620+ GAMMARAY_CORE_ONLY_LAUNCHER
621+ "Only use QtCore in the CLI launcher (breaks style injector, but is needed for Boot2Qt compatibility)"
622+ ${GAMMARAY_CORE_ONLY_LAUNCHER_DEFAULT}
623+ )
624+ if (NOT HAVE_QT_WIDGETS AND NOT GAMMARAY_CORE_ONLY_LAUNCHER)
625+ message (FATAL_ERROR "Must CORE_ONLY_LAUNCHER when Qt Widgets are not available." )
611626endif ()
612627
613628add_feature_info ("QtScript debugger" Qt5ScriptTools_FOUND "Requires QtScript and QtScriptTools." )
@@ -657,9 +672,6 @@ include(GammaRayProbeABI)
657672# Installation settings
658673#
659674set (BUNDLE_INSTALL_DIR "" )
660- if (ANDROID )
661- set (GAMMARAY_INSTALL_QT_LAYOUT ON )
662- endif ()
663675if (APPLE )
664676 set (BUNDLE_APP_NAME "GammaRay.app" )
665677
0 commit comments