summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksandar Donchev <Aleksander.Donchev@partner.bmw.de>2015-06-26 15:17:40 +0200
committerChristian Linke <christian.linke@bmw.de>2015-07-01 09:02:03 +0100
commit5d4c1882bbb615720f395c4ff7d0a7223cbf3efb (patch)
treef35f60c1d2cafe663464e31752ed7c8623d985f9
parenta3c39077c32ab467b8415d6923f8a82e49482ea8 (diff)
downloadaudiomanager-5d4c1882bbb615720f395c4ff7d0a7223cbf3efb.tar.gz
* Common-API 3.1.2 support with dbus/someip binding.
Signed-off-by: Christian Linke <christian.linke@bmw.de>
-rw-r--r--AudioManagerDaemon/CMakeLists.txt72
-rw-r--r--AudioManagerDaemon/fidls/NodeStateManager.fdepl6
-rw-r--r--AudioManagerUtilities/src/CAmCommonAPIWrapper.cpp17
-rwxr-xr-xCMakeLists.txt17
-rwxr-xr-xcmake/CommonAPI.cmake105
-rw-r--r--cmake/TargetArch.cmake134
-rw-r--r--cmake/audiomanagerConfig.cmake.in3
-rw-r--r--cmake/config.cmake.in3
8 files changed, 137 insertions, 220 deletions
diff --git a/AudioManagerDaemon/CMakeLists.txt b/AudioManagerDaemon/CMakeLists.txt
index b52e625..659d627 100644
--- a/AudioManagerDaemon/CMakeLists.txt
+++ b/AudioManagerDaemon/CMakeLists.txt
@@ -51,7 +51,7 @@ endif(WITH_DBUS_WRAPPER)
if(WITH_CAPI_WRAPPER)
INCLUDE (CommonAPI)
- LOAD_COMMONAPI(DBUS)
+ LOAD_COMMONAPI()
endif(WITH_CAPI_WRAPPER)
set (AM_LINK_LIBS
@@ -99,23 +99,23 @@ if(WITH_DBUS_WRAPPER)
set (AUDIOMAN_SRCS_CXX
${AUDIOMAN_SRCS_CXX}
"${AUDIOMANAGER_UTILITIES_SRC}/CAmDbusWrapper.cpp")
- set (AM_LINK_LIBS
- ${AM_LINK_LIBS}
- ${DBUS_LIBRARY})
+ set (AM_LINK_LIBS ${AM_LINK_LIBS} ${DBUS_LIBRARY})
endif(WITH_DBUS_WRAPPER)
-set (AM_LINK_LIBS
- ${AM_LINK_LIBS}
- ${DBUS_LIBRARY})
-
if(WITH_CAPI_WRAPPER)
- set (AUDIOMAN_SRCS_CXX
- ${AUDIOMAN_SRCS_CXX}
- "${AUDIOMANAGER_UTILITIES_SRC}/CAmCommonAPIWrapper.cpp")
- set (AM_LINK_LIBS
- ${AM_LINK_LIBS}
- ${CommonAPI-DBus_LIBRARY}
- ${CommonAPI_LIBRARY})
+ set (AUDIOMAN_SRCS_CXX ${AUDIOMAN_SRCS_CXX} "${AUDIOMANAGER_UTILITIES_SRC}/CAmCommonAPIWrapper.cpp")
+ set (AM_LINK_LIBS ${AM_LINK_LIBS} ${CommonAPI_LIBRARY})
+ if(${COMMONAPI_USED_BINDING} EQUAL 0)
+ set (AM_LINK_LIBS ${AM_LINK_LIBS}
+ ${CommonAPI-DBus_LIBRARY}
+ ${DBUS_LIBRARY}
+ ${CommonAPI_LIBRARY})
+ else()
+ set (AM_LINK_LIBS ${AM_LINK_LIBS}
+ ${CommonAPI-SomeIP_LIBRARY}
+ ${CommonAPI_LIBRARY})
+ endif()
+
endif(WITH_CAPI_WRAPPER)
if(WITH_NSM)
@@ -156,21 +156,37 @@ INCLUDE_DIRECTORIES(
if(WITH_CAPI_WRAPPER)
if(WITH_NSM)
- COMMON_API_GENERATE_SOUCRES(TARGET COMMON_API
- FIDLS fidls/NodeStateManager.fdepl # 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
+ COMMON_API_GENERATE_SOUCRES(
+ TARGET COMMON_API
+ # A list with fidls for the generic generator.
+ FIDLS_GENERIC fidls/NodeStateManager.fdepl
+ # A list with fidls for the binding generator.
+ FIDLS_BINDING fidls/NodeStateManager.fdepl
+ # A relative path to the build directory or an absolute path.
+ DESTINATION src-gen
+ # An alternative relative/absolute path with common-api sources, usually in the source tree.
+ ALT_DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/src-gen
)
set(AUDIOMAN_SRCS_CXX
${AUDIOMAN_SRCS_CXX}
${COMMON_API_GEN_SOURCES})
endif(WITH_NSM)
-
- INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
- ${COMMONAPI_DBUS_INCLUDE_DIRS}
- ${COMMONAPI_INCLUDE_DIRS}
- ${COMMON_API_GEN_INCLUDE_DIR})
+
+ if(${COMMONAPI_USED_BINDING} EQUAL 0)
+ INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
+ ${COMMONAPI_DBUS_INCLUDE_DIRS}
+ ${COMMONAPI_INCLUDE_DIRS}
+ ${COMMON_API_GEN_INCLUDE_DIR}
+ ${DBUS_ARCH_INCLUDE_DIR}
+ ${DBUS_INCLUDE_DIR})
+ else()
+ INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
+ ${VSOMEIP_INCLUDE_DIRS}
+ ${COMMONAPI_INCLUDE_DIRS}
+ ${COMMONAPI_SOMEIP_INCLUDE_DIRS}
+ ${COMMON_API_GEN_INCLUDE_DIR})
+ endif()
endif(WITH_CAPI_WRAPPER)
if(WITH_DLT)
@@ -181,11 +197,11 @@ if(WITH_DLT)
${DLT_LIBRARIES})
endif(WITH_DLT)
-#if(WITH_DBUS_WRAPPER)
+if(WITH_DBUS_WRAPPER)
INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES}
- ${DBUS_ARCH_INCLUDE_DIR}
- ${DBUS_INCLUDE_DIR})
-#endif(WITH_DBUS_WRAPPER)
+ ${DBUS_ARCH_INCLUDE_DIR}
+ ${DBUS_INCLUDE_DIR})
+endif(WITH_DBUS_WRAPPER)
ADD_EXECUTABLE(AudioManager ${AUDIOMAN_SRCS_CXX})
diff --git a/AudioManagerDaemon/fidls/NodeStateManager.fdepl b/AudioManagerDaemon/fidls/NodeStateManager.fdepl
index 489e85e..e772022 100644
--- a/AudioManagerDaemon/fidls/NodeStateManager.fdepl
+++ b/AudioManagerDaemon/fidls/NodeStateManager.fdepl
@@ -1,6 +1,6 @@
-import "platform:/plugin/org.genivi.commonapi.dbus/deployment/CommonAPI-DBus_deployment.fdepl"
+import "platform:/plugin/org.genivi.commonapi.dbus/deployment/CommonAPI-DBus_deployment_spec.fdepl"
import "NodeStateManager.fidl"
-
+
define org.genivi.commonapi.dbus.deployment for interface org.genivi.NodeStateManager.Consumer {
- PropertiesType=freedesktop
+ DBusDefaultAttributeType=freedesktop
}
diff --git a/AudioManagerUtilities/src/CAmCommonAPIWrapper.cpp b/AudioManagerUtilities/src/CAmCommonAPIWrapper.cpp
index 9bfeadb..0c00d62 100644
--- a/AudioManagerUtilities/src/CAmCommonAPIWrapper.cpp
+++ b/AudioManagerUtilities/src/CAmCommonAPIWrapper.cpp
@@ -32,7 +32,12 @@
#ifndef COMMONAPI_INTERNAL_COMPILATION
#define COMMONAPI_INTERNAL_COMPILATION
+#if COMMONAPI_USED_BINDING > 0
+#include <CommonAPI/SomeIP/Factory.hpp>
+#else
#include <CommonAPI/DBus/DBusFactory.hpp>
+#endif
+
#undef COMMONAPI_INTERNAL_COMPILATION
#endif
@@ -69,9 +74,15 @@ CAmCommonAPIWrapper::CAmCommonAPIWrapper(CAmSocketHandler* socketHandler):
mFactory = runtime->createFactory(mContext);
assert(mFactory);
#else
- mFactory = CommonAPI::DBus::Factory::get();
- assert(mFactory);
- mRuntime->registerFactory("dbus", mFactory);
+ #if COMMONAPI_USED_BINDING > 0
+ mFactory = CommonAPI::SomeIP::Factory::get();
+ assert(mFactory);
+ mRuntime->registerFactory("someip", mFactory);
+ #else
+ mFactory = CommonAPI::DBus::Factory::get();
+ assert(mFactory);
+ mRuntime->registerFactory("dbus", mFactory);
+ #endif
#endif
//Make subscriptions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1787a0c..7ae5def 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -68,20 +68,32 @@ option( WITH_NSM
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)
+ unset(USE_CAPI_BINDING CACHE)
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)
+ set (WITH_DBUS_WRAPPER OFF CACHE INTERNAL "hide this!" FORCE)
+ set (USE_CAPI_BINDING "DBUS" CACHE STRING "Select prefered binding for common-api 'DBUS' or 'SOMEIP'")
+ set_property(CACHE USE_CAPI_BINDING PROPERTY STRINGS "DBUS" "SOMEIP")
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)
+ unset(USE_CAPI_BINDING CACHE)
endif ()
+if (USE_CAPI_BINDING STREQUAL "SOMEIP")
+ set(COMMONAPI_USED_BINDING 1 CACHE INTERNAL "hide this!" FORCE)
+elseif (USE_CAPI_BINDING STREQUAL "DBUS")
+ set(COMMONAPI_USED_BINDING 0 CACHE INTERNAL "hide this!" FORCE)
+else()
+ unset(COMMONAPI_USED_BINDING CACHE)
+endif()
+
set(DBUS_SERVICE_PREFIX "org.genivi.audiomanager"
CACHE PROPERTY "The dbus service prefix for the AM - only changable for legacy dbus")
@@ -273,3 +285,4 @@ add_custom_target(test-install
configure_file( ${CMAKE_SOURCE_DIR}/AudioManagerDaemon/docx/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/DoxyFile )
configure_file( ${CMAKE_SOURCE_DIR}/cmake/config.cmake.in ${CMAKE_BINARY_DIR}/include/config.h )
+
diff --git a/cmake/CommonAPI.cmake b/cmake/CommonAPI.cmake
index f98bcda..45c1078 100755
--- a/cmake/CommonAPI.cmake
+++ b/cmake/CommonAPI.cmake
@@ -11,7 +11,7 @@
# A list with include directories
include(CMakeParseArguments)
-include(TargetArch)
+
MACRO(LOAD_COMMONAPI)
#parse the input parameters
@@ -20,14 +20,12 @@ MACRO(LOAD_COMMONAPI)
set(multiValueArgs "")
cmake_parse_arguments(PARAMS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
- # check the binding parameter ...
if(PARAMS_DBUS)
SET(COMMONAPI_USED_BINDING 0 CACHE INTERNAL "hide this!" FORCE)
elseif(PARAMS_SOMEIP)
SET(COMMONAPI_USED_BINDING 1 CACHE INTERNAL "hide this!" FORCE)
- else()
- SET(COMMONAPI_USED_BINDING 0 CACHE INTERNAL "hide this!" FORCE)
endif()
+
# load the proper libs ...
IF(NOT CommonAPI_FOUND)
FIND_PACKAGE(CommonAPI REQUIRED)
@@ -47,6 +45,7 @@ MACRO(LOAD_COMMONAPI)
IF(${COMMONAPI_USED_BINDING} EQUAL 1)
IF(NOT CommonAPI-SomeIP_FOUND)
+ FIND_PACKAGE (vsomeip REQUIRED)
FIND_PACKAGE(CommonAPI-SomeIP REQUIRED CONFIG NO_CMAKE_PACKAGE_REGISTRY)
FIND_LIBRARY(CommonAPI-SomeIP_LIBRARY
REQUIRED
@@ -82,15 +81,12 @@ MACRO(LOAD_COMMONAPI)
ENDMACRO()
# helper function giving a string with the current architecture
-function(GET_TARGET_ARCH OUT_ARCH)
- target_architecture(TARGET_ARCH)
- IF("${TARGET_ARCH}" STREQUAL "i386")
- SET(${OUT_ARCH} "x86" PARENT_SCOPE)
- ELSEIF("${TARGET_ARCH}" STREQUAL "x86_64")
+function(GET_TARGET_ARCH OUT_ARCH)
+ IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
SET(${OUT_ARCH} "x86_64" PARENT_SCOPE)
- ELSE()
- SET(${OUT_ARCH} "x86_64" PARENT_SCOPE)
- ENDIF()
+ ELSE()
+ SET(${OUT_ARCH} "x86" PARENT_SCOPE)
+ ENDIF()
endfunction()
# helper function giving a string with the current host
@@ -138,13 +134,12 @@ macro(GET_GENERATED_FILES GEN_DESTINATION)
LIST(REMOVE_DUPLICATES CAPI_SOURCES)
set(${PARAMS_TARGET}_GEN_HEADERS ${CAPI_HEADERS} PARENT_SCOPE)
- set(${PARAMS_TARGET}_GEN_SOURCES ${CAPI_SOURCES} PARENT_SCOPE)
-
+ set(${PARAMS_TARGET}_GEN_SOURCES ${CAPI_SOURCES} PARENT_SCOPE)
#add base path src-gen
SET(${PARAMS_TARGET}_GEN_INCLUDE_DIR ${CAPI_INCLUDES} ${GEN_DESTINATION} PARENT_SCOPE)
endmacro(GET_GENERATED_FILES)
-macro(FIND_AND_EXEC_GENERATOR GENERATOR_EXECUTABLE SHOULD_GENERATE_STUB_DEFAULT)
+macro(FIND_AND_EXEC_GENERATOR GENERATOR_EXECUTABLE SHOULD_GENERATE_STUB_DEFAULT FIDLS)
MESSAGE(STATUS "Searching for common-api generator executable ${GENERATOR_EXECUTABLE} ...")
# find the generator binary ...
execute_process(COMMAND find "/usr/local/share/CommonAPI-${CommonAPI_VERSION}" -name ${GENERATOR_EXECUTABLE}
@@ -164,7 +159,7 @@ macro(FIND_AND_EXEC_GENERATOR GENERATOR_EXECUTABLE SHOULD_GENERATE_STUB_DEFAULT)
message(STATUS "Common-api generator can't be found. Will try the alternative folder!")
ELSE()
# the generator binary is found
- MESSAGE(STATUS "Will execute common-api generator at path ${OUT_RESULT}")
+ MESSAGE(STATUS "Will execute common-api generator at path ${OUT_RESULT} with ${FIDLS}")
function(mktmpdir OUTVAR)
while(NOT TEMP_DESTINATION OR EXISTS ${TEMP_DESTINATION})
string(RANDOM LENGTH 16 TEMP_DESTINATION)
@@ -175,9 +170,9 @@ macro(FIND_AND_EXEC_GENERATOR GENERATOR_EXECUTABLE SHOULD_GENERATE_STUB_DEFAULT)
set(${OUTVAR} ${TEMP_DESTINATION} PARENT_SCOPE)
endfunction()
- # execute the generate command ...
+ # execute the generate command ...
IF(${SHOULD_GENERATE_STUB_DEFAULT} EQUAL 1)
- execute_process(COMMAND ${OUT_RESULT} -sk Default -d ${PARAMS_DESTINATION} ${FIDLS}
+ execute_process(COMMAND ${OUT_RESULT} -sk Default -d ${PARAMS_DESTINATION} ${FIDLS}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
RESULT_VARIABLE EXIT_CODE
OUTPUT_VARIABLE GENERATOR_OUTPUT
@@ -185,13 +180,13 @@ macro(FIND_AND_EXEC_GENERATOR GENERATOR_EXECUTABLE SHOULD_GENERATE_STUB_DEFAULT)
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_STRIP_TRAILING_WHITESPACE)
ELSE()
- execute_process(COMMAND ${OUT_RESULT} -d ${PARAMS_DESTINATION} ${FIDLS}
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- RESULT_VARIABLE EXIT_CODE
- OUTPUT_VARIABLE GENERATOR_OUTPUT
- ERROR_VARIABLE GENERATOR_ERR_OUTPUT
- OUTPUT_STRIP_TRAILING_WHITESPACE
- ERROR_STRIP_TRAILING_WHITESPACE)
+ execute_process(COMMAND ${OUT_RESULT} -d ${PARAMS_DESTINATION} ${FIDLS}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ RESULT_VARIABLE EXIT_CODE
+ OUTPUT_VARIABLE GENERATOR_OUTPUT
+ ERROR_VARIABLE GENERATOR_ERR_OUTPUT
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ ERROR_STRIP_TRAILING_WHITESPACE)
ENDIF()
if(EXIT_CODE)
message(FATAL_ERROR "Failed to generate files from FIDL:${GENERATOR_OUTPUT}")
@@ -200,7 +195,7 @@ macro(FIND_AND_EXEC_GENERATOR GENERATOR_EXECUTABLE SHOULD_GENERATE_STUB_DEFAULT)
endif()
SET(TEMP_GEN_DST ${PARAMS_DESTINATION})
ENDIF()
-endmacro(FIND_AND_EXEC_GENERATOR GENERATOR_EXECUTABLE ADDITIONAL_ARGS)
+endmacro(FIND_AND_EXEC_GENERATOR GENERATOR_EXECUTABLE SHOULD_GENERATE_STUB_DEFAULT FIDLS)
# generate common-api sources and retreive a list with them
MACRO(EXECUTE_GENERATOR)
@@ -222,22 +217,37 @@ MACRO(EXECUTE_GENERATOR)
SET(GENERATE_STUB 0)
ENDIF()
# searching for common-api-generator executable ...
- FIND_AND_EXEC_GENERATOR(${COMMONAPI_GENERATOR_EXECUTABLE} ${GENERATE_STUB})
- FIND_AND_EXEC_GENERATOR(${COMMONAPI_BINDING_GENERATOR_EXECUTABLE} FALSE)
+ FOREACH(FIDL ${IN_FIDLS_GENERIC})
+ FIND_AND_EXEC_GENERATOR(${COMMONAPI_GENERATOR_EXECUTABLE} ${GENERATE_STUB} ${FIDL})
+ ENDFOREACH()
+ FOREACH(FIDL ${IN_FIDLS_BINDING})
+ FIND_AND_EXEC_GENERATOR(${COMMONAPI_BINDING_GENERATOR_EXECUTABLE} FALSE ${FIDL})
+ ENDFOREACH()
# get the lists with the sources and headers
message(STATUS "Looking for generated common-api files...")
GET_GENERATED_FILES(${TEMP_GEN_DST})
ENDMACRO(EXECUTE_GENERATOR)
+# Function COMMON_API_GENERATE_SOUCRES
+#
+# TARGET COMMON_API
+# FIDLS_GENERIC a list with fidls for the generic generator.
+# FIDLS_BINDING a list with fidls for the binding generator.
+# DESTINATION a relative path to the build directory or an absolute path.
+# ALT_DESTINATION an alternative relative/absolute path with common-api sources, usually in the source tree.
FUNCTION(COMMON_API_GENERATE_SOUCRES)
#parse the input parameters
set(options "")
set(oneValueArgs TARGET DESTINATION ALT_DESTINATION HEADER_TEMPLATE)
- set(multiValueArgs FIDLS FIDL_DEPENDS)
+ set(multiValueArgs FIDLS_GENERIC FIDLS_BINDING)
cmake_parse_arguments(PARAMS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
- if(NOT IS_ABSOLUTE ${PARAMS_DESTINATION})
+ if(NOT PARAMS_TARGET)
+ message(FATAL_ERROR "TARGET must be specified")
+ endif()
+
+ if(NOT IS_ABSOLUTE ${PARAMS_DESTINATION})
set(PARAMS_DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/${PARAMS_DESTINATION})
endif()
@@ -254,38 +264,35 @@ FUNCTION(COMMON_API_GENERATE_SOUCRES)
GET_GENERATED_FILES(${PARAMS_ALT_DESTINATION})
ENDIF()
ELSE()
-
- if(NOT PARAMS_FIDLS)
+ if(NOT PARAMS_FIDLS_GENERIC)
message(FATAL_ERROR "FIDLS must be specified")
endif()
- if(NOT PARAMS_TARGET)
- message(FATAL_ERROR "TARGET must be specified")
- endif()
-
if(PARAMS_HEADER_TEMPLATE)
list(APPEND ARGS -pref ${PARAMS_HEADER_TEMPLATE})
endif()
- foreach(FIDL ${PARAMS_FIDLS})
+ # Run configure_file on each .fidl which forces cmake to reexecute its configure phase if the input file changes.
+ foreach(FIDL ${PARAMS_FIDLS_GENERIC})
get_filename_component(FIDL_PATH ${FIDL} ABSOLUTE)
-
- # Run configure_file on the .fidl - this forces cmake to reexecute its
- # configure phase if the input file changes.
string(MD5 ${FIDL_PATH} FIDL_CHECKSUM)
configure_file(${FIDL_PATH} ${CMAKE_CURRENT_BINARY_DIR}/${FIDL_CHECKSUM}.fidl.done)
-
- list(APPEND FIDLS ${FIDL_PATH})
+ list(APPEND IN_FIDLS_GENERIC ${FIDL_PATH})
endforeach()
+
+ if(PARAMS_FIDLS_BINDING)
+ foreach(FIDL ${PARAMS_FIDLS_BINDING})
+ get_filename_component(FIDL_PATH ${FIDL} ABSOLUTE)
+ string(MD5 ${FIDL_PATH} FIDL_CHECKSUM)
+ configure_file(${FIDL_PATH} ${CMAKE_CURRENT_BINARY_DIR}/${FIDL_CHECKSUM}.fidl.done)
+ list(APPEND IN_FIDLS_BINDING ${FIDL_PATH})
+ endforeach()
+ else()
+ SET(IN_FIDLS_BINDING ${IN_FIDLS_GENERIC})
+ endif()
- message(STATUS "Will generate common-api files for ${PARAMS_FIDLS} ...")
-
- foreach(FIDL_DEPEND ${PARAMS_FIDL_DEPENDS})
- string(MD5 ${FIDL_PATH} FIDL_CHECKSUM)
- configure_file(${FIDL_PATH} ${CMAKE_CURRENT_BINARY_DIR}/${FIDL_CHECKSUM}.fidl.done)
- endforeach()
# run the generator ...
EXECUTE_GENERATOR()
- ENDIF()
+ ENDIF()
ENDFUNCTION()
diff --git a/cmake/TargetArch.cmake b/cmake/TargetArch.cmake
deleted file mode 100644
index 3761e4d..0000000
--- a/cmake/TargetArch.cmake
+++ /dev/null
@@ -1,134 +0,0 @@
-# Based on the Qt 5 processor detection code, so should be very accurate
-# https://qt.gitorious.org/qt/qtbase/blobs/master/src/corelib/global/qprocessordetection.h
-# Currently handles arm (v5, v6, v7), x86 (32/64), ia64, and ppc (32/64)
-
-# Regarding POWER/PowerPC, just as is noted in the Qt source,
-# "There are many more known variants/revisions that we do not handle/detect."
-
-set(archdetect_c_code "
-#if defined(__arm__) || defined(__TARGET_ARCH_ARM)
- #if defined(__ARM_ARCH_7__) \\
- || defined(__ARM_ARCH_7A__) \\
- || defined(__ARM_ARCH_7R__) \\
- || defined(__ARM_ARCH_7M__) \\
- || (defined(__TARGET_ARCH_ARM) && __TARGET_ARCH_ARM-0 >= 7)
- #error cmake_ARCH armv7
- #elif defined(__ARM_ARCH_6__) \\
- || defined(__ARM_ARCH_6J__) \\
- || defined(__ARM_ARCH_6T2__) \\
- || defined(__ARM_ARCH_6Z__) \\
- || defined(__ARM_ARCH_6K__) \\
- || defined(__ARM_ARCH_6ZK__) \\
- || defined(__ARM_ARCH_6M__) \\
- || (defined(__TARGET_ARCH_ARM) && __TARGET_ARCH_ARM-0 >= 6)
- #error cmake_ARCH armv6
- #elif defined(__ARM_ARCH_5TEJ__) \\
- || (defined(__TARGET_ARCH_ARM) && __TARGET_ARCH_ARM-0 >= 5)
- #error cmake_ARCH armv5
- #else
- #error cmake_ARCH arm
- #endif
-#elif defined(__i386) || defined(__i386__) || defined(_M_IX86)
- #error cmake_ARCH i386
-#elif defined(__x86_64) || defined(__x86_64__) || defined(__amd64) || defined(_M_X64)
- #error cmake_ARCH x86_64
-#elif defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
- #error cmake_ARCH ia64
-#elif defined(__ppc__) || defined(__ppc) || defined(__powerpc__) \\
- || defined(_ARCH_COM) || defined(_ARCH_PWR) || defined(_ARCH_PPC) \\
- || defined(_M_MPPC) || defined(_M_PPC)
- #if defined(__ppc64__) || defined(__powerpc64__) || defined(__64BIT__)
- #error cmake_ARCH ppc64
- #else
- #error cmake_ARCH ppc
- #endif
-#endif
-
-#error cmake_ARCH unknown
-")
-
-# Set ppc_support to TRUE before including this file or ppc and ppc64
-# will be treated as invalid architectures since they are no longer supported by Apple
-
-function(target_architecture output_var)
- if(APPLE AND CMAKE_OSX_ARCHITECTURES)
- # On OS X we use CMAKE_OSX_ARCHITECTURES *if* it was set
- # First let's normalize the order of the values
-
- # Note that it's not possible to compile PowerPC applications if you are using
- # the OS X SDK version 10.6 or later - you'll need 10.4/10.5 for that, so we
- # disable it by default
- # See this page for more information:
- # http://stackoverflow.com/questions/5333490/how-can-we-restore-ppc-ppc64-as-well-as-full-10-4-10-5-sdk-support-to-xcode-4
-
- # Architecture defaults to i386 or ppc on OS X 10.5 and earlier, depending on the CPU type detected at runtime.
- # On OS X 10.6+ the default is x86_64 if the CPU supports it, i386 otherwise.
-
- foreach(osx_arch ${CMAKE_OSX_ARCHITECTURES})
- if("${osx_arch}" STREQUAL "ppc" AND ppc_support)
- set(osx_arch_ppc TRUE)
- elseif("${osx_arch}" STREQUAL "i386")
- set(osx_arch_i386 TRUE)
- elseif("${osx_arch}" STREQUAL "x86_64")
- set(osx_arch_x86_64 TRUE)
- elseif("${osx_arch}" STREQUAL "ppc64" AND ppc_support)
- set(osx_arch_ppc64 TRUE)
- else()
- message(FATAL_ERROR "Invalid OS X arch name: ${osx_arch}")
- endif()
- endforeach()
-
- # Now add all the architectures in our normalized order
- if(osx_arch_ppc)
- list(APPEND ARCH ppc)
- endif()
-
- if(osx_arch_i386)
- list(APPEND ARCH i386)
- endif()
-
- if(osx_arch_x86_64)
- list(APPEND ARCH x86_64)
- endif()
-
- if(osx_arch_ppc64)
- list(APPEND ARCH ppc64)
- endif()
- else()
- file(WRITE "${CMAKE_BINARY_DIR}/arch.c" "${archdetect_c_code}")
-
- enable_language(C)
-
- # Detect the architecture in a rather creative way...
- # This compiles a small C program which is a series of ifdefs that selects a
- # particular #error preprocessor directive whose message string contains the
- # target architecture. The program will always fail to compile (both because
- # file is not a valid C program, and obviously because of the presence of the
- # #error preprocessor directives... but by exploiting the preprocessor in this
- # way, we can detect the correct target architecture even when cross-compiling,
- # since the program itself never needs to be run (only the compiler/preprocessor)
- try_run(
- run_result_unused
- compile_result_unused
- "${CMAKE_BINARY_DIR}"
- "${CMAKE_BINARY_DIR}/arch.c"
- COMPILE_OUTPUT_VARIABLE ARCH
- CMAKE_FLAGS CMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
- )
-
- # Parse the architecture name from the compiler output
- string(REGEX MATCH "cmake_ARCH ([a-zA-Z0-9_]+)" ARCH "${ARCH}")
-
- # Get rid of the value marker leaving just the architecture name
- string(REPLACE "cmake_ARCH " "" ARCH "${ARCH}")
-
- # If we are compiling with an unknown architecture this variable should
- # already be set to "unknown" but in the case that it's empty (i.e. due
- # to a typo in the code), then set it to unknown
- if (NOT ARCH)
- set(ARCH unknown)
- endif()
- endif()
-
- set(${output_var} "${ARCH}" PARENT_SCOPE)
-endfunction()
diff --git a/cmake/audiomanagerConfig.cmake.in b/cmake/audiomanagerConfig.cmake.in
index fa992ce..fb6fd36 100644
--- a/cmake/audiomanagerConfig.cmake.in
+++ b/cmake/audiomanagerConfig.cmake.in
@@ -34,7 +34,8 @@ set(WRITE_COMMONAPI_DBUS_CONFIG_FILE "@WRITE_COMMONAPI_DBUS_CONFIG_FILE@")
set(TCLAP_INCLUDE_DIR "@TCLAP_INCLUDE_DIR@")
set(COMMONAPI_VERSION_NUMBER "@COMMONAPI_VERSION_NUMBER@")
set(COMMONAPI_DBUS_VERSION_NUMBER "@COMMONAPI_DBUS_VERSION_NUMBER@")
-
+set(COMMONAPI_SOMEIP_VERSION_NUMBER "@COMMONAPI_SOMEIP_VERSION_NUMBER@")
+set(COMMONAPI_USED_BINDING "@COMMONAPI_USED_BINDING@")
IF(WITH_TESTS)
set_and_check(GOOGLE_MOCK_PROJECT_FOLDER "@GOOGLE_MOCK_PROJECT_FOLDER@")
diff --git a/cmake/config.cmake.in b/cmake/config.cmake.in
index 3e1095f..b5f978b 100644
--- a/cmake/config.cmake.in
+++ b/cmake/config.cmake.in
@@ -34,6 +34,9 @@
#cmakedefine AM_SHARE_FOLDER "@AM_SHARE_FOLDER@"
#cmakedefine COMMONAPI_VERSION_NUMBER @COMMONAPI_VERSION_NUMBER@
#cmakedefine COMMONAPI_DBUS_VERSION_NUMBER @COMMONAPI_DBUS_VERSION_NUMBER@
+#cmakedefine COMMONAPI_SOMEIP_VERSION_NUMBER @COMMONAPI_SOMEIP_VERSION_NUMBER@
+#cmakedefine COMMONAPI_USED_BINDING @COMMONAPI_USED_BINDING@
+
enum { DYNAMIC_ID_BOUNDARY = @DYNAMIC_ID_BOUNDARY@ };