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}
69 ${PROJECT_INCLUDE_FOLDER}
74 INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
80 INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
81 ${DBUS_ARCH_INCLUDE_DIR}
84 ENDIF(WITH_DBUS_WRAPPER)
86 ADD_EXECUTABLE(AudioManager ${AUDIOMAN_SRCS_CXX})
89 TARGET_LINK_LIBRARIES(AudioManager
94 ELSE(WITH_DBUS_WRAPPER)
95 TARGET_LINK_LIBRARIES(AudioManager
99 ENDIF(WITH_DBUS_WRAPPER)
102 TARGET_LINK_LIBRARIES(AudioManager
108 add_subdirectory (test)
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
118 #ENDIF(WITH_DOCUMENTATION)
120 INSTALL(TARGETS AudioManager
123 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ
127 INSTALL(DIRECTORY "${AUDIO_INCLUDE_FOLDER}/"
132 # General packet dependency
133 SET(ADD_DEPEND_BIN_PROP "sqlite3(>=3.6.22)")
135 # Optional packet dependency
137 SET(ADD_DEPEND_BIN_PROP ${ADD_DEPEND_BIN_PROP} "dlt")
140 IF(WITH_DBUS_WRAPPER)
141 SET(ADD_DEPEND_BIN_PROP ${ADD_DEPEND_BIN_PROP} "libdbus-1-3(>=1.2.16)")
144 # Additional Dev packet dependency
145 SET(ADD_DEPEND_DEV_PROP "audiomanager-bin" ${ADD_DEPEND_BIN_PROP})
147 MESSAGE(STATUS "bin packet dependency: ${ADD_DEPEND_BIN_PROP}")
148 MESSAGE(STATUS "dev dependency: ${ADD_DEPEND_DEV_PROP}")
150 set_property(GLOBAL APPEND PROPERTY bin_prop "${ADD_DEPEND_BIN_PROP}")
151 set_property(GLOBAL APPEND PROPERTY dev_prop "${ADD_DEPEND_DEV_PROP}")