summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorchristian mueller <christian.ei.mueller@bmw.de>2011-12-22 17:27:16 +0100
committerchristian mueller <christian.ei.mueller@bmw.de>2011-12-23 01:36:59 +0100
commit4f74d6e303c58326fe75ee75e1c92cf9263f800d (patch)
treeda2c725f7cbad20e35169476b801066689a382a2 /CMakeLists.txt
parent4618280b6d777ac7bf3bb5cf5b0ea3f0d9e4b2b7 (diff)
downloadaudiomanager-4f74d6e303c58326fe75ee75e1c92cf9263f800d.tar.gz
* rework of buildsystem
* now everything depends on a toplevel CMakefile * cleanup of makefiles and compiler options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt103
1 files changed, 103 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..13f5d2f
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,103 @@
+ #
+ # Copyright (C) 2011, BMW AG
+ #
+ # AudioManagerDeamon
+ #
+ # @file CMakeLists.txt
+ #
+ # @date: 20.05.2011
+ # @author: Christian Müller (christian.ei.mueller@bmw.de)
+ #
+
+cmake_minimum_required(VERSION 2.6)
+
+PROJECT(AudioManagerDeamon)
+
+OPTION( WITH_DBUS_WRAPPER
+ "Enable Dbus Wrapper Support" ON )
+
+OPTION( WITH_SOCKETHANDLER_LOOP
+ "Enable SocketHandler Support (cannot work with SimpleDBusLoop)" ON )
+
+OPTION( WITH_SIMPLEDBUS_LOOP
+ "Enable SimpleDBusLoop (requires DBus_Wrapper,cannot work with SocketHandler)" OFF )
+
+OPTION( WITH_TESTS
+ "Build together with all available unitTest" ON )
+
+OPTION( WITH_DOCUMENTATION
+ "Build together with Doxygen Documentation" OFF )
+
+OPTION( WITH_PLUGIN_COMMAND
+ "Build command pluings" ON)
+
+OPTION( WITH_PLUGIN_CONTROL
+ "Build control pluing" ON)
+
+OPTION( WITH_PLUGIN_ROUTING
+ "Build routing pluings" ON)
+
+OPTION( WITH_MAIN
+ "Build with daemon" ON)
+
+#Can be changed via passing -DDBUS_SERVICE_PREFIX="XXX" to cmake
+IF(NOT DEFINED DBUS_SERVICE_PREFIX)
+ SET( DBUS_SERVICE_PREFIX "org.genivi.audiomanager\0" )
+ENDIF(NOT DEFINED DBUS_SERVICE_PREFIX)
+
+#Can be changed via passing -DDBUS_SERVICE_OBJECT_PATH="XXX" to cmake
+IF(NOT DEFINED DBUS_SERVICE_OBJECT_PATH)
+ SET( DBUS_SERVICE_OBJECT_PATH "/org/genivi/audiomanager\0" )
+ENDIF(NOT DEFINED DBUS_SERVICE_OBJECT_PATH)
+
+SET(PLUGINS_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin/plugins)
+
+SET(DEFAULT_PLUGIN_COMMAND_DIR "${PLUGINS_OUTPUT_PATH}/command")
+SET(DEFAULT_PLUGIN_ROUTING_DIR "${PLUGINS_OUTPUT_PATH}/routing")
+SET(CONTROLLER_PLUGIN "${PLUGINS_OUTPUT_PATH}/control/libPluginControlInterface.so")
+
+SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
+SET(AUDIO_INCLUDES_FOLDER ${CMAKE_SOURCE_DIR}/includes)
+SET(DOC_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/doc)
+SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin)
+SET(TEST_EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin/test)
+SET(DOXY_FILE ${CMAKE_SOURCE_DIR}/cmake/DoxyFile.in)
+SET(INTROSPECTION_COMMAND_XML_FILE "${AUDIO_INCLUDES_FOLDER}/dbus/CommandInterface.xml")
+
+CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/cmake/config.cmake ${CMAKE_SOURCE_DIR}/includes/config.h )
+
+FIND_PACKAGE(PkgConfig)
+pkg_check_modules(DLT REQUIRED automotive-dlt)
+
+IF(WITH_DOCUMENTATION)
+ find_package(Doxygen)
+ file(MAKE_DIRECTORY ${DOC_OUTPUT_PATH}/Interfaces)
+ configure_file(${DOXY_FILE} ${DOC_OUTPUT_PATH}/Interfaces/Doxyfile @ONLY IMMEDIATE)
+ add_custom_target (Interfaces ALL
+ COMMAND ${DOXYGEN_EXECUTABLE} ${DOC_OUTPUT_PATH}/Interfaces/Doxyfile WORKING_DIRECTORY ${DOC_OUTPUT_PATH}/Interfaces
+ SOURCES ${AUDIO_INCLUDES_FOLDER} ${DOC_OUTPUT_PATH}/Interfaces/Doxyfile
+ )
+ENDIF(WITH_DOCUMENTATION)
+
+##global build flags
+#set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -std=c++98")
+
+if(WITH_PLUGIN_COMMAND)
+ add_subdirectory (PluginCommandInterfaceDbus)
+endif(WITH_PLUGIN_COMMAND)
+
+if(WITH_PLUGIN_ROUTING)
+ add_subdirectory (PluginRoutingInterfaceDbus)
+endif(WITH_PLUGIN_ROUTING)
+
+if(WITH_PLUGIN_CONTROL)
+ add_subdirectory (PluginControlInterface)
+endif(WITH_PLUGIN_CONTROL)
+
+if(WITH_MAIN)
+ add_subdirectory (AudioManagerDaemon)
+endif(WITH_MAIN)
+
+
+
+