From 4ee76fe25e635fe8d1daa49f7af3ce4339048be9 Mon Sep 17 00:00:00 2001 From: Aleksandar Donchev Date: Mon, 25 Nov 2013 15:06:13 +0100 Subject: * Cmake scripts adopted for cross-compilation Signed-off-by: Christian Linke --- .../AmNodeStateCommunicatorCAPITest/CMakeLists.txt | 6 ++- CMakeLists.txt | 6 ++- PluginControlInterface/test/CMakeLists.txt | 2 +- PluginRoutingInterfaceAsync/CMakeLists.txt | 2 +- PluginRoutingInterfaceAsync/test/CMakeLists.txt | 2 +- PluginRoutingInterfaceDbus/CMakeLists.txt | 2 +- cmake/FindCommonAPI.cmake | 47 ++++++++-------------- cmake/FindCommonAPI_DBus.cmake | 45 ++++++++------------- cmake/FindDBUS.cmake | 12 +++--- 9 files changed, 53 insertions(+), 71 deletions(-) diff --git a/AudioManagerDaemon/test/AmNodeStateCommunicatorCAPITest/CMakeLists.txt b/AudioManagerDaemon/test/AmNodeStateCommunicatorCAPITest/CMakeLists.txt index 4817c24..862f3fc 100644 --- a/AudioManagerDaemon/test/AmNodeStateCommunicatorCAPITest/CMakeLists.txt +++ b/AudioManagerDaemon/test/AmNodeStateCommunicatorCAPITest/CMakeLists.txt @@ -22,7 +22,7 @@ PROJECT(AmNodeStateCommunicatorCAPITest) set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -DUNIT_TEST=1") set(STD_INCLUDE_DIRS "/usr/include") -SET(COMMON_API_SRC_GEN "../../src-gen/") + set(EXECUTABLE_OUTPUT_PATH ${TEST_EXECUTABLE_OUTPUT_PATH}) FIND_PACKAGE(Threads) @@ -32,6 +32,10 @@ pkg_check_modules(SQLITE REQUIRED sqlite3) FIND_PACKAGE(CommonAPI REQUIRED) FIND_PACKAGE(CommonAPI_DBus REQUIRED) + +#grab the parent source gen folder, instead of making a copy for the tests +FILE(GLOB_RECURSE COMMON_API_GEN_SOURCES "../../src-gen/*.cpp") + IF(WITH_DLT) pkg_check_modules(DLT REQUIRED automotive-dlt>=2.2.0) ENDIF(WITH_DLT) diff --git a/CMakeLists.txt b/CMakeLists.txt index be807be..24baa47 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,9 +39,11 @@ 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) SET(WITH_ENABLED_IPC "CAPI" CACHE STRING "Disable 'NONE' / Enable Common-API 'CAPI' or Dbus 'DBUS' Support") @@ -225,6 +227,7 @@ 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) if(WITH_DBUS_WRAPPER) add_subdirectory (PluginCommandInterfaceDbus) @@ -248,6 +251,7 @@ endif(WITH_PLUGIN_CONTROL) add_subdirectory (AudioManagerDaemon) + IF(EXISTS "${CMAKE_SOURCE_DIR}/ProjectSpecific/") add_subdirectory (ProjectSpecific) endif(EXISTS "${CMAKE_SOURCE_DIR}/ProjectSpecific/") diff --git a/PluginControlInterface/test/CMakeLists.txt b/PluginControlInterface/test/CMakeLists.txt index 37de565..87e2e1b 100644 --- a/PluginControlInterface/test/CMakeLists.txt +++ b/PluginControlInterface/test/CMakeLists.txt @@ -59,7 +59,7 @@ TARGET_LINK_LIBRARIES(AmControlReceiverShadowTest ${DLT_LIBRARIES} ${CMAKE_DL_LIBS} ${CMAKE_THREAD_LIBS_INIT} - ${DBUS_LIBRARY} + ${DBUS_LIBRARIES} ${SQLITE_LIBRARIES} gtest gmock diff --git a/PluginRoutingInterfaceAsync/CMakeLists.txt b/PluginRoutingInterfaceAsync/CMakeLists.txt index 1bf09e2..ece397d 100644 --- a/PluginRoutingInterfaceAsync/CMakeLists.txt +++ b/PluginRoutingInterfaceAsync/CMakeLists.txt @@ -52,7 +52,7 @@ add_library(PluginRoutingInterfaceAsync MODULE ${PLUGINDBUS_SRCS_CXX}) TARGET_LINK_LIBRARIES(PluginRoutingInterfaceAsync ${DLT_LIBRARIES} - ${DBUS_LIBRARY} + ${DBUS_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ) diff --git a/PluginRoutingInterfaceAsync/test/CMakeLists.txt b/PluginRoutingInterfaceAsync/test/CMakeLists.txt index 3f0da4c..434c6f9 100644 --- a/PluginRoutingInterfaceAsync/test/CMakeLists.txt +++ b/PluginRoutingInterfaceAsync/test/CMakeLists.txt @@ -66,7 +66,7 @@ ADD_EXECUTABLE(AmRoutingReceiveAsyncTest ${ASYNC_PLUGIN_INTERFACE_SRCS_CXX}) TARGET_LINK_LIBRARIES(AmRoutingReceiveAsyncTest ${CMAKE_DL_LIBS} ${CMAKE_THREAD_LIBS_INIT} - ${DBUS_LIBRARY} + ${DBUS_LIBRARIES} ${SQLITE_LIBRARIES} rt gtest diff --git a/PluginRoutingInterfaceDbus/CMakeLists.txt b/PluginRoutingInterfaceDbus/CMakeLists.txt index 2e66871..5912e10 100644 --- a/PluginRoutingInterfaceDbus/CMakeLists.txt +++ b/PluginRoutingInterfaceDbus/CMakeLists.txt @@ -63,7 +63,7 @@ add_library(PluginRoutingInterfaceDbus MODULE ${PLUGINDBUS_SRCS_CXX}) TARGET_LINK_LIBRARIES(PluginRoutingInterfaceDbus ${DLT_LIBRARIES} - ${DBUS_LIBRARY} + ${DBUS_LIBRARIES} ) IF(WITH_TESTS) diff --git a/cmake/FindCommonAPI.cmake b/cmake/FindCommonAPI.cmake index e64df66..3f156a5 100644 --- a/cmake/FindCommonAPI.cmake +++ b/cmake/FindCommonAPI.cmake @@ -1,19 +1,8 @@ -# Copyright (C) 2013, BMW AG # -# This file is part of GENIVI Project AudioManager. +# Copyright (C) 2012, BMW AG # -# Contributions are licensed to the GENIVI Alliance under one or more -# Contribution License Agreements. +# \author Christian Linke # -# 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 -# this file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# author Christian Linke, christian.linke@bmw.de BMW 2013 -# -# For further information see http://www.genivi.org/. -# include(UsePkgConfig) @@ -26,15 +15,15 @@ IF(COMMON_API_FOUND) PATH_SUFFIXES CommonAPI-${COMMON_API_VERSION} PATHS ${COMMON_API_INCLUDE_DIRS} - /usr/local/include - /usr/include) + "/usr/local/include" + "/usr/include") FIND_LIBRARY(COMMON_API_LIBRARY NAMES CommonAPI PATHS - ${CommonAPI_PKG_LIBRARY_DIRS} - /usr/local/lib - /usr/lib) + "/usr/local/lib" + "/usr/lib" + ) ELSE(COMMON_API_FOUND) @@ -45,17 +34,19 @@ ELSE(COMMON_API_FOUND) NAMES CommonAPI/Runtime.h CommonAPI/Proxy.h PATH_SUFFIXES CommonAPI-0.7 PATHS - /usr/local/include - /usr/include) + "/usr/local/include" + "/usr/include" + ) FIND_LIBRARY(COMMON_API_LIBRARY NAMES CommonAPI PATHS - /usr/local/lib - /usr/lib) + "/usr/local/lib" + "/usr/lib" + ) ENDIF(COMMON_API_FOUND) - + SET(COMMON_API_LIBRARIES ${COMMON_API_LIBRARY}) IF(COMMON_API_INCLUDE_DIR AND COMMON_API_LIBRARY) @@ -65,11 +56,7 @@ ELSE(COMMON_API_LIBRARIES AND COMMON_API_LIBRARY) ENDIF(COMMON_API_INCLUDE_DIR AND COMMON_API_LIBRARY) #searching for generated headers -IF(NOT COMMON_API_SRC_GEN) - SET(COMMON_API_SRC_GEN "src-gen/") -ENDIF(NOT COMMON_API_SRC_GEN) - -FILE(GLOB_RECURSE COMMON_API_GEN_HEADER_DIRECTORIES "${COMMON_API_SRC_GEN}*Proxy.h") +FILE(GLOB_RECURSE COMMON_API_GEN_HEADER_DIRECTORIES "src-gen/*.h") FOREACH(INCLUDE_ITER ${COMMON_API_GEN_HEADER_DIRECTORIES}) GET_FILENAME_COMPONENT(TEMP_PATH ${INCLUDE_ITER} PATH) SET(COMMON_API_GEN_INCLUDE_DIR ${COMMON_API_GEN_INCLUDE_DIR} ${TEMP_PATH}) @@ -77,7 +64,7 @@ ENDFOREACH(INCLUDE_ITER ${COMMON_API_GEN_HEADER_DIRECTORIES}) LIST(REMOVE_DUPLICATES COMMON_API_GEN_INCLUDE_DIR) #add base path src-gen -SET(COMMON_API_GEN_INCLUDE_DIR ${COMMON_API_GEN_INCLUDE_DIR} ${COMMON_API_SRC_GEN}) +SET(COMMON_API_GEN_INCLUDE_DIR ${COMMON_API_GEN_INCLUDE_DIR} "src-gen/") IF (COMMON_API_GEN_INCLUDE_DIR) message(STATUS "Found generated headers !") @@ -86,7 +73,7 @@ ELSE (COMMON_API_GEN_INCLUDE_DIR) ENDIF(COMMON_API_GEN_INCLUDE_DIR) #searching for generated sources -FILE(GLOB_RECURSE COMMON_API_GEN_SOURCES "${COMMON_API_SRC_GEN}*.cpp") +FILE(GLOB_RECURSE COMMON_API_GEN_SOURCES "src-gen/*.cpp") IF (COMMON_API_GEN_SOURCES) message(STATUS "Found generated sources !") diff --git a/cmake/FindCommonAPI_DBus.cmake b/cmake/FindCommonAPI_DBus.cmake index 6343766..9ba9e06 100644 --- a/cmake/FindCommonAPI_DBus.cmake +++ b/cmake/FindCommonAPI_DBus.cmake @@ -1,19 +1,8 @@ -# Copyright (C) 2013, BMW AG # -# This file is part of GENIVI Project AudioManager. +# Copyright (C) 2012, BMW AG # -# Contributions are licensed to the GENIVI Alliance under one or more -# Contribution License Agreements. +# \author Christian Linke # -# 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 -# this file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# author Christian Linke, christian.linke@bmw.de BMW 2013 -# -# For further information see http://www.genivi.org/. -# include(UsePkgConfig) @@ -26,17 +15,16 @@ IF(COMMON_API_DBUS_FOUND) PATH_SUFFIXES CommonAPI-${COMMON_API_VERSION} PATHS ${COMMON_API_DBUS_INCLUDE_DIRS} - /usr/local/include - /usr/include) + "/usr/local/include" + "/usr/include") FIND_LIBRARY(COMMON_API_DBUS_LIBRARY - NAMES CommonAPI-DBus + NAMES CommonAPI-DBus murmurhash-internal PATHS - ${CommonAPI_PKG_LIBRARY_DIRS} - /usr/local/lib - /usr/lib) - - + "/usr/local/lib" + "/usr/lib" + ) + ELSE(COMMON_API_DBUS_FOUND) MESSAGE(STATUS "CommonAPI_DBUS package not found, search directly, trying version 0.7 ...") @@ -46,20 +34,19 @@ ELSE(COMMON_API_DBUS_FOUND) NAMES CommonAPI/DBus/DBusRuntime.h CommonAPI/DBus/DBusProxy.h PATH_SUFFIXES CommonAPI-0.7 PATHS - /usr/local/include - /usr/include) + "/usr/local/include" + "/usr/include") FIND_LIBRARY(COMMON_API_DBUS_LIBRARY NAMES CommonAPI-DBus PATHS - /usr/local/lib - /usr/lib) - - + "/usr/local/lib" + "/usr/lib" + NO_SYSTEM_ENVIRONMENT_PATH) ENDIF(COMMON_API_DBUS_FOUND) - + -SET(COMMON_API_DBUS_LIBRARIES ${COMMON_API_DBUS_LIBRARY} ${DBUS_LIBRARY}) +SET(COMMON_API_DBUS_LIBRARIES ${COMMON_API_DBUS_LIBRARY}) IF(COMMON_API_DBUS_INCLUDE_DIR AND COMMON_API_DBUS_LIBRARY) message(STATUS "Found CommonAPI_DBUS") diff --git a/cmake/FindDBUS.cmake b/cmake/FindDBUS.cmake index 0935b2f..a6eaae3 100644 --- a/cmake/FindDBUS.cmake +++ b/cmake/FindDBUS.cmake @@ -17,18 +17,17 @@ # ############################################################################ -FIND_PATH(DBUS_INCLUDE_DIR dbus/dbus.h -/usr/include/dbus-1.0 -) +FIND_PATH(DBUS_INCLUDE_DIR dbus/dbus.h + PATHS "/usr/include/dbus-1.0") FIND_PATH(DBUS_ARCH_INCLUDE_DIR dbus/dbus-arch-deps.h -/usr/lib/dbus-1.0/include -/usr/lib/*/dbus-1.0/include +PATHS "/usr/lib/dbus-1.0/include" + "/usr/lib/*/dbus-1.0/include" ) FIND_LIBRARY(DBUS_LIBRARY NAMES dbus-1 -PATHS /lib +PATHS "/usr/lib" ) SET( DBUS_FOUND "NO" ) @@ -44,3 +43,4 @@ MARK_AS_ADVANCED( DBUS_ARCH_INCLUDE_DIR DBUS_LIBRARY ) + -- cgit v1.2.1