1 # Copyright (C) 2012, BMW AG
3 # This file is part of GENIVI Project AudioManager.
5 # Contributions are licensed to the GENIVI Alliance under one or more
6 # Contribution License Agreements.
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/.
13 # author Christian Mueller, christian.ei.mueller@bmw.de BMW 2011,2012
15 # For further information see http://www.genivi.org/.
18 cmake_minimum_required(VERSION 2.6)
20 PROJECT(AudioManagerDeamon)
22 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -rdynamic")
23 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
25 set(DOC_OUTPUT_PATH ${DOC_OUTPUT_PATH}/AudioManager)
26 set(include_FOLDER "include")
28 pkg_check_modules(SQLITE REQUIRED sqlite3)
31 FIND_PACKAGE(DBUS REQUIRED)
32 ENDIF(WITH_DBUS_WRAPPER)
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
48 src/CAmTelnetMenuHelper.cpp
52 SET (AUDIOMAN_SRCS_CXX
54 src/CAmDbusWrapper.cpp
56 ENDIF(WITH_DBUS_WRAPPER)
58 IF(WITH_SOCKETHANDLER_LOOP)
59 SET (AUDIOMAN_SRCS_CXX
61 src/CAmSocketHandler.cpp
63 ENDIF(WITH_SOCKETHANDLER_LOOP)
67 ${CMAKE_CURRENT_BINARY_DIR}
68 ${AUDIO_INCLUDE_FOLDER}
73 INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
79 INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
80 ${DBUS_ARCH_INCLUDE_DIR}
83 ENDIF(WITH_DBUS_WRAPPER)
85 ADD_EXECUTABLE(AudioManager ${AUDIOMAN_SRCS_CXX})
88 TARGET_LINK_LIBRARIES(AudioManager
93 ELSE(WITH_DBUS_WRAPPER)
94 TARGET_LINK_LIBRARIES(AudioManager
98 ENDIF(WITH_DBUS_WRAPPER)
101 TARGET_LINK_LIBRARIES(AudioManager
107 add_subdirectory (test)
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
117 #ENDIF(WITH_DOCUMENTATION)
119 INSTALL(TARGETS AudioManager
122 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ
126 INSTALL(DIRECTORY "${AUDIO_INCLUDE_FOLDER}/"
131 # General packet dependency
132 SET(ADD_DEPEND_BIN_PROP "sqlite3(>=3.6.22)")
134 # Optional packet dependency
136 SET(ADD_DEPEND_BIN_PROP ${ADD_DEPEND_BIN_PROP} "dlt")
139 IF(WITH_DBUS_WRAPPER)
140 SET(ADD_DEPEND_BIN_PROP ${ADD_DEPEND_BIN_PROP} "libdbus-1-3(>=1.2.16)")
143 # Additional Dev packet dependency
144 SET(ADD_DEPEND_DEV_PROP "audiomanager-bin" ${ADD_DEPEND_BIN_PROP})
146 MESSAGE(STATUS "bin packet dependency: ${ADD_DEPEND_BIN_PROP}")
147 MESSAGE(STATUS "dev dependency: ${ADD_DEPEND_DEV_PROP}")
149 set_property(GLOBAL APPEND PROPERTY bin_prop "${ADD_DEPEND_BIN_PROP}")
150 set_property(GLOBAL APPEND PROPERTY dev_prop "${ADD_DEPEND_DEV_PROP}")