aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.build.yml25
-rw-r--r--CMakeLists.txt33
2 files changed, 36 insertions, 22 deletions
diff --git a/.build.yml b/.build.yml
index c88fe2d..837dc50 100644
--- a/.build.yml
+++ b/.build.yml
@@ -6,12 +6,10 @@ requires:
- clang
- gcc
- git
- - make
- startup-notification
- which
- cmake
- cmake-extras
- - mate-common
- glib2
- gobject-introspection
- gtk3
@@ -22,14 +20,12 @@ requires:
debian:
# Useful URL: https://salsa.debian.org/debian-ayatana-team/ayatana-ido
- - autopoint
- clang
- clang-tools
- cppcheck
- git
- cmake
- cmake-extras
- - mate-common
- gobject-introspection
- gtk-doc-tools
- libgirepository1.0-dev
@@ -45,14 +41,12 @@ requires:
- xvfb
ubuntu:
- - autopoint
- clang
- clang-tools
- cppcheck
- git
- cmake
- cmake-extras
- - mate-common
- gobject-introspection
- gtk-doc-tools
- libgirepository1.0-dev
@@ -91,10 +85,7 @@ build_scripts:
- cppcheck --enable=warning,style,performance,portability,information,missingInclude .
- fi
-
- - if [ -e ./autogen.sh ]; then
- - NOCONFIGURE=1 ./autogen.sh
- - scan-build $CHECKERS ./configure --prefix=/usr --enable-gtk-doc --enable-compile-warnings=maximum
- - elif [ -e ./CMakeLists.txt ]; then
+ - if [ -e ./CMakeLists.txt ]; then
- if [ ${DISTRO_NAME} == "debian" ] || [ ${DISTRO_NAME} == "ubuntu" ]; then
- scan-build $CHECKERS cmake . -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_TESTS=ON
- else
@@ -117,15 +108,9 @@ build_scripts:
- fi
- scan-build $CHECKERS --keep-cc -o html-report make
- fi
-
-after_scripts:
- - if [ ${BUILD_TYPE} == "scripts" ];then
- - XVFB_RUN="$(which xvfb-run || true)"
- - if [ ${DISTRO_NAME} == "debian" ] || [ ${DISTRO_NAME} == "ubuntu" ];then
- - if [ -e ./autogen.sh ]; then
- - ${XVFB_RUN} make check
- - elif [ -e ./CMakeLists.txt ]; then
- - ${XVFB_RUN} make test
- - fi
+ - XVFB_RUN="$(which xvfb-run || true)"
+ - if [ ${DISTRO_NAME} == "debian" ] || [ ${DISTRO_NAME} == "ubuntu" ];then
+ - if [ -e ./CMakeLists.txt ]; then
+ - ${XVFB_RUN} make test
- fi
- fi
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}")