diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 90b79bd..96b3d61 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,18 +1,26 @@ -project(ayatana-indicator-notifications C CXX) -cmake_minimum_required(VERSION 2.8.9) +cmake_minimum_required (VERSION 3.13) +project (ayatana-indicator-notifications VERSION 23.10.0 LANGUAGES C CXX) -list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) +# Options -set(PROJECT_VERSION "0.9.0") -set(PACKAGE ${CMAKE_PROJECT_NAME}) +option(ENABLE_WERROR "Treat all build warnings as errors" OFF) +set (CMAKE_BUILD_TYPE "Release") + +if(ENABLE_WERROR) + add_definitions("-Werror") +endif() + +if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + add_definitions("-Weverything") +else() + add_definitions("-Wall") +endif() ## ## 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 @@ -33,7 +41,8 @@ include (FindPkgConfig) pkg_check_modules(SERVICE_DEPS REQUIRED glib-2.0>=2.36 gio-2.0>=2.36 - gio-unix-2.0>=2.36) + gio-unix-2.0>=2.36 + libayatana-common>=0.9.3) include_directories (SYSTEM ${SERVICE_DEPS_INCLUDE_DIRS}) @@ -41,7 +50,7 @@ include_directories (SYSTEM ${SERVICE_DEPS_INCLUDE_DIRS}) ## custom targets ## -set (ARCHIVE_NAME ${CMAKE_PROJECT_NAME}-${PROJECT_VERSION}) +set (ARCHIVE_NAME ${CMAKE_PROJECT_NAME}-${CMAKE_PROJECT_VERSION}) add_custom_target (dist COMMAND bzr export --root=${ARCHIVE_NAME} ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.gz WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) @@ -53,20 +62,14 @@ add_custom_target (cppcheck COMMAND cppcheck --enable=all -q --error-exitcode=2 ## Actual building ## -if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - set(C_WARNING_ARGS "${C_WARNING_ARGS} -Weverything") - set(C_WARNING_ARGS "${C_WARNING_ARGS} -Wno-c++98-compat -Wno-padded") # these are annoying - set(C_WARNING_ARGS "${C_WARNING_ARGS} -Wno-documentation") # gtk-doc != doxygen -else() - set(C_WARNING_ARGS "${C_WARNING_ARGS} -Wall -Wformat=2") # Use -Wextra and -Wpedantic explicitly if needed -endif() -set(C_WARNING_ARGS "${C_WARNING_ARGS} -Wno-missing-field-initializers") # GActionEntry - - include_directories (${CMAKE_CURRENT_SOURCE_DIR}/include) include_directories (${CMAKE_CURRENT_BINARY_DIR}/include) -# actually build things add_subdirectory(src) add_subdirectory(data) add_subdirectory(po) + +# Display config info + +message(STATUS "Install prefix: ${CMAKE_INSTALL_PREFIX}") +message(STATUS "Build with -Werror: ${ENABLE_WERROR}") |