* add setSinkVolume to telnetserver
[profile/ivi/audiomanager.git] / AudioManagerDaemon / CMakeLists.txt
1 # Copyright (C) 2012, BMW AG
2 #
3 # This file is part of GENIVI Project AudioManager.
4
5 # Contributions are licensed to the GENIVI Alliance under one or more
6 # Contribution License Agreements.
7
8 # copyright
9 # This Source Code Form is subject to the terms of the
10 # Mozilla Public License, v. 2.0. If a  copy of the MPL was not distributed with
11 # this file, You can obtain one at http://mozilla.org/MPL/2.0/.
12
13 # author Christian Mueller, christian.ei.mueller@bmw.de BMW 2011,2012
14 #
15 # For further information see http://www.genivi.org/.
16 #
17
18 cmake_minimum_required(VERSION 2.6)
19
20 PROJECT(AudioManagerDeamon)
21
22 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -rdynamic")
23 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
24
25 set(DOC_OUTPUT_PATH ${DOC_OUTPUT_PATH}/AudioManager)
26 set(include_FOLDER "include")
27
28 pkg_check_modules(SQLITE REQUIRED sqlite3)
29
30 IF(WITH_DBUS_WRAPPER)
31     FIND_PACKAGE(DBUS REQUIRED)
32 ENDIF(WITH_DBUS_WRAPPER)
33
34 SET(AUDIOMAN_SRCS_CXX
35     src/main.cpp
36     src/CAmCommandReceiver.cpp
37     src/CAmCommandSender.cpp
38     src/CAmControlReceiver.cpp
39     src/CAmControlSender.cpp
40     src/CAmDatabaseHandler.cpp
41     src/CAmDatabaseObserver.cpp
42     src/CAmRoutingReceiver.cpp
43     src/CAmRoutingSender.cpp
44     src/CAmSocketHandler.cpp
45     src/CAmTelnetServer.cpp
46     src/CAmRouter.cpp
47     src/CAmDltWrapper.cpp
48     src/CAmTelnetMenuHelper.cpp
49 )
50
51 IF(WITH_DBUS_WRAPPER)
52     SET (AUDIOMAN_SRCS_CXX
53         ${AUDIOMAN_SRCS_CXX}
54         src/CAmDbusWrapper.cpp
55     )
56 ENDIF(WITH_DBUS_WRAPPER)
57
58 IF(WITH_SOCKETHANDLER_LOOP)
59     SET (AUDIOMAN_SRCS_CXX
60         ${AUDIOMAN_SRCS_CXX}
61         src/CAmSocketHandler.cpp
62      )
63 ENDIF(WITH_SOCKETHANDLER_LOOP)
64
65 INCLUDE_DIRECTORIES(    
66         ${CMAKE_SOURCE_DIR} 
67         ${CMAKE_CURRENT_BINARY_DIR}     
68         ${AUDIO_INCLUDE_FOLDER}
69         ${include_FOLDER}
70 )
71
72 IF(WITH_DLT)
73 INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
74     ${DLT_INCLUDE_DIRS}
75 )
76 ENDIF(WITH_DLT)
77
78 IF(WITH_DBUS_WRAPPER)
79 INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
80     ${DBUS_ARCH_INCLUDE_DIR}
81     ${DBUS_INCLUDE_DIR}
82 )
83 ENDIF(WITH_DBUS_WRAPPER)
84
85 ADD_EXECUTABLE(AudioManager ${AUDIOMAN_SRCS_CXX})
86
87 IF(WITH_DBUS_WRAPPER)
88     TARGET_LINK_LIBRARIES(AudioManager 
89         ${SQLITE_LIBRARIES}
90         ${CMAKE_DL_LIBS}
91         ${DBUS_LIBRARY}
92     )
93 ELSE(WITH_DBUS_WRAPPER)
94     TARGET_LINK_LIBRARIES(AudioManager 
95         ${SQLITE_LIBRARIES}
96         ${CMAKE_DL_LIBS}
97     )
98 ENDIF(WITH_DBUS_WRAPPER)
99
100 IF(WITH_DLT)
101     TARGET_LINK_LIBRARIES(AudioManager
102         ${DLT_LIBRARIES}
103     )
104 ENDIF(WITH_DLT)  
105
106 IF(WITH_TESTS)
107         add_subdirectory (test)
108 ENDIF(WITH_TESTS)
109
110 #IF(WITH_DOCUMENTATION)
111 #       file(MAKE_DIRECTORY ${DOC_OUTPUT_PATH})
112 #       configure_file(${DOXY_FILE}  ${DOC_OUTPUT_PATH}/Doxyfile  @ONLY IMMEDIATE)
113 #       add_custom_target (Docs ALL 
114 #               COMMAND ${DOXYGEN_EXECUTABLE} ${DOC_OUTPUT_PATH}/Doxyfile WORKING_DIRECTORY ${DOC_OUTPUT_PATH}
115 #               SOURCES ${PROJECT_BINARY_DIR} ${DOC_OUTPUT_PATH}/Doxyfile
116 #       )
117 #ENDIF(WITH_DOCUMENTATION)
118
119 INSTALL(TARGETS AudioManager 
120         RUNTIME 
121         DESTINATION bin
122         PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ
123         COMPONENT bin
124 )
125
126 INSTALL(DIRECTORY "${AUDIO_INCLUDE_FOLDER}/" 
127         DESTINATION include
128         COMPONENT dev
129 )
130
131 # General packet dependency
132 SET(ADD_DEPEND_BIN_PROP "sqlite3(>=3.6.22)")
133
134 # Optional packet dependency
135 IF(WITH_DLT)
136     SET(ADD_DEPEND_BIN_PROP ${ADD_DEPEND_BIN_PROP} "dlt")
137 ENDIF(WITH_DLT)
138
139 IF(WITH_DBUS_WRAPPER)
140     SET(ADD_DEPEND_BIN_PROP ${ADD_DEPEND_BIN_PROP} "libdbus-1-3(>=1.2.16)")
141 ENDIF()
142
143 # Additional Dev packet dependency
144 SET(ADD_DEPEND_DEV_PROP "audiomanager-bin" ${ADD_DEPEND_BIN_PROP})
145
146 MESSAGE(STATUS "bin packet dependency: ${ADD_DEPEND_BIN_PROP}")
147 MESSAGE(STATUS "dev dependency: ${ADD_DEPEND_DEV_PROP}")
148
149 set_property(GLOBAL APPEND PROPERTY bin_prop "${ADD_DEPEND_BIN_PROP}")
150 set_property(GLOBAL APPEND PROPERTY dev_prop "${ADD_DEPEND_DEV_PROP}")
151
152
153