aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2013-06-27 10:43:13 -0500
committerTed Gould <ted@gould.cx>2013-06-27 10:43:13 -0500
commit9daa9b7b0849a121309b5522ef7eb6d34c6712b2 (patch)
treebfbda0045e277cef9420d2b4fb6b2d04986ca541 /CMakeLists.txt
parent14b46999b69f8dac446e204604adf0981395449c (diff)
downloadayatana-greeter-session-broadcast-9daa9b7b0849a121309b5522ef7eb6d34c6712b2.tar.gz
ayatana-greeter-session-broadcast-9daa9b7b0849a121309b5522ef7eb6d34c6712b2.tar.bz2
ayatana-greeter-session-broadcast-9daa9b7b0849a121309b5522ef7eb6d34c6712b2.zip
Adding in a build system
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt65
1 files changed, 65 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..47c48d4
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,65 @@
+project(unity-greeter-session-broadcast C)
+cmake_minimum_required(VERSION 2.8.9)
+
+set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}")
+
+set(PACKAGE ${CMAKE_PROJECT_NAME})
+set(GETTEXT_PACKAGE ${CMAKE_PROJECT_NAME})
+
+# Trick the H10enable_coverage script into enabling coverage by including the text below:
+# CMAKE_BUILD_TYPE coverage
+
+find_package(PkgConfig REQUIRED)
+include(GNUInstallDirs)
+include(CheckIncludeFile)
+include(CheckFunctionExists)
+include(Coverage)
+include(UseGlibGeneration)
+include(UseGdbusCodegen)
+include(UseConstantBuilder)
+include(UseGSettings)
+
+# Workaround for libexecdir on debian
+if (EXISTS "/etc/debian_version")
+ set(CMAKE_INSTALL_LIBEXECDIR ${CMAKE_INSTALL_LIBDIR})
+ set(CMAKE_INSTALL_FULL_LIBEXECDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBEXECDIR}")
+endif()
+
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror")
+
+pkg_check_modules(GLIB2 REQUIRED glib-2.0)
+include_directories(${GLIB2_INCLUDE_DIRS})
+
+pkg_check_modules(GOBJECT2 REQUIRED gobject-2.0)
+include_directories(${GOBJECT2_INCLUDE_DIRS})
+
+pkg_check_modules(GIO2 REQUIRED gio-2.0)
+include_directories(${GIO2_INCLUDE_DIRS})
+
+if(${LOCAL_INSTALL})
+ set(DBUSSERVICEDIR "${CMAKE_INSTALL_DATADIR}/dbus-1/services/")
+else()
+ EXEC_PROGRAM(${PKG_CONFIG_EXECUTABLE} ARGS dbus-1 --variable session_bus_services_dir OUTPUT_VARIABLE DBUSSERVICEDIR )
+endif()
+message("Installing DBus services to ${DBUSSERVICEDIR}")
+
+if(${LOCAL_INSTALL})
+ set(DBUSIFACEDIR "${CMAKE_INSTALL_DATADIR}/dbus-1/interfaces/")
+else()
+ EXEC_PROGRAM(${PKG_CONFIG_EXECUTABLE} ARGS dbus-1 --variable interfaces_dir OUTPUT_VARIABLE DBUSIFACEDIR )
+endif()
+message("Installing DBus interfaces to ${DBUSIFACEDIR}")
+
+include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11 -fPIC")
+
+add_subdirectory(data)
+add_subdirectory(service)
+add_subdirectory(libunity-greeter-session-broadcast)
+
+# TODO
+# enable_testing()
+# add_subdirectory(tests)
+