2 # Copyright (C) 2011, BMW AG
9 # @author: Christian Müller (christian.ei.mueller@bmw.de)
12 cmake_minimum_required(VERSION 2.6)
14 PROJECT(AudioManagerDeamon)
16 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Xlinker -export-dynamic")
17 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic")
18 set(CMAKE_CXX_FLAGS "-g -pipe -g -Wall -W -D_REENTRANT")
20 ##todo only when dbus needed!
21 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}")
23 set(STD_INCLUDE_DIRS "/usr/include")
24 set(EXECUTABLE_OUTPUT_PATH ../../bin/)
25 set(DOC_OUTPUT_PATH ../../doc/)
26 set(DBUS_FOLDER ${CMAKE_SOURCE_DIR}/../dbusInterfaces)
27 set(DOC_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/../doc/AudioManager)
28 set(DOCUMENT $ENV{gendoc})
30 file(MAKE_DIRECTORY ${DOC_OUTPUT_PATH})
32 FIND_PACKAGE(PkgConfig)
33 pkg_check_modules(SQLITE REQUIRED sqlite3)
34 pkg_check_modules(DLT REQUIRED automotive-dlt)
36 ##todo: only when dbus is reuqired !
37 find_package (Threads)
38 FIND_PACKAGE(DBUS REQUIRED)
39 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR} ${STD_INCLUDE_DIRS})
41 #all source files go here
58 ${CMAKE_CURRENT_BINARY_DIR}
61 ${DBUS_ARCH_INCLUDE_DIR}
65 ADD_EXECUTABLE(AudioManager ${AUDIOMAN_SRCS_CXX})
67 ##todo only when dbus is required
68 TARGET_LINK_LIBRARIES(AudioManager
72 ${CMAKE_THREAD_LIBS_INIT}
75 #add a target to generate API documentation with Doxygen
79 configure_file(Doxyfile.in ${PROJECT_BINARY_DIR}/Doxyfile @ONLY IMMEDIATE)
80 add_custom_target (Docs ALL
81 COMMAND ${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/Doxyfile WORKING_DIRECTORY ${DOC_OUTPUT_PATH}
82 SOURCES ${PROJECT_BINARY_DIR}/Doxyfile)