packaging: updated the changelog.
[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         ${PROJECT_INCLUDE_FOLDER}
70         ${INCLUDE_FOLDER}
71 )
72
73 IF(WITH_DLT)
74 INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
75     ${DLT_INCLUDE_DIRS}
76 )
77 ENDIF(WITH_DLT)
78
79 IF(WITH_DBUS_WRAPPER)
80 INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
81     ${DBUS_ARCH_INCLUDE_DIR}
82     ${DBUS_INCLUDE_DIR}
83 )
84 ENDIF(WITH_DBUS_WRAPPER)
85
86 ADD_EXECUTABLE(AudioManager ${AUDIOMAN_SRCS_CXX})
87
88 IF(WITH_DBUS_WRAPPER)
89     TARGET_LINK_LIBRARIES(AudioManager 
90         ${SQLITE_LIBRARIES}
91         ${CMAKE_DL_LIBS}
92         ${DBUS_LIBRARY}
93     )
94 ELSE(WITH_DBUS_WRAPPER)
95     TARGET_LINK_LIBRARIES(AudioManager 
96         ${SQLITE_LIBRARIES}
97         ${CMAKE_DL_LIBS}
98     )
99 ENDIF(WITH_DBUS_WRAPPER)
100
101 IF(WITH_DLT)
102     TARGET_LINK_LIBRARIES(AudioManager
103         ${DLT_LIBRARIES}
104     )
105 ENDIF(WITH_DLT)  
106
107 IF(WITH_TESTS)
108         add_subdirectory (test)
109 ENDIF(WITH_TESTS)
110
111 #IF(WITH_DOCUMENTATION)
112 #       file(MAKE_DIRECTORY ${DOC_OUTPUT_PATH})
113 #       configure_file(${DOXY_FILE}  ${DOC_OUTPUT_PATH}/Doxyfile  @ONLY IMMEDIATE)
114 #       add_custom_target (Docs ALL 
115 #               COMMAND ${DOXYGEN_EXECUTABLE} ${DOC_OUTPUT_PATH}/Doxyfile WORKING_DIRECTORY ${DOC_OUTPUT_PATH}
116 #               SOURCES ${PROJECT_BINARY_DIR} ${DOC_OUTPUT_PATH}/Doxyfile
117 #       )
118 #ENDIF(WITH_DOCUMENTATION)
119
120 INSTALL(TARGETS AudioManager 
121         RUNTIME 
122         DESTINATION bin
123         PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ
124         COMPONENT bin
125 )
126
127 INSTALL(DIRECTORY "${AUDIO_INCLUDE_FOLDER}/" 
128         DESTINATION include
129         COMPONENT dev
130 )
131
132 # General packet dependency
133 SET(ADD_DEPEND_BIN_PROP "sqlite3(>=3.6.22)")
134
135 # Optional packet dependency
136 IF(WITH_DLT)
137     SET(ADD_DEPEND_BIN_PROP ${ADD_DEPEND_BIN_PROP} "dlt")
138 ENDIF(WITH_DLT)
139
140 IF(WITH_DBUS_WRAPPER)
141     SET(ADD_DEPEND_BIN_PROP ${ADD_DEPEND_BIN_PROP} "libdbus-1-3(>=1.2.16)")
142 ENDIF()
143
144 # Additional Dev packet dependency
145 SET(ADD_DEPEND_DEV_PROP "audiomanager-bin" ${ADD_DEPEND_BIN_PROP})
146
147 MESSAGE(STATUS "bin packet dependency: ${ADD_DEPEND_BIN_PROP}")
148 MESSAGE(STATUS "dev dependency: ${ADD_DEPEND_DEV_PROP}")
149
150 set_property(GLOBAL APPEND PROPERTY bin_prop "${ADD_DEPEND_BIN_PROP}")
151 set_property(GLOBAL APPEND PROPERTY dev_prop "${ADD_DEPEND_DEV_PROP}")
152
153
154