-# Copyright (c) 2012 GENIVI Alliance
# Copyright (c) 2012 BMW
#
# author Christian Mueller, christian.ei.mueller@bmw.de BMW 2011,2012
PROJECT(PluginCommandInterfaceDbus)
+OPTION (WITH_COMMAND_INTERFACE_DBUS
+ "build with commandinterface dbus plugin" ON )
+
+IF (WITH_COMMAND_INTERFACE_DBUS)
+
set(LIBRARY_OUTPUT_PATH ${PLUGINS_OUTPUT_PATH}/command)
set(DOC_OUTPUT_PATH ${DOC_OUTPUT_PATH}/CommandDBusPlugin)
-set(include_FOLDER "include")
+set(INCLUDE_FOLDER "include")
+message(STATUS "prefix ${CMAKE_INSTALL_PREFIX}")
+SET(SHARED_FOLDER "${CMAKE_INSTALL_PREFIX}/share")
FILE(READ "${AUDIO_INCLUDE_FOLDER}/command/IAmCommandSend.h" VERSION_BUFFER LIMIT 6000)
STRING(REGEX MATCH "CommandSendVersion*.[^0-9]*[0-9].[0-9]*[0-9]" LIB_INTERFACE_VERSION_STRING ${VERSION_BUFFER})
STRING(REGEX REPLACE "CommandSendVersion*.." "" LIB_INTERFACE_VERSION ${LIB_INTERFACE_VERSION_STRING})
MESSAGE(STATUS "Building against command interface version ${LIB_INTERFACE_VERSION}")
+IF(USE_BUILD_LIBS)
+ SET(COMMAND_DBUS_INTROSPECTION_FOLDER ${EXECUTABLE_OUTPUT_PATH})
+ SET(COMMAND_DBUS_INTROSPECTION_FILE ${EXECUTABLE_OUTPUT_PATH}/CommandInterface.xml)
+ELSE(USE_BUILD_LIBS)
+ SET(COMMAND_DBUS_INTROSPECTION_FOLDER ${SHARED_FOLDER}/audiomanager)
+ SET(COMMAND_DBUS_INTROSPECTION_FILE ${SHARED_FOLDER}/audiomanager/CommandInterface.xml)
+ENDIF(USE_BUILD_LIBS)
+
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake/config.cmake ${CMAKE_CURRENT_SOURCE_DIR}/include/configCommandDbus.h )
+
FIND_PACKAGE(DBUS REQUIRED)
INCLUDE_DIRECTORIES(
${DBUS_INCLUDE_DIR}
${DBUS_ARCH_INCLUDE_DIR}
${AUDIO_INCLUDE_FOLDER}
+ ${PROJECT_INCLUDE_FOLDER}
${DLT_INCLUDE_DIRS}
- ${include_FOLDER}
+ ${INCLUDE_FOLDER}
)
# all source files go here
file(GLOB PLUGINDBUS_SRCS_CXX "src/*.cpp")
-add_library(PluginCommandInterfaceDbus SHARED ${PLUGINDBUS_SRCS_CXX})
-
-SET_TARGET_PROPERTIES(PluginCommandInterfaceDbus PROPERTIES
- SOVERSION "${LIB_INTERFACE_VERSION}"
-)
+add_library(PluginCommandInterfaceDbus MODULE ${PLUGINDBUS_SRCS_CXX})
TARGET_LINK_LIBRARIES(PluginCommandInterfaceDbus
${DLT_LIBRARIES}
#ENDIF(WITH_DOCUMENTATION)
INSTALL(TARGETS PluginCommandInterfaceDbus
- DESTINATION "lib/${LIB_INSTALL_SUFFIX}/command"
+ DESTINATION "lib${LIB_SUFFIX}/${LIB_INSTALL_SUFFIX}/command"
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ
COMPONENT sampleplugins
)
-execute_process(COMMAND cp "${CMAKE_SOURCE_DIR}/PluginCommandInterfaceDbus/${include_FOLDER}/CommandInterface.xml" ${EXECUTABLE_OUTPUT_PATH}/CommandInterface.xml)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/CommandInterface.xml
+ DESTINATION "${COMMAND_DBUS_INTROSPECTION_FOLDER}"
+ COMPONENT sampleplugins
+)
+
+IF(USE_BUILD_LIBS)
+ execute_process(
+ COMMAND mkdir -p "${CMAKE_SOURCE_DIR}/bin"
+ COMMAND cp "${CMAKE_SOURCE_DIR}/PluginCommandInterfaceDbus/${INCLUDE_FOLDER}/CommandInterface.xml" ${EXECUTABLE_OUTPUT_PATH}/CommandInterface.xml)
+ENDIF(USE_BUILD_LIBS)
SET(ADD_DEPEND "audiomanager-bin" "dlt" "libdbus-1-3(>=1.2.16)")
set_property(GLOBAL APPEND PROPERTY sampleplugins_prop "${ADD_DEPEND}")
+
+ENDIF (WITH_COMMAND_INTERFACE_DBUS)