* weired git error .. anyway should be ok now
[profile/ivi/genivi/genivi-audio-manager.git] / AudioManagerDaemon / CMakeLists.txt
1  #
2  #  Copyright (C) 2011, BMW AG 
3  # 
4  # AudioManagerDeamon
5  #
6  # @file CMakeLists.txt
7  #
8  # @date: 20.05.2011
9  # @author: Christian Müller (christian.ei.mueller@bmw.de)
10  #
11
12 cmake_minimum_required(VERSION 2.6)
13
14 PROJECT(AudioManagerDeamon)
15
16 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -rdynamic")
17 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
18
19 set(DOC_OUTPUT_PATH ${DOC_OUTPUT_PATH}/AudioManager)
20 set(INCLUDES_FOLDER "include")
21
22 pkg_check_modules(SQLITE REQUIRED sqlite3)
23
24 IF(WITH_DBUS_WRAPPER)
25     FIND_PACKAGE(DBUS REQUIRED)
26 ENDIF(WITH_DBUS_WRAPPER)
27
28 SET(AUDIOMAN_SRCS_CXX
29     src/main.cpp
30     src/CommandReceiver.cpp
31     src/CommandSender.cpp
32     src/ControlReceiver.cpp
33     src/ControlSender.cpp
34     src/DatabaseHandler.cpp
35     src/DatabaseObserver.cpp
36     src/RoutingReceiver.cpp
37     src/RoutingSender.cpp
38     src/SocketHandler.cpp
39     src/TelnetServer.cpp
40     src/Router.cpp
41     src/DLTWrapper.cpp
42 )
43
44 IF(WITH_DBUS_WRAPPER)
45     SET (AUDIOMAN_SRCS_CXX
46         ${AUDIOMAN_SRCS_CXX}
47         src/DBusWrapper.cpp
48     )
49 ENDIF(WITH_DBUS_WRAPPER)
50
51 IF(WITH_SOCKETHANDLER_LOOP)
52     SET (AUDIOMAN_SRCS_CXX
53         ${AUDIOMAN_SRCS_CXX}
54         src/SocketHandler.cpp
55      )
56 ENDIF(WITH_SOCKETHANDLER_LOOP)
57
58 INCLUDE_DIRECTORIES(    
59         ${CMAKE_SOURCE_DIR} 
60         ${CMAKE_CURRENT_BINARY_DIR}
61         ${DLT_INCLUDE_DIRS}
62         ${AUDIO_INCLUDES_FOLDER}
63         ${INCLUDES_FOLDER}
64 )
65
66 IF(WITH_DBUS_WRAPPER)
67 INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
68     ${DBUS_ARCH_INCLUDE_DIR}
69     ${DBUS_INCLUDE_DIR}
70 )
71 ENDIF(WITH_DBUS_WRAPPER)
72
73 ADD_EXECUTABLE(AudioManager ${AUDIOMAN_SRCS_CXX})
74
75 IF(WITH_DBUS_WRAPPER)
76 TARGET_LINK_LIBRARIES(AudioManager 
77         ${SQLITE_LIBRARIES}
78         ${DLT_LIBRARIES}
79         ${DBUS_LIBRARY}
80 )
81 ELSE(WITH_DBUS_WRAPPER)
82     TARGET_LINK_LIBRARIES(AudioManager 
83         ${SQLITE_LIBRARIES}
84         ${DLT_LIBRARIES}
85 )
86 ENDIF(WITH_DBUS_WRAPPER)
87
88 IF(WITH_TESTS)
89         add_subdirectory (test)
90 ENDIF(WITH_TESTS)
91
92 IF(WITH_DOCUMENTATION)
93         file(MAKE_DIRECTORY ${DOC_OUTPUT_PATH})
94         configure_file(${DOXY_FILE}  ${DOC_OUTPUT_PATH}/Doxyfile  @ONLY IMMEDIATE)
95         add_custom_target (Docs ALL 
96                 COMMAND ${DOXYGEN_EXECUTABLE} ${DOC_OUTPUT_PATH}/Doxyfile WORKING_DIRECTORY ${DOC_OUTPUT_PATH}
97                 SOURCES ${PROJECT_BINARY_DIR} ${DOC_OUTPUT_PATH}/Doxyfile
98         )
99 ENDIF(WITH_DOCUMENTATION)
100
101 INSTALL(TARGETS AudioManager 
102         RUNTIME 
103         DESTINATION bin
104         PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ
105         COMPONENT bin
106 )
107
108 INSTALL(DIRECTORY "${AUDIO_INCLUDES_FOLDER}/" 
109         DESTINATION include
110         COMPONENT dev
111 )
112
113 SET(ADD_DEPEND "sqlite3(>=3.6.22)" "dlt" "libdbus-1-3(>=1.2.16)")
114 set_property(GLOBAL APPEND PROPERTY bin_prop "${ADD_DEPEND}")
115
116 SET(ADD_DEPEND "audiomanager-bin" "sqlite3(>=3.6.22)" "dlt" "libdbus-1-3(>=1.2.16)")
117 set_property(GLOBAL APPEND PROPERTY dev_prop "${ADD_DEPEND}")
118