summaryrefslogtreecommitdiff
path: root/AudioManagerDaemon/CMakeLists.txt
diff options
context:
space:
mode:
authorChristian Linke <christian.linke@bmw.de>2015-03-12 13:43:48 +0100
committerChristian Linke <christian.linke@bmw.de>2015-03-12 13:43:48 +0100
commit6ffbf25bacf589879198e49ac227cb56e261b7c9 (patch)
treee6b3ca48d22d06d43da638b1998ab1220ec7ab08 /AudioManagerDaemon/CMakeLists.txt
parentc628fa5304171cd827f56aa475668d99d26ad28a (diff)
downloadaudiomanager-6ffbf25bacf589879198e49ac227cb56e261b7c9.tar.gz
* fully rework. Plugins have now a new own git repository
* building out of source of plugins without AM workss * build system cmake contructions is different now Signed-off-by: Christian Linke <christian.linke@bmw.de>
Diffstat (limited to 'AudioManagerDaemon/CMakeLists.txt')
-rw-r--r--AudioManagerDaemon/CMakeLists.txt351
1 files changed, 130 insertions, 221 deletions
diff --git a/AudioManagerDaemon/CMakeLists.txt b/AudioManagerDaemon/CMakeLists.txt
index e9c5696..d9718e5 100644
--- a/AudioManagerDaemon/CMakeLists.txt
+++ b/AudioManagerDaemon/CMakeLists.txt
@@ -7,48 +7,57 @@
#
# copyright
# This Source Code Form is subject to the terms of the
-# Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+# Mozilla Public License, v. 2.0. if a copy of the MPL was not distributed with
# this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
-# author Christian Mueller, christian.ei.mueller@bmw.de BMW 2011,2012
+# author Christian Linke, christian.linke@bmw.de BMW 2011,2012
#
# For further information see http://www.genivi.org/.
#
-cmake_minimum_required(VERSION 2.6)
+cmake_minimum_required(VERSION 2.8.8)
-PROJECT(AudioManagerDeamon)
-
-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -rdynamic")
-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
+project (AudioManagerDeamon)
set(DOC_OUTPUT_PATH ${DOC_OUTPUT_PATH}/AudioManager)
+
+set(AM_MAP_CAPACITY 10
+ CACHE INTEGER "Number of preallocations for datastorage")
+
+set(AM_MAX_CONNECTIONS 0x1000
+ CACHE INTEGER "Number of max connections before rollover")
+
+set(AM_MAX_CONNECTIONS SHRT_MAX
+ CACHE INTEGER "Number of max Mainconnections before rollover")
+
set(INCLUDE_FOLDER "include")
-IF (WITH_DATABASE_STORAGE)
+if (WITH_DATABASE_STORAGE)
pkg_check_modules(SQLITE REQUIRED sqlite3)
-ENDIF (WITH_DATABASE_STORAGE)
+endif (WITH_DATABASE_STORAGE)
-IF (WITH_SYSTEMD_WATCHDOG)
+if (WITH_SYSTEMD_WATCHDOG)
pkg_check_modules(SYSTEMD libsystemd-daemon>=44)
- IF (SYSTEMD_FOUND)
+ if (SYSTEMD_FOUND)
message(STATUS "Found libsystemd-daemon, version: ${SYSTEMD_VERSION}")
- ELSE (SYSTEMD_FOUND)
+ else (SYSTEMD_FOUND)
message(STATUS "Did not find libsystemd-daemon, using own lib")
- ENDIF(SYSTEMD_FOUND)
-ENDIF (WITH_SYSTEMD_WATCHDOG)
+ endif(SYSTEMD_FOUND)
+endif (WITH_SYSTEMD_WATCHDOG)
-IF(WITH_DBUS_WRAPPER)
- FIND_PACKAGE(DBUS REQUIRED)
-ENDIF(WITH_DBUS_WRAPPER)
+if(WITH_DBUS_WRAPPER)
+ find_package(DBUS REQUIRED)
+endif(WITH_DBUS_WRAPPER)
-FIND_PACKAGE(NSM REQUIRED)
+if(WITH_CAPI_WRAPPER)
+ find_package(CommonAPI REQUIRED)
+endif(WITH_CAPI_WRAPPER)
-IF(WITH_CAPI_WRAPPER)
- FIND_PACKAGE(CommonAPI REQUIRED)
-ENDIF(WITH_CAPI_WRAPPER)
+set (AM_LINK_LIBS
+ ${CMAKE_DL_LIBS}
+ rt)
-SET(AUDIOMAN_SRCS_CXX
+set(AUDIOMAN_SRCS_CXX
src/main.cpp
src/CAmCommandReceiver.cpp
src/CAmCommandSender.cpp
@@ -58,242 +67,142 @@ SET(AUDIOMAN_SRCS_CXX
src/CAmRoutingReceiver.cpp
src/CAmRoutingSender.cpp
src/CAmRouter.cpp
- src/CAmSocketHandler.cpp
- src/CAmDltWrapper.cpp
src/CAmLog.cpp
-)
-
-
-# Preallocation variable for the map.
-IF(NOT WITH_DATABASE_STORAGE )
-
- IF(NOT DEFINED AM_MAP_CAPACITY)
- set (AM_MAP_CAPACITY 10)
- ENDIF(NOT DEFINED AM_MAP_CAPACITY)
- add_definitions( -DAM_MAP_CAPACITY=${AM_MAP_CAPACITY} )
+ "${AUDIOMANAGER_UTILITIES_SRC}/CAmSocketHandler.cpp"
+ "${AUDIOMANAGER_UTILITIES_SRC}/CAmDltWrapper.cpp")
- IF(NOT DEFINED AM_MAX_CONNECTIONS)
- set (AM_MAX_CONNECTIONS 0x1000)
- ENDIF(NOT DEFINED AM_MAX_CONNECTIONS)
- add_definitions( -DAM_MAX_CONNECTIONS=${AM_MAX_CONNECTIONS} )
-
- IF(NOT DEFINED AM_MAX_MAIN_CONNECTIONS)
- set (AM_MAX_MAIN_CONNECTIONS SHRT_MAX)
- ENDIF(NOT DEFINED AM_MAX_MAIN_CONNECTIONS)
- add_definitions( -DAM_MAX_MAIN_CONNECTIONS=${AM_MAX_MAIN_CONNECTIONS} )
-
-ENDIF(NOT WITH_DATABASE_STORAGE)
-
-IF(WITH_TELNET)
- SET (AUDIOMAN_SRCS_CXX
+if(WITH_TELNET)
+ set (AUDIOMAN_SRCS_CXX
${AUDIOMAN_SRCS_CXX}
src/CAmTelnetServer.cpp
- src/CAmTelnetMenuHelper.cpp
- )
-ENDIF(WITH_TELNET)
+ src/CAmTelnetMenuHelper.cpp)
+endif(WITH_TELNET)
-IF(WITH_SYSTEMD_WATCHDOG)
- SET (AUDIOMAN_SRCS_CXX
+if(WITH_SYSTEMD_WATCHDOG)
+ set (AUDIOMAN_SRCS_CXX
${AUDIOMAN_SRCS_CXX}
- src/CAmWatchdog.cpp
- )
-ENDIF(WITH_SYSTEMD_WATCHDOG)
-
-IF (NOT SYSTEMD_FOUND)
- SET (AUDIOMAN_SRCS_CXX
+ src/CAmWatchdog.cpp)
+ set (AM_LINK_LIBS
+ ${AM_LINK_LIBS}
+ ${SYSTEMD_LIBRARIES)
+endif(WITH_SYSTEMD_WATCHDOG)
+
+if (NOT SYSTEMD_FOUND)
+ set (AUDIOMAN_SRCS_CXX
${AUDIOMAN_SRCS_CXX}
- src/sd-daemon.c
- )
-ENDIF (NOT SYSTEMD_FOUND)
+ src/sd-daemon.c)
+endif (NOT SYSTEMD_FOUND)
-IF(WITH_DBUS_WRAPPER)
- SET (AUDIOMAN_SRCS_CXX
+if(WITH_DBUS_WRAPPER)
+ set (AUDIOMAN_SRCS_CXX
${AUDIOMAN_SRCS_CXX}
- src/CAmDbusWrapper.cpp
- )
-ENDIF(WITH_DBUS_WRAPPER)
-
-IF(WITH_CAPI_WRAPPER)
- SET (AUDIOMAN_SRCS_CXX
+ "${AUDIOMANAGER_UTILITIES_SRC}/CAmDbusWrapper.cpp")
+ set (AM_LINK_LIBS
+ ${AM_LINK_LIBS}
+ ${DBUS_LIBRARY})
+endif(WITH_DBUS_WRAPPER)
+
+if(WITH_CAPI_WRAPPER)
+ set (AUDIOMAN_SRCS_CXX
${AUDIOMAN_SRCS_CXX}
- src/CAmCommonAPIWrapper.cpp
- )
-ENDIF(WITH_CAPI_WRAPPER)
+ "${AUDIOMANAGER_UTILITIES_SRC}/CAmCommonAPIWrapper.cpp")
+ set (AM_LINK_LIBS
+ ${AM_LINK_LIBS}
+ ${DBUS_LIBRARY}
+ ${COMMON_API_LIBRARIES}
+ ${COMMON_API_DBUS_LIBRARIES})
+endif(WITH_CAPI_WRAPPER)
-IF(WITH_NSM)
- IF(WITH_DBUS_WRAPPER)
- SET (AUDIOMAN_SRCS_CXX
+if(WITH_NSM)
+ if(WITH_DBUS_WRAPPER)
+ set (AUDIOMAN_SRCS_CXX
${AUDIOMAN_SRCS_CXX}
- src/CAmNodeStateCommunicatorDBus.cpp
- )
- ELSE(WITH_DBUS_WRAPPER)
- SET (AUDIOMAN_SRCS_CXX
+ src/CAmNodeStateCommunicatorDBus.cpp)
+ else(WITH_DBUS_WRAPPER)
+ set (AUDIOMAN_SRCS_CXX
${AUDIOMAN_SRCS_CXX}
- src/CAmNodeStateCommunicatorCAPI.cpp
- )
- ENDIF(WITH_DBUS_WRAPPER)
-ENDIF(WITH_NSM)
+ src/CAmNodeStateCommunicatorCAPI.cpp)
+ endif(WITH_DBUS_WRAPPER)
+endif(WITH_NSM)
-IF(WITH_DATABASE_STORAGE)
- SET (AUDIOMAN_SRCS_CXX
+if(WITH_DATABASE_STORAGE)
+ set (AUDIOMAN_SRCS_CXX
${AUDIOMAN_SRCS_CXX}
- src/CAmDatabaseHandlerSQLite.cpp
- )
-ELSE(WITH_DATABASE_STORAGE)
- SET (AUDIOMAN_SRCS_CXX
+ src/CAmDatabaseHandlerSQLite.cpp)
+ set (AM_LINK_LIBS
+ ${AM_LINK_LIBS}
+ ${SQLITE_LIBRARIES})
+else(WITH_DATABASE_STORAGE)
+ set (AUDIOMAN_SRCS_CXX
${AUDIOMAN_SRCS_CXX}
- src/CAmDatabaseHandlerMap.cpp
- )
-ENDIF(WITH_DATABASE_STORAGE)
+ src/CAmDatabaseHandlerMap.cpp)
+endif(WITH_DATABASE_STORAGE)
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${AUDIO_INCLUDE_FOLDER}
- ${PROJECT_INCLUDE_FOLDER}
+ ${AUDIOMANAGER_INCLUDE_FOLDER}
+ ${AUDIOMANAGER_UTILITIES_INCLUDE}
${INCLUDE_FOLDER}
${NSM_INCLUDE_DIR}
)
-IF(WITH_CAPI_WRAPPER)
-
-IF(WITH_NSM)
-# Find the common-api sources.
-# The sources can be placed in the build directory (DESTINATION) or in the source tree (ALT_DESTINATION).
-# The ALT_DESTINATION is used as fall back if the DESTINATION directory dosen't contain the sources or you just don't want to use the generator.
-INCLUDE(CommonAPIGenerator)
-COMMON_API_GENERATE_SOUCRES(TARGET COMMON_API
- FIDLS fidls/NodeStateManager.fdepl # a list with fidls
+if(WITH_CAPI_WRAPPER)
+
+ if(WITH_NSM)
+ include (CommonAPIGenerator)
+ COMMON_API_GENERATE_SOUCRES(TARGET COMMON_API
+ FIDLS fidls/NodeStateManager.fidl # a list with fidls
DESTINATION src-gen # a relative path to the build directory or an absolute path
ALT_DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/src-gen # an alternative relative/absolute path with common-api sources, usually in the source tree
DBUS)
-ENDIF(WITH_NSM)
-
-INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
- ${COMMON_API_INCLUDE_DIRS}
- ${COMMON_API_DBUS_INCLUDE_DIRS}
- ${COMMON_API_GEN_INCLUDE_DIR}
-)
-ENDIF(WITH_CAPI_WRAPPER)
-
-IF(WITH_DLT)
-INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
- ${DLT_INCLUDE_DIRS}
-)
-ENDIF(WITH_DLT)
-
-IF(WITH_DBUS_WRAPPER)
-INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
+ set(AUDIOMAN_SRCS_CXX
+ ${AUDIOMAN_SRCS_CXX}
+ ${COMMON_API_GEN_SOURCES})
+ endif(WITH_NSM)
+
+ INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
+ ${COMMON_API_INCLUDE_DIRS}
+ ${COMMON_API_DBUS_INCLUDE_DIRS}
+ ${COMMON_API_GEN_INCLUDE_DIR})
+
+endif(WITH_CAPI_WRAPPER)
+
+if(WITH_DLT)
+ INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
+ ${DLT_INCLUDE_DIRS})
+ set (AM_LINK_LIBS
+ ${AM_LINK_LIBS}
+ ${DLT_LIBRARIES})
+endif(WITH_DLT)
+
+if(WITH_DBUS_WRAPPER)
+ INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
${DBUS_ARCH_INCLUDE_DIR}
- ${DBUS_INCLUDE_DIR}
-)
-ENDIF(WITH_DBUS_WRAPPER)
-
-file(GLOB ${AUDIOMAN_SRCS_CXX} ${COMMON_API_GEN_SOURCES})
-
-ADD_EXECUTABLE(AudioManager ${AUDIOMAN_SRCS_CXX} ${COMMON_API_GEN_SOURCES})
-
-TARGET_LINK_LIBRARIES(AudioManager
- ${SQLITE_LIBRARIES}
- ${CMAKE_DL_LIBS}
- )
-
- IF(WITH_DBUS_WRAPPER)
- TARGET_LINK_LIBRARIES(AudioManager
- ${DBUS_LIBRARY}
- rt
- )
-ELSEIF(WITH_CAPI_WRAPPER)
- TARGET_LINK_LIBRARIES(AudioManager
- ${COMMON_API_LIBRARIES}
- ${COMMON_API_DBUS_LIBRARIES}
- rt
- )
-ENDIF()
-
-IF(WITH_DLT)
- TARGET_LINK_LIBRARIES(AudioManager
- ${DLT_LIBRARIES}
- )
-ENDIF(WITH_DLT)
-
-IF (SYSTEMD_FOUND)
- TARGET_LINK_LIBRARIES(AudioManager
- ${SYSTEMD_LIBRARIES}
- )
-ENDIF (SYSTEMD_FOUND)
-
-IF(WITH_CAPI_WRAPPER)
- IF(WITH_NSM)
- INSERT_DBUS_CONF_IF_NEEDED("@NSM_DBUS_CONF@"
- "${CMAKE_SOURCE_DIR}/AudioManagerDaemon/fidls/NodeStateManager_dbus.conf"
- NSM_DBUS_CONF)
- ENDIF(WITH_NSM)
-# Generates the dbus configuration file. Every component is responsible to append it dbus configuration part.
-CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/AudioManagerDaemon/fidls/AudioManager_dbus.conf.in ${CMAKE_SOURCE_DIR}/AudioManagerDaemon/fidls/AudioManager_dbus.conf)
-CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/AudioManagerDaemon/fidls/AudioManager_dbus.conf.in ${CMAKE_BINARY_DIR}/AudioManager_dbus.conf)
-
-ENDIF(WITH_CAPI_WRAPPER)
+ ${DBUS_INCLUDE_DIR})
+endif(WITH_DBUS_WRAPPER)
+
+ADD_EXECUTABLE(AudioManager ${AUDIOMAN_SRCS_CXX})
+TARGET_LINK_LIBRARIES(AudioManager ${AM_LINK_LIBS})
INSTALL(TARGETS AudioManager
- RUNTIME
- DESTINATION bin
+ RUNTIME DESTINATION bin
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ
- COMPONENT bin
-)
+ COMPONENT bin)
INSTALL(DIRECTORY "${AUDIO_INCLUDE_FOLDER}/"
- DESTINATION include
- COMPONENT dev
-)
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/${LIB_INSTALL_SUFFIX}
+ COMPONENT dev)
-IF(WITH_NSM)
- IF(USE_BUILD_LIBS)
- SET(NSM_INTROSPECTION_FILE ${EXECUTABLE_OUTPUT_PATH}/LifeCycleConsumer.xml)
- execute_process(
- COMMAND mkdir -p "${CMAKE_SOURCE_DIR}/bin"
- COMMAND cp "${CMAKE_SOURCE_DIR}/cmake/LifecycleConsumer.xml" ${NSM_INTROSPECTION_FILE}
- COMMAND cp "${CMAKE_BINARY_DIR}/AudioManager_dbus.conf" ${EXECUTABLE_OUTPUT_PATH})
- ELSE(USE_BUILD_LIBS)
- SET(NSM_INTROSPECTION_FILE ${AM_SHARE_FOLDER}/LifecycleConsumer.xml)
- INSTALL(
- FILES ${CMAKE_SOURCE_DIR}/cmake/LifecycleConsumer.xml #${CMAKE_BINARY_DIR}/AudioManager_dbus.conf
- DESTINATION "${NSM_INTROSPECTION_FILE}"
- COMPONENT bin)
- ENDIF(USE_BUILD_LIBS)
-ENDIF(WITH_NSM)
-
-CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/cmake/config.cmake ${CMAKE_SOURCE_DIR}/include/config.h )
-
-IF(WITH_TESTS)
- add_subdirectory (test)
-ENDIF(WITH_TESTS)
-
-# General packet dependency
-IF(WITH_DATABASE_STORAGE)
- SET(ADD_DEPEND_BIN_PROP "sqlite3(>=3.6.22)")
-ENDIF(WITH_DATABASE_STORAGE)
-
-# Optional packet dependency
-IF(WITH_DLT)
- SET(ADD_DEPEND_BIN_PROP ${ADD_DEPEND_BIN_PROP} "dlt")
-ENDIF(WITH_DLT)
-
-IF(WITH_DBUS_WRAPPER)
- SET(ADD_DEPEND_BIN_PROP ${ADD_DEPEND_BIN_PROP} "libdbus-1-3(>=1.2.16)")
-ENDIF(WITH_DBUS_WRAPPER)
+INSTALL(DIRECTORY "${AUDIOMANAGER_UTILITIES_INCLUDE}/"
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/${LIB_INSTALL_SUFFIX}
+ COMPONENT dev)
-# Additional Dev packet dependency
-SET(ADD_DEPEND_DEV_PROP "audiomanager-bin" ${ADD_DEPEND_BIN_PROP})
-
-set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -fno-common -fno-strict-aliasing -DNDEBUG")
-
-MESSAGE(STATUS "bin packet dependency: ${ADD_DEPEND_BIN_PROP}")
-MESSAGE(STATUS "dev dependency: ${ADD_DEPEND_DEV_PROP}")
-
-set_property(GLOBAL APPEND PROPERTY bin_prop "${ADD_DEPEND_BIN_PROP}")
-set_property(GLOBAL APPEND PROPERTY dev_prop "${ADD_DEPEND_DEV_PROP}")
+if(WITH_TESTS)
+ add_subdirectory (test)
+endif(WITH_TESTS)