summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorAlexander Golubev <fatzer2@gmail.com>2024-03-08 23:09:20 +0300
committerAlexander Golubev <fatzer2@gmail.com>2024-03-08 23:09:20 +0300
commit84df939ab9ed323d88c33d46dcfd6f7cdb830572 (patch)
tree4c552fefdc45241343c113a511ee8ff7f32833d9 /CMakeLists.txt
parentf47d954825d6b9e6216031b2286c21baf2b46f40 (diff)
downloadtqt3-84df939ab9ed323d88c33d46dcfd6f7cdb830572.tar.gz
tqt3-84df939ab9ed323d88c33d46dcfd6f7cdb830572.zip
cmake: sort options a bit and add some configuration sanity checks
Fix build with WITH_MODULE_INPUTMETHOD=OFF Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt46
1 files changed, 30 insertions, 16 deletions
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 )