From 84df939ab9ed323d88c33d46dcfd6f7cdb830572 Mon Sep 17 00:00:00 2001 From: Alexander Golubev Date: Fri, 8 Mar 2024 23:09:20 +0300 Subject: cmake: sort options a bit and add some configuration sanity checks Fix build with WITH_MODULE_INPUTMETHOD=OFF Signed-off-by: Alexander Golubev --- CMakeLists.txt | 46 ++++++++++++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 16 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 4ae15471e..4075ed75a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,30 +65,33 @@ set( QT_INSTALL_SYSCONF "/etc/${PROJECT_NAME}" CACH ##### optional stuff -option( WITH_ALL_OPTIONS "Enable all optional support" ON ) +option( WITH_ALL_OPTIONS "Enable all optional support" ON ) option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden" OFF ) -option( WITH_IMMODULE_EXTENSIONS "Enable immodule extensions support" OFF ) # break ABI -option( WITH_STL "Enable c++ stl support" ${WITH_ALL_OPTIONS} ) + +option( WITH_STL "Enable c++ stl support" ON ) # breaks ABI option( WITH_IPV6 "Enable IPv6 support" ${WITH_ALL_OPTIONS} ) option( WITH_CUPS "Enable cups support" ${WITH_ALL_OPTIONS} ) -option( WITH_SOUND "Enable sound support with Nas" ${WITH_ALL_OPTIONS} ) option( WITH_GLIBMAINLOOP "Enable Glib support" ${WITH_ALL_OPTIONS} ) -option( WITH_XFT "Enable Xft support" ${WITH_ALL_OPTIONS} ) -option( WITH_XSHAPE "Enable XShape support" ${WITH_ALL_OPTIONS} ) +option( WITH_SOUND "Enable sound support with Nas" ${WITH_ALL_OPTIONS} ) + + +##### X11-related options + +option( WITH_SM "Enable Session management support" ${WITH_ALL_OPTIONS} ) option( WITH_TABLET "Enable tablet support" ${WITH_ALL_OPTIONS} ) +option( WITH_XCURSOR "Enable XCursor support" ${WITH_ALL_OPTIONS} ) +option( WITH_XFT "Enable Xft support" ${WITH_ALL_OPTIONS} ) option( WITH_XINERAMA "Enable Xinerame support" ${WITH_ALL_OPTIONS} ) +option( WITH_XKB "Enable X KeyBoard support" ${WITH_ALL_OPTIONS} ) option( WITH_XRANDR "Enable Xrandr support" ${WITH_ALL_OPTIONS} ) option( WITH_XRENDER "Enable XRender support" ${WITH_ALL_OPTIONS} ) +option( WITH_XSHAPE "Enable XShape support" ${WITH_ALL_OPTIONS} ) option( WITH_XSYNC "Enable Xsync support" ${WITH_ALL_OPTIONS} ) -option( WITH_XKB "Enable X KeyBoard support" ${WITH_ALL_OPTIONS} ) -option( WITH_SM "Enable Session management support" ${WITH_ALL_OPTIONS} ) -option( WITH_XCURSOR "Enable XCursor support" ${WITH_ALL_OPTIONS} ) +option( WITH_IMMODULE_EXTENSIONS "Enable immodule extensions support" OFF ) # breaks ABI ##### user requested build -set( TQT_CONFIG "full-config" CACHE STRING "Enable tqt functionalities" ) #choices: minimal-config|small-config|medium-config|large-config|full-config - option( BUILD_ALL "Build all" ON ) option( BUILD_LIB "Build the tqt library itself" ${BUILD_ALL} ) option( BUILD_TQMAKE "Build the tqmake executable" ${BUILD_ALL} ) @@ -102,10 +105,13 @@ option( BUILD_TRANSLATIONS "Build translations" ${BUILD_ALL} ) ##### user requested tqt modules option( WITH_MODULE_ALL "Build all modules" ON ) -option( WITH_MODULE_TOOLS "Build the tools module" ${WITH_MODULE_ALL} ) -option( WITH_MODULE_KERNEL "Build the kernel module" ${WITH_MODULE_ALL} ) -option( WITH_MODULE_WIDGETS "Build the widgets module" ${WITH_MODULE_ALL} ) -option( WITH_MODULE_DIALOGS "Build the dialog module" ${WITH_MODULE_ALL} ) +# Essential modules; build without them isn't viable at the moment +option( WITH_MODULE_STYLES "Build the styles module" ON ) +option( WITH_MODULE_TOOLS "Build the tools module" ON ) +option( WITH_MODULE_KERNEL "Build the kernel module" ON ) +option( WITH_MODULE_WIDGETS "Build the widgets module" ON ) +option( WITH_MODULE_DIALOGS "Build the dialog module" ON ) +# Optional modules option( WITH_MODULE_WORKSPACE "Build the worspace module" ${WITH_MODULE_ALL} ) option( WITH_MODULE_INPUTMETHOD "Build the inputmethode module" ${WITH_MODULE_ALL} ) option( WITH_MODULE_NETWORK "Build the network module" ${WITH_MODULE_ALL} ) @@ -113,7 +119,6 @@ option( WITH_MODULE_CANVAS "Build the canvas module" ${WITH_MODULE_AL option( WITH_MODULE_TABLE "Build the table module" ${WITH_MODULE_ALL} ) option( WITH_MODULE_XML "Build the xml module" ${WITH_MODULE_ALL} ) option( WITH_MODULE_OPENGL "Build the OpenGL module" ${WITH_MODULE_ALL} ) -option( WITH_MODULE_STYLES "Build the styles module" ${WITH_MODULE_ALL} ) option( WITH_MODULE_SQL "Build the SQL module" ${WITH_MODULE_ALL} ) @@ -217,6 +222,15 @@ option( BUILD_EXAMPLE_DCLOCK "Build example dclock" ${BUILD_EXAMPLE_ #option( BUILD_EXAMPLE_DEMO "Build example demo" ${BUILD_EXAMPLE_ALL} ) +##### Advanced options + +set( TQT_CONFIG "full" CACHE STRING + "Predefined set of tqt interanl options, one of: minimal|small|medium|large|full" ) +set( WITH_UNSUPORTED_CONFIG OFF CACHE BOOL "Build TQt regardles some unsupported option configuration" ) + +mark_as_advanced( TQT_CONFIG WITH_UNSUPORTED_CONFIG ) + + ##### configure checks include( ConfigureChecks.cmake ) -- cgit v1.2.1