aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorCharles Kerr <charles.kerr@canonical.com>2013-03-22 16:57:58 -0500
committerCharles Kerr <charles.kerr@canonical.com>2013-03-22 16:57:58 -0500
commitc8ce514661476c027c2bd8b9f8c000810e105e67 (patch)
tree3aa2f790bffe827d2fa9fe14a21a27b3c95a554b /CMakeLists.txt
parent2d7bf142998a28e1970c61bf63d6435eb4d4ac1e (diff)
downloadayatana-indicator-session-c8ce514661476c027c2bd8b9f8c000810e105e67.tar.gz
ayatana-indicator-session-c8ce514661476c027c2bd8b9f8c000810e105e67.tar.bz2
ayatana-indicator-session-c8ce514661476c027c2bd8b9f8c000810e105e67.zip
add top-level cmake files to the repo
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt71
1 files changed, 71 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..9f8f026
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,71 @@
+project (indicator-session C CXX)
+set (PROJECT_VERSION "13.10.1")
+cmake_minimum_required (VERSION 2.8.9)
+list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
+
+option (full_warnings "Full compiler warnings." ON)
+option (enable_tests "Build the package's automatic tests." ON)
+option (enable_lcov "Generate lcov code coverage reports." ON)
+
+set (ARCHIVE_NAME ${CMAKE_PROJECT_NAME}-${PROJECT_VERSION})
+set (CC_WARNING_ARGS " -Wall -pedantic -Wextra -Wno-missing-field-initializers")
+
+#
+# Check for glib/gio
+#
+
+include (FindPkgConfig)
+pkg_check_modules (SERVICE REQUIRED
+ glib-2.0>=2.35.4
+ gio-unix-2.0>=2.25.11)
+include_directories (${SERVICE_INCLUDE_DIRS})
+
+#
+# Testing / Coverage
+#
+
+if (${enable_tests})
+ set (GTEST_SOURCE_DIR /usr/src/gtest/src)
+ set (GTEST_INCLUDE_DIR ${GTEST_SOURCE_DIR}/..)
+ set (GTEST_LIBS -lpthread)
+ enable_testing ()
+ if (${enable_lcov})
+ include(cmake/GCov.cmake)
+ endif ()
+endif ()
+
+#
+# Custom Targets
+#
+
+add_custom_target (dist
+ COMMAND bzr export --root=${ARCHIVE_NAME} ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.gz
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
+
+add_custom_target (clean-coverage
+ COMMAND find ${CMAKE_BINARY_DIR} -name '*.gcda' | xargs rm -f)
+
+add_custom_target (cppcheck COMMAND cppcheck --enable=all -q --error-exitcode=2 --inline-suppr
+ ${CMAKE_SOURCE_DIR}/src
+ ${CMAKE_SOURCE_DIR}/test)
+
+#
+#
+#
+
+
+add_definitions (-DGETTEXT_PACKAGE=\"indicator-session\")
+add_definitions (-DPACKAGE_NAME=\"indicator-session\")
+add_definitions (-DGNOMELOCALEDIR=\"@CMAKE_INSTALL_PREFIX@/share/locale\")
+
+#
+# Directories
+#
+
+include_directories(${CMAKE_CURRENT_BINARY_DIR}/src)
+
+add_subdirectory(src)
+add_subdirectory(data)
+if (${enable_tests})
+ add_subdirectory(tests)
+endif ()