X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=CMakeLists.txt;h=3e70e4f990531ec5f7a3db8b9858da2f06560c09;hb=0717ec147195b11fdf23f8326211b97b6ac9b283;hp=ec2782dcbad4302ed2162b7f8d96b0deea810364;hpb=721aed89269292b07bdd21361828612c34640bde;p=profile%2Fivi%2Fgenivi%2Fgenivi-audio-manager.git diff --git a/CMakeLists.txt b/CMakeLists.txt index ec2782d..3e70e4f 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,7 @@ cmake_minimum_required(VERSION 2.6) +include(CMakeDependentOption) execute_process(COMMAND git describe --tags WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} OUTPUT_VARIABLE DAEMONVERSION @@ -38,14 +39,17 @@ message(STATUS "Build Version ${DAEMONVERSION}") execute_process(COMMAND git log --pretty=short WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} OUTPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/CHANGELOG) - + PROJECT(AudioManagerDeamon) +message( STATUS "CMAKE_TOOLCHAIN_FILE='${CMAKE_TOOLCHAIN_FILE}'" ) + FIND_PACKAGE(PkgConfig) -OPTION( WITH_DBUS_WRAPPER - "Enable Dbus Wrapper Support" ON ) - +SET(WITH_ENABLED_IPC "CAPI" CACHE STRING "Disable 'NONE' / Enable Common-API 'CAPI' or Dbus 'DBUS' Support") + +SET_PROPERTY(CACHE WITH_ENABLED_IPC PROPERTY STRINGS "NONE" "CAPI" "DBUS") + OPTION( WITH_DLT "Enable automotive-DLT Support" ON ) @@ -76,15 +80,56 @@ OPTION ( USE_BUILD_LIBS OPTION ( GLIB_DBUS_TYPES_TOLERANT "build dbus with tolerance towards glib 16bit/32bit handling" ON) +IF (WITH_ENABLED_IPC STREQUAL "NONE") + SET (ENABLE_NSM OFF) +ELSE () + SET (ENABLE_NSM ON) +ENDIF () + +CMAKE_DEPENDENT_OPTION(WITH_NSM "build with NSM support" ON + "ENABLE_NSM" OFF) + OPTION ( WITH_NSM "build with NSM support" ON) - + OPTION ( WITH_DATABASE_STORAGE "build with sqlite as in memory storage" OFF) + +SET (WITH_COMMON_API_GEN ON CACHE INTERNAL "hide this!" FORCE) + +IF (WITH_ENABLED_IPC STREQUAL "DBUS") + SET (WITH_DBUS_WRAPPER ON CACHE INTERNAL "hide this!" FORCE) + SET (WITH_CAPI_WRAPPER OFF CACHE INTERNAL "hide this!" FORCE) +ELSEIF(WITH_ENABLED_IPC STREQUAL "CAPI") + SET (WITH_CAPI_WRAPPER ON CACHE INTERNAL "hide this!" FORCE) + SET (WITH_DBUS_WRAPPER OFF CACHE INTERNAL "hide this!" FORCE) + + MACRO(INSERT_DBUS_CONF_IF_NEEDED IN_PLACEHOLDER IN_SRC_DBUS_CONF OUT_DST_DBUS_CONF) + # Checks the variable in the template + if(NOT EXISTS ${CMAKE_SOURCE_DIR}/AudioManagerDaemon/fidls/AudioManager_dbus.conf.in ) + FILE(WRITE ${CMAKE_SOURCE_DIR}/AudioManagerDaemon/fidls/AudioManager_dbus.conf.in + "################################################ CMAKE GENERATED #################################################") + endif( ) + + FILE(READ ${CMAKE_SOURCE_DIR}/AudioManagerDaemon/fidls/AudioManager_dbus.conf.in DBUS_CONF_IN) + if( NOT DBUS_CONF_IN MATCHES ${IN_PLACEHOLDER} ) + if( NOT DBUS_CONF_IN STREQUAL "" ) + FILE(APPEND ${CMAKE_SOURCE_DIR}/AudioManagerDaemon/fidls/AudioManager_dbus.conf.in "\r\n\r\n") + endif( ) + FILE(APPEND ${CMAKE_SOURCE_DIR}/AudioManagerDaemon/fidls/AudioManager_dbus.conf.in ${IN_PLACEHOLDER}) + endif( ) + # Reads out the common-api dbus configuration for the node state manager. + FILE(READ ${IN_SRC_DBUS_CONF} ${OUT_DST_DBUS_CONF}) + ENDMACRO(INSERT_DBUS_CONF_IF_NEEDED) -IF (NOT WITH_DBUS_WRAPPER) + ELSEIF(WITH_ENABLED_IPC STREQUAL "NONE") + SET (WITH_CAPI_WRAPPER OFF CACHE INTERNAL "hide this!" FORCE) + SET (WITH_DBUS_WRAPPER OFF CACHE INTERNAL "hide this!" FORCE) +ENDIF () + +IF (NOT WITH_DBUS_WRAPPER AND NOT WITH_CAPI_WRAPPER) SET (WITH_NSM OFF) -ENDIF (NOT WITH_DBUS_WRAPPER) +ENDIF (NOT WITH_DBUS_WRAPPER AND NOT WITH_CAPI_WRAPPER) #Can be changed via passing -DDBUS_SERVICE_PREFIX="XXX" to cmake IF(NOT DEFINED DBUS_SERVICE_PREFIX) @@ -173,6 +218,7 @@ ENDIF(WITH_TESTS) IF(WITH_DOCUMENTATION) find_package(Doxygen) configure_file(${DOXY_FILE} ${DOC_OUTPUT_PATH}/Doxyfile @ONLY IMMEDIATE) + configure_file("README.html" ${DOC_OUTPUT_PATH}/html/README.html) add_custom_target (AudioManangerDoku ALL COMMAND ${DOXYGEN_EXECUTABLE} ${DOC_OUTPUT_PATH}/Doxyfile WORKING_DIRECTORY ${DOC_OUTPUT_PATH} SOURCES ${CMAKE_SOURCE_DIR} ${DOC_OUTPUT_PATH}/Doxyfile @@ -183,13 +229,22 @@ ENDIF(WITH_DOCUMENTATION) set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -Wextra -std=gnu++0x -D_GNU_SOURCE -pedantic -Wno-variadic-macros -Wno-long-long") #set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -Wextra -std=c++98 -D_GNU_SOURCE") + if(WITH_PLUGIN_COMMAND) - add_subdirectory (PluginCommandInterfaceDbus) + if(WITH_DBUS_WRAPPER) + add_subdirectory (PluginCommandInterfaceDbus) + elseif(WITH_CAPI_WRAPPER) + add_subdirectory (PluginCommandInterfaceCAPI) + endif() endif(WITH_PLUGIN_COMMAND) if(WITH_PLUGIN_ROUTING) - add_subdirectory (PluginRoutingInterfaceDbus) add_subdirectory (PluginRoutingInterfaceAsync) + if(WITH_DBUS_WRAPPER) + add_subdirectory (PluginRoutingInterfaceDbus) + elseif(WITH_CAPI_WRAPPER) + add_subdirectory (PluginRoutingInterfaceCAPI) + endif() endif(WITH_PLUGIN_ROUTING) if(WITH_PLUGIN_CONTROL) @@ -198,6 +253,7 @@ endif(WITH_PLUGIN_CONTROL) add_subdirectory (AudioManagerDaemon) + IF(EXISTS "${CMAKE_SOURCE_DIR}/ProjectSpecific/") add_subdirectory (ProjectSpecific) endif(EXISTS "${CMAKE_SOURCE_DIR}/ProjectSpecific/")