aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt106
1 files changed, 57 insertions, 49 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3370b06..23066ac 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,5 @@
-project (ayatana-indicator-datetime C CXX)
cmake_minimum_required (VERSION 3.13)
+project (ayatana-indicator-datetime VERSION 24.2.0 LANGUAGES C CXX)
list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
@@ -7,13 +7,13 @@ if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
SET(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "..." FORCE)
endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
-set (PROJECT_VERSION "0.9.0")
set (PACKAGE ${CMAKE_PROJECT_NAME})
# Options
option(ENABLE_TESTS "Enable all tests and checks" OFF)
option(ENABLE_COVERAGE "Enable coverage reports (includes enabling all tests and checks)" OFF)
option(ENABLE_WERROR "Treat all build warnings as errors" OFF)
+option(ENABLE_LOMIRI_FEATURES "Build with Lomiri-specific libraries, schemas and media" OFF)
if(ENABLE_COVERAGE)
set(ENABLE_TESTS ON)
@@ -23,17 +23,22 @@ else()
endif()
if(ENABLE_WERROR)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
+ add_definitions("-Werror")
endif()
+if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+ add_definitions("-Weverything")
+else()
+ add_definitions("-Wall")
+endif()
+
+add_definitions("-Wno-sign-compare") # Needed for GTest on Ubuntu
+
##
## GNU standard installation directories
##
include (GNUInstallDirs)
-set (CMAKE_INSTALL_PKGLIBEXECDIR "${CMAKE_INSTALL_LIBEXECDIR}/${CMAKE_PROJECT_NAME}")
-set (CMAKE_INSTALL_FULL_PKGLIBEXECDIR "${CMAKE_INSTALL_FULL_LIBEXECDIR}/${CMAKE_PROJECT_NAME}")
##
## Gettext
@@ -43,11 +48,6 @@ set (GETTEXT_PACKAGE "ayatana-indicator-datetime")
add_definitions (-DGETTEXT_PACKAGE="${GETTEXT_PACKAGE}"
-DLOCALEDIR="${CMAKE_INSTALL_FULL_LOCALEDIR}")
-set(ALARM_DEFAULT_SOUND "/usr/share/sounds/lomiri/ringtones/Alarm clock.ogg")
-set(CALENDAR_DEFAULT_SOUND "/usr/share/sounds/lomiri/ringtones/Marimbach.ogg")
-add_definitions(-DALARM_DEFAULT_SOUND="${ALARM_DEFAULT_SOUND}"
- -DCALENDAR_DEFAULT_SOUND="${CALENDAR_DEFAULT_SOUND}")
-
##
## Check for prerequisites
##
@@ -56,33 +56,53 @@ find_package (PkgConfig REQUIRED)
include (CheckIncludeFile)
include (FindPkgConfig)
-pkg_check_modules (SERVICE_DEPS REQUIRED
- libayatana-common>=0.9.3
- glib-2.0>=2.36
- gio-unix-2.0>=2.36
- libical>=0.48
- libecal-2.0>=3.16
- libedataserver-1.2>=3.5
- gstreamer-1.0>=1.2
- libnotify>=0.7.6
- properties-cpp>=0.0.1
- libaccounts-glib>=1.18
- messaging-menu>=0.8.2
- uuid>=2.25)
+set (
+ SERVICE_DEPS
+ libayatana-common>=0.9.3
+ glib-2.0>=2.36
+ gio-unix-2.0>=2.36
+ libical>=0.48
+ libecal-2.0>=3.16
+ libedataserver-1.2>=3.5
+ gstreamer-1.0>=1.2
+ libnotify>=0.7.6
+ properties-cpp>=0.0.1
+ libaccounts-glib>=1.18
+ messaging-menu>=0.8.2
+ uuid>=2.25
+)
+
+if (ENABLE_LOMIRI_FEATURES)
+ list (
+ APPEND
+ SERVICE_DEPS
+ lomiri-url-dispatcher>=0
+ lomiri-sounds
+ lomiri-schemas
+ )
+
+ pkg_get_variable(ALARM_DEFAULT_SOUND lomiri-sounds alarm_default_sound)
+ pkg_get_variable(CALENDAR_DEFAULT_SOUND lomiri-sounds calendar_default_sound)
+ string(JOIN " " ALARM_DEFAULT_SOUND ${ALARM_DEFAULT_SOUND})
+ string(JOIN " " CALENDAR_DEFAULT_SOUND ${CALENDAR_DEFAULT_SOUND})
+
+ add_definitions (
+ -DLOMIRI_FEATURES_ENABLED
+ -DALARM_DEFAULT_SOUND="${ALARM_DEFAULT_SOUND}"
+ -DCALENDAR_DEFAULT_SOUND="${CALENDAR_DEFAULT_SOUND}"
+ )
+else ()
+ add_definitions (
+ -DALARM_DEFAULT_SOUND="dummy"
+ -DCALENDAR_DEFAULT_SOUND="dummy"
+ )
+
+ set (ALARM_DEFAULT_SOUND "dummy")
+endif ()
+
+pkg_check_modules (SERVICE_DEPS REQUIRED ${SERVICE_DEPS})
include_directories (SYSTEM ${SERVICE_DEPS_INCLUDE_DIRS})
-# lomiri-url-dispatcher
-
-pkg_check_modules(URLDISPATCHER lomiri-url-dispatcher>=0)
-include_directories(${URLDISPATCHER_INCLUDE_DIRS})
-
-if(URLDISPATCHER_FOUND)
- add_definitions( -DHAS_URLDISPATCHER )
-endif()
-
-pkg_check_modules(LOMIRI_SOUNDS lomiri-sounds)
-pkg_check_modules(LOMIRI_SCHEMAS lomiri-schemas)
-
##
## custom targets
##
@@ -100,19 +120,6 @@ add_custom_target (cppcheck COMMAND cppcheck --enable=all -q --error-exitcode=2
## Actual building
##
-if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
-
- set(COMPILE_FLAGS "${COMPILE_FLAGS} -Weverything")
- set(COMPILE_FLAGS "${COMPILE_FLAGS} -Wno-c++98-compat -Wno-padded")
- set(COMPILE_FLAGS "${COMPILE_FLAGS} -Wno-documentation")
-
-else()
-
- set(COMPILE_FLAGS "${COMPILE_FLAGS} -Wall")
-
-endif()
-
-
include_directories (${CMAKE_CURRENT_SOURCE_DIR}/include)
include_directories (${CMAKE_CURRENT_BINARY_DIR}/include)
@@ -148,3 +155,4 @@ endif()
message(STATUS "Install prefix: ${CMAKE_INSTALL_PREFIX}")
message(STATUS "Unit tests: ${ENABLE_TESTS}")
message(STATUS "Build with -Werror: ${ENABLE_WERROR}")
+message(STATUS "Build with Lomiri features: ${ENABLE_LOMIRI_FEATURES}")