aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt33
1 files changed, 31 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7d12f76..d3713fd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,7 +29,34 @@ endif()
# Check for prerequisites
-set(DEPS glib-2.0>=2.58 gtk+-3.0>=3.24)
+option(FLAVOUR_GTK3 "Build against GTK+-3.0" ON)
+option(FLAVOUR_GTK4 "Build against GTK+-4.0" OFF)
+option(ENABLE_LOADER "Build Ayatana Indicator Loader" ON)
+option(ENABLE_IDO "Enable IDO specific code" ON)
+
+if (FLAVOUR_GTK4)
+ set (FLAVOUR_GTK3 OFF)
+ set (ayatana_ido_gtkver "ayatana-ido4")
+endif()
+if (FLAVOUR_GTK3)
+ set (FLAVOUR_GTK4 OFF)
+ set (ayatana_ido_gtkver "ayatana-ido3")
+endif()
+
+set(DEPS glib-2.0>=2.58)
+
+if (FLAVOUR_GTK4)
+ set(DEPS
+ ${DEPS}
+ gtk+-4.0>=3.91
+ )
+endif()
+if (FLAVOUR_GTK3)
+ set(DEPS
+ ${DEPS}
+ gtk+-3.0>=3.24
+ )
+endif()
find_package (PkgConfig REQUIRED)
pkg_check_modules(PROJECT_DEPS REQUIRED ${DEPS})
@@ -65,7 +92,7 @@ if (ENABLE_TESTS)
if (ENABLE_COVERAGE)
find_package(CoverageReport)
ENABLE_COVERAGE_REPORT(
- TARGETS "ayatana-ido3-0.4"
+ TARGETS "${ayatana_ido_gtkver}-0.4"
TESTS "gtest-menuitems"
FILTER /usr/include ${CMAKE_BINARY_DIR}/*
)
@@ -75,5 +102,7 @@ endif()
# Display config info
message(STATUS "Install prefix: ${CMAKE_INSTALL_PREFIX}")
+message(STATUS "GTK+-4.0 build: ${FLAVOUR_GTK4}")
+message(STATUS "GTK+-3.0 build: ${FLAVOUR_GTK3}")
message(STATUS "Unit tests: ${ENABLE_TESTS}")
message(STATUS "Build with -Werror: ${ENABLE_WERROR}")