* formatting all the source code with eclipse source code style
[profile/ivi/genivi/genivi-audio-manager.git] / PluginCommandInterfaceDbus / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.6)
2
3 PROJECT(PluginCommandInterfaceDbus)
4
5 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -DDLT_CONTEXT=CommandPluginDbus")
6
7 set(LIBRARY_OUTPUT_PATH ${PLUGINS_OUTPUT_PATH}/command)
8 set(DOC_OUTPUT_PATH ${DOC_OUTPUT_PATH}/CommandDBusPlugin)
9 set(INCLUDES_FOLDER "include")
10
11 FILE(READ "${AUDIO_INCLUDES_FOLDER}/command/CommandSendInterface.h" VERSION_BUFFER LIMIT 6000)
12 STRING(REGEX MATCH "CommandSendVersion*.[^0-9]*[0-9]" LIB_INTERFACE_VERSION_STRING ${VERSION_BUFFER})
13 STRING(REGEX REPLACE "[^0-9]" "" LIB_INTERFACE_VERSION ${LIB_INTERFACE_VERSION_STRING})
14 MESSAGE(STATUS "Building against command interface version ${LIB_INTERFACE_VERSION}")
15
16 FIND_PACKAGE(DBUS REQUIRED)
17
18 INCLUDE_DIRECTORIES(
19         ${CMAKE_SOURCE_DIR} 
20         ${CMAKE_CURRENT_BINARY_DIR}
21         ${DBUS_INCLUDE_DIR}
22         ${DBUS_ARCH_INCLUDE_DIR}
23         ${AUDIO_INCLUDES_FOLDER}
24         ${DLT_INCLUDE_DIRS}
25         ${INCLUDES_FOLDER}
26 )
27
28 # all source files go here
29 file(GLOB PLUGINDBUS_SRCS_CXX "src/*.cpp")
30
31 add_library(PluginCommandInterfaceDbus SHARED ${PLUGINDBUS_SRCS_CXX})
32
33 SET_TARGET_PROPERTIES(PluginCommandInterfaceDbus PROPERTIES 
34                                             SOVERSION "${LIB_INTERFACE_VERSION}"
35 )
36
37
38 TARGET_LINK_LIBRARIES(PluginCommandInterfaceDbus 
39     ${DLT_LIBRARIES}
40     ${DBUS_LIBRARY}
41 )
42
43 IF(WITH_TESTS)
44         add_subdirectory (test)
45 ENDIF(WITH_TESTS)
46
47 IF(WITH_DOCUMENTATION)
48         file(MAKE_DIRECTORY ${DOC_OUTPUT_PATH})
49         configure_file(${DOXY_FILE}  ${DOC_OUTPUT_PATH}/Doxyfile  @ONLY IMMEDIATE)
50         add_custom_target (PluginInterfaceDBusDocs ALL 
51                 COMMAND ${DOXYGEN_EXECUTABLE} ${DOC_OUTPUT_PATH}/Doxyfile WORKING_DIRECTORY ${DOC_OUTPUT_PATH}
52                 SOURCES ${PROJECT_BINARY_DIR} ${DOC_OUTPUT_PATH}/Doxyfile
53         )
54 ENDIF(WITH_DOCUMENTATION)
55
56 INSTALL(TARGETS PluginCommandInterfaceDbus 
57         DESTINATION "lib/${LIB_INSTALL_SUFFIX}/command"
58         PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ
59         COMPONENT sampleplugins
60 )
61
62 SET(ADD_DEPEND "audiomanager-bin" "dlt" "libdbus-1-3(>=1.2.16)")
63 set_property(GLOBAL APPEND PROPERTY sampleplugins_prop "${ADD_DEPEND}")