diff options
author | <philippe colliot> | 2015-06-04 16:39:54 +0200 |
---|---|---|
committer | <philippe colliot> | 2015-06-04 16:39:54 +0200 |
commit | 768dde412c01f86c78f50b45432f652415cad356 (patch) | |
tree | 509e43502445dd82648366ab263a9ffb2050d3fa | |
parent | 36a4e2bd00ac36c0631a70372ca4777fe74762ee (diff) | |
download | poi-service-768dde412c01f86c78f50b45432f652415cad356.tar.gz |
under progress, still need to fix some paths issues
22 files changed, 245 insertions, 245 deletions
diff --git a/src/navigation/CMakeLists.txt b/src/navigation/CMakeLists.txt index 25681b9..bb2d8c5 100644 --- a/src/navigation/CMakeLists.txt +++ b/src/navigation/CMakeLists.txt @@ -54,6 +54,8 @@ set(NAVIT_MAPS_DIR "${NAVIT_BIN_DIR}/maps") set(DBUS_GENERATED_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/dbus-include") set(DBUS_GENERATED_INCLUDE_DIR_POSITIONING "${CMAKE_CURRENT_BINARY_DIR}/api") # this one is for positioning set(PRELOAD_CACHE_FOR_PLUGINS "${CMAKE_CURRENT_BINARY_DIR}/cmake_plugin_settings.txt") +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin) add_subdirectory(positioning) @@ -67,6 +69,8 @@ add_subdirectory(${API_DIR}/map-viewer "${DBUS_GENERATED_INCLUDE_DIR}/map-viewer add_subdirectory(${API_DIR}/poi-service "${DBUS_GENERATED_INCLUDE_DIR}/poi-service") +include(macro-generate-plugin.cmake) + add_subdirectory(navigation-core) add_subdirectory(map-viewer) diff --git a/src/navigation/macro-generate-plugin.cmake b/src/navigation/macro-generate-plugin.cmake new file mode 100644 index 0000000..6f6083a --- /dev/null +++ b/src/navigation/macro-generate-plugin.cmake @@ -0,0 +1,133 @@ +########################################################################### +# @licence app begin@ +# SPDX-License-Identifier: MPL-2.0 +# +# \copyright Copyright (C) 2013-2014, PCA Peugeot Citroen +# +# \file macro-generate-plugin.cmake +# +# \brief This file is part of the build system, +# \brief it's used to generate the lib for the plugins in the ./bin folder. +# +# \author Martin Schaller <martin.schaller@it-schaller.de> +# +# \version 1.0 +# +# This Source Code Form is subject to the terms of the +# Mozilla Public License (MPL), 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/. +# +# For further information see http://www.genivi.org/. +# +# List of changes: +# +# <date>, <name>, <description of change> +# +# @licence end@ +########################################################################### +macro(set_feature_switch_default VARIABLE REASON ENABLE) + if ((NOT DEFINED ${VARIABLE}) # variable not in cache (first run) + OR ((DEFINED ${VARIABLE}_AUTODETECTED_VALUE) AND # variable in cache -> different from autodetected value? + ((${VARIABLE}_AUTODETECTED_VALUE AND ${VARIABLE}) OR # poor man's boolean equal + (NOT ${VARIABLE}_AUTODETECTED_VALUE AND NOT ${VARIABLE})))) + set(${VARIABLE}_REASON ${REASON}) + set(${VARIABLE} ${ENABLE} CACHE BOOL "feature switch" FORCE) + else() + set(${VARIABLE}_REASON "User defined") + endif() + set(${VARIABLE}_AUTODETECTED_VALUE ${ENABLE} CACHE INTERNAL "value autodetected by build script") +endmacro() + +macro(set_with_reason VARIABLE REASON ENABLE) + if (DEFINED ${VARIABLE}_REASON AND NOT ${VARIABLE}_REASON STREQUAL "User defined") + set(${VARIABLE} ${ENABLE} CACHE BOOL "feature switch" FORCE) + set(${VARIABLE}_REASON ${REASON}) + string(REPLACE "/" "_" VARIABLE_NAMES ${VARIABLE}) + set(${VARIABLE_NAMES}_LIBS ${ARGN}) + endif() + set(${VARIABLE}_AUTODETECTED_VALUE ${ENABLE} CACHE INTERNAL "value autodetected by build script") +endmacro() + +macro(add_feature FEATURE REASON ENABLE) + list(APPEND ALL_FEATURES ${FEATURE}) + set_feature_switch_default(${FEATURE} ${REASON} ${ENABLE}) +endmacro() + +macro(cfg_feature FEATURE REASON ENABLE) + set(${FEATURE} ${ENABLE}) + if (${FEATURE}_REASON STREQUAL "User defined") + set(${FEATURE}_REASON "${REASON} *user setting overridden*") + else() + set(${FEATURE}_REASON ${REASON}) + endif() +endmacro() + +macro(add_module MODULE_PATH REASON ENABLE) + list(APPEND ALL_MODULES ${MODULE_PATH}) + set_feature_switch_default(${MODULE_PATH} ${REASON} ${ENABLE}) +endmacro() + +# plugins are always linked static +macro(add_plugin PLUGIN_PATH REASON ENABLE) + list(APPEND ALL_PLUGINS ${PLUGIN_PATH}) + set_feature_switch_default(${PLUGIN_PATH} ${REASON} ${ENABLE}) +endmacro() + +# module plugins are always linked static +macro(add_module_plugin PLUGIN_PATH REASON ENABLE) + list(APPEND ALL_MODULE_PLUGINS ${PLUGIN_PATH}) + set_feature_switch_default(${PLUGIN_PATH} ${REASON} ${ENABLE}) +endmacro() + +macro(add_library_plugin MODULE_NAME ) + LINK_DIRECTORIES(${${MODULE_NAME}_LIBRARY_DIRS}) + add_library(${MODULE_NAME} ${MODULE_BUILD_TYPE} ${ARGN}) + SET_TARGET_PROPERTIES(${MODULE_NAME} PROPERTIES COMPILE_DEFINITIONS "MODULE=${MODULE_NAME}") + TARGET_LINK_LIBRARIES(${MODULE_NAME} ${${MODULE_NAME}_LIBS}) + SET_TARGET_PROPERTIES( ${MODULE_NAME} PROPERTIES COMPILE_FLAGS "${NAVIT_COMPILE_FLAGS} ${${MODULE_NAME}_FLAGS}") + INCLUDE_DIRECTORIES(${${MODULE_NAME}_INCLUDES}) + if (USE_PLUGINS) + if (ANDROID) + TARGET_LINK_LIBRARIES(${MODULE_NAME} ${NAVIT_LIBNAME}) + endif() + if (APPLE) + set_target_properties( ${MODULE_NAME} PROPERTIES LINK_FLAGS "-Wl,-undefined -Wl,dynamic_lookup") + endif() + # all the lib files are generated into the same folder + set_target_properties( ${MODULE_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") + + install(TARGETS ${MODULE_NAME} + DESTINATION ${LIB_DIR}/navit/${${MODULE_NAME}_TYPE} + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + endif() +endmacro(add_library_plugin) + +macro(supportlib_add_library LIB_NAME ) + add_library(${LIB_NAME} ${ARGN}) + TARGET_LINK_LIBRARIES(${LIB_NAME} ${${LIB_NAME}_LIBS}) + SET_TARGET_PROPERTIES( ${LIB_NAME} PROPERTIES COMPILE_FLAGS "${NAVIT_COMPILE_FLAGS}") + SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES COMPILE_DEFINITIONS "MODULE=${LIB_NAME}") +endmacro(supportlib_add_library) + +macro(message_error) + set(NAVIT_DEPENDENCY_ERROR 1) + message( SEND_ERROR ${ARGN}) +endmacro(message_error) + +include(CheckCCompilerFlag) +include(CheckCXXCompilerFlag) +function(add_compiler_flag_if_available FLAG) + set(VAR_FLAG_AVAILABLE_C "FLAG_AVAILABLE_C_${FLAG}") + check_c_compiler_flag(${FLAG} ${VAR_FLAG_AVAILABLE_C}) + if (${${VAR_FLAG_AVAILABLE_C}}) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLAG} ") + endif() + if(CMAKE_CXX_COMPILER_LOADED) # C++ compiler is optional + set(VAR_FLAG_AVAILABLE_CXX "FLAG_AVAILABLE_CXX_${FLAG}") + check_cxx_compiler_flag(${FLAG} ${VAR_FLAG_AVAILABLE_CXX}) + if (${${VAR_FLAG_AVAILABLE_CXX}}) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAG} ") + endif() + endif() +endfunction(add_compiler_flag_if_available) diff --git a/src/navigation/map-viewer/CMakeLists.txt b/src/navigation/map-viewer/CMakeLists.txt index 5781f98..fc07c25 100644 --- a/src/navigation/map-viewer/CMakeLists.txt +++ b/src/navigation/map-viewer/CMakeLists.txt @@ -20,11 +20,30 @@ cmake_minimum_required(VERSION 2.8) message(STATUS "map-viewer") +include(FindPkgConfig) + +pkg_search_module(DBUS_CPP_GLIB dbus-c++-glib-1) +pkg_search_module(DBUS_CPP dbus-c++-1) +pkg_search_module(GLIB glib-2.0) + +include_directories(${GLIB_INCLUDE_DIRS}) +include_directories(${DBUS_CPP_INCLUDE_DIRS}) +include_directories(${DBUS_CPP_GLIB_INCLUDE_DIRS}) + +include(${PRELOAD_CACHE_FOR_PLUGINS}) + +include_directories(${INCLUDE_DIRECTORIES}) +include_directories(.) +include_directories(${navit_SOURCE_DIR}/navit) +include_directories(${CMAKE_CURRENT_BINARY_DIR}) + +include_directories(${NAVIT_CONFIG_H_DIR}) # this one contains config.h that is generated + find_program(XSLTPROC xsltproc REQUIRED) # Generate the config file for navit/mapviewer execute_process( - OUTPUT_FILE ${NAVIT_BIN_DIR}/navit_genivi_mapviewer.xml + OUTPUT_FILE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/navit_genivi_mapviewer.xml COMMAND ${XSLTPROC} ${CMAKE_CURRENT_SOURCE_DIR}/navit_genivi_mapviewer.xsl ${navit_SOURCE_DIR}/navit/navit_shipped.xml ) @@ -40,6 +59,9 @@ endif() # Add sub directories for the plugins +set(PLUGIN_LDFLAGS ${DBUS_CPP_LDFLAGS} ${DBUS_CPP_GLIB_LDFLAGS} ${GLIB_LDFLAGS}) +set(PLUGIN_LIBRARIES ${DBUS_CPP_LIBRARY_DIRS} ${GLIB_LIBRARY_DIRS} ${DBUS_CPP_GLIB_DIRS}) + add_subdirectory(configuration-plugin) add_subdirectory(mapviewercontrol-plugin) diff --git a/src/navigation/map-viewer/configuration-plugin/CMakeLists.txt b/src/navigation/map-viewer/configuration-plugin/CMakeLists.txt index 2412ad3..c373adb 100644 --- a/src/navigation/map-viewer/configuration-plugin/CMakeLists.txt +++ b/src/navigation/map-viewer/configuration-plugin/CMakeLists.txt @@ -30,27 +30,10 @@ cmake_minimum_required(VERSION 2.8) message(STATUS "configuration") -include(FindPkgConfig) - -pkg_search_module(DBUS_CPP dbus-c++-glib-1 dbus-c++-1) -pkg_search_module(GLIB glib-2.0) -include_directories(${GLIB_INCLUDE_DIRS}) -include_directories(${DBUS_CPP_INCLUDE_DIRS}) - -include(${PRELOAD_CACHE_FOR_PLUGINS}) - -include_directories(${INCLUDE_DIRECTORIES}) -include_directories(.) -include_directories(${navit_SOURCE_DIR}/navit) -include_directories(${CMAKE_CURRENT_BINARY_DIR}) - -include_directories(${NAVIT_CONFIG_H_DIR}) # this one contains config.h that is generated - include_directories(${DBUS_GENERATED_INCLUDE_DIR}/map-viewer) -set(genivi_mapviewer_configuration_LIBS ${DBUS_CPP_LDFLAGS}) - -include(${navit_SOURCE_DIR}/cmake/navit_macros.cmake) +set(genivi_mapviewer_configuration_LIBS ${PLUGIN_LDFLAGS}) +set(genivi_mapviewer_configuration_LIBRARY_DIRS ${PLUGIN_LIBRARIES}) -module_add_library(genivi_mapviewer_configuration genivi_mapviewer_configuration.cxx ${DBUS_GENERATED_INCLUDE_DIR}/map-viewer/genivi-mapviewer-configuration_adaptor.h) +add_library_plugin(genivi_mapviewer_configuration genivi_mapviewer_configuration.cxx ${DBUS_GENERATED_INCLUDE_DIR}/map-viewer/genivi-mapviewer-configuration_adaptor.h) diff --git a/src/navigation/map-viewer/mapviewercontrol-plugin/CMakeLists.txt b/src/navigation/map-viewer/mapviewercontrol-plugin/CMakeLists.txt index 4a11eff..bcb7d35 100644 --- a/src/navigation/map-viewer/mapviewercontrol-plugin/CMakeLists.txt +++ b/src/navigation/map-viewer/mapviewercontrol-plugin/CMakeLists.txt @@ -30,28 +30,11 @@ cmake_minimum_required(VERSION 2.8) message(STATUS "mapviewer control") -include(FindPkgConfig) - -pkg_search_module(DBUS_CPP dbus-c++-glib-1 dbus-c++-1) -pkg_search_module(GLIB glib-2.0) -include_directories(${GLIB_INCLUDE_DIRS}) -include_directories(${DBUS_CPP_INCLUDE_DIRS}) - -include(${PRELOAD_CACHE_FOR_PLUGINS}) - -include_directories(${INCLUDE_DIRECTORIES}) -include_directories(.) -include_directories(${navit_SOURCE_DIR}/navit) -include_directories(${CMAKE_CURRENT_BINARY_DIR}) - -include_directories(${NAVIT_CONFIG_H_DIR}) # this one contains config.h that is generated - include_directories(${DBUS_GENERATED_INCLUDE_DIR}/map-viewer) include_directories(${DBUS_GENERATED_INCLUDE_DIR}/navigation-core) -set(genivi_mapviewer_mapviewercontrol_LIBS ${DBUS_CPP_LDFLAGS}) - -include(${navit_SOURCE_DIR}/cmake/navit_macros.cmake) +set(genivi_mapviewer_mapviewercontrol_LIBS ${PLUGIN_LDFLAGS}) +set(genivi_mapviewer_mapviewercontrol_LIBRARY_DIRS ${PLUGIN_LIBRARIES}) -module_add_library(genivi_mapviewer_mapviewercontrol genivi_mapviewer_mapviewercontrol.cxx ${DBUS_GENERATED_INCLUDE_DIR}/map-viewer/genivi-mapviewer-mapviewercontrol_adaptor.h ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-routing_proxy.h ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-session_proxy.h ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-mapmatchedposition_proxy.h) +add_library_plugin(genivi_mapviewer_mapviewercontrol genivi_mapviewer_mapviewercontrol.cxx ${DBUS_GENERATED_INCLUDE_DIR}/map-viewer/genivi-mapviewer-mapviewercontrol_adaptor.h ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-routing_proxy.h ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-session_proxy.h ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-mapmatchedposition_proxy.h) diff --git a/src/navigation/map-viewer/navit_genivi_mapviewer.xsl b/src/navigation/map-viewer/navit_genivi_mapviewer.xsl index 9973ca2..a1e7c60 100644 --- a/src/navigation/map-viewer/navit_genivi_mapviewer.xsl +++ b/src/navigation/map-viewer/navit_genivi_mapviewer.xsl @@ -23,11 +23,11 @@ <xsl:template match="/config/plugins/plugin[1]" priority="1" > <xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy> <xsl:text>
 </xsl:text> - <plugin path="../../../map-viewer/configuration-plugin/.libs/libgenivi_mapviewer_configuration.so" ondemand="no"/> + <plugin path="../lib/libgenivi_mapviewer_configuration.so" ondemand="no"/> <xsl:text>
 </xsl:text> - <plugin path="../../../map-viewer/session-plugin/.libs/libgenivi_mapviewer_session.so" ondemand="no"/> + <plugin path="../lib/libgenivi_mapviewer_session.so" ondemand="no"/> <xsl:text>
 </xsl:text> - <plugin path="../../../map-viewer/mapviewercontrol-plugin/.libs/libgenivi_mapviewer_mapviewercontrol.so" ondemand="no"/> + <plugin path="../lib/libgenivi_mapviewer_mapviewercontrol.so" ondemand="no"/> </xsl:template> <xsl:template match="/config/plugins/plugin"> <xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy> diff --git a/src/navigation/map-viewer/session-plugin/CMakeLists.txt b/src/navigation/map-viewer/session-plugin/CMakeLists.txt index 3538c8f..86caca5 100644 --- a/src/navigation/map-viewer/session-plugin/CMakeLists.txt +++ b/src/navigation/map-viewer/session-plugin/CMakeLists.txt @@ -30,27 +30,10 @@ cmake_minimum_required(VERSION 2.8) message(STATUS "session") -include(FindPkgConfig) - -pkg_search_module(DBUS_CPP dbus-c++-glib-1 dbus-c++-1) -pkg_search_module(GLIB glib-2.0) -include_directories(${GLIB_INCLUDE_DIRS}) -include_directories(${DBUS_CPP_INCLUDE_DIRS}) - -include(${PRELOAD_CACHE_FOR_PLUGINS}) - -include_directories(${INCLUDE_DIRECTORIES}) -include_directories(.) -include_directories(${navit_SOURCE_DIR}/navit) -include_directories(${CMAKE_CURRENT_BINARY_DIR}) - -include_directories(${NAVIT_CONFIG_H_DIR}) # this one contains config.h that is generated - include_directories(${DBUS_GENERATED_INCLUDE_DIR}/map-viewer) -set(genivi_mapviewer_session_LIBS ${DBUS_CPP_LDFLAGS}) - -include(${navit_SOURCE_DIR}/cmake/navit_macros.cmake) +set(genivi_mapviewer_session_LIBS ${PLUGIN_LDFLAGS}) +set(genivi_mapviewer_session_LIBRARY_DIRS ${PLUGIN_LIBRARIES}) -module_add_library(genivi_mapviewer_session genivi_mapviewer_session.cxx ${DBUS_GENERATED_INCLUDE_DIR}/map-viewer/genivi-mapviewer-session_adaptor.h) +add_library_plugin(genivi_mapviewer_session genivi_mapviewer_session.cxx ${DBUS_GENERATED_INCLUDE_DIR}/map-viewer/genivi-mapviewer-session_adaptor.h) diff --git a/src/navigation/navigation-core/CMakeLists.txt b/src/navigation/navigation-core/CMakeLists.txt index 81aebd8..081111f 100644 --- a/src/navigation/navigation-core/CMakeLists.txt +++ b/src/navigation/navigation-core/CMakeLists.txt @@ -20,11 +20,30 @@ cmake_minimum_required(VERSION 2.8) message(STATUS "navigation-core") +include(FindPkgConfig) + +pkg_search_module(DBUS_CPP_GLIB dbus-c++-glib-1) +pkg_search_module(DBUS_CPP dbus-c++-1) +pkg_search_module(GLIB glib-2.0) + +include_directories(${GLIB_INCLUDE_DIRS}) +include_directories(${DBUS_CPP_INCLUDE_DIRS}) +include_directories(${DBUS_CPP_GLIB_INCLUDE_DIRS}) + +include(${PRELOAD_CACHE_FOR_PLUGINS}) + +include_directories(${INCLUDE_DIRECTORIES}) +include_directories(.) +include_directories(${navit_SOURCE_DIR}/navit) +include_directories(${CMAKE_CURRENT_BINARY_DIR}) + +include_directories(${NAVIT_CONFIG_H_DIR}) # this one contains config.h that is generated + find_program(XSLTPROC xsltproc REQUIRED) # Generate the config file for navit/navigation-core execute_process( - OUTPUT_FILE ${NAVIT_BIN_DIR}/navit_genivi_navigationcore.xml + OUTPUT_FILE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/navit_genivi_navigationcore.xml COMMAND ${XSLTPROC} ${CMAKE_CURRENT_SOURCE_DIR}/navit_genivi_navigationcore.xsl ${navit_SOURCE_DIR}/navit/navit_shipped.xml ) @@ -40,6 +59,9 @@ endif() # Add sub directories for the plugins +set(PLUGIN_LDFLAGS ${DBUS_CPP_LDFLAGS} ${DBUS_CPP_GLIB_LDFLAGS} ${GLIB_LDFLAGS}) +set(PLUGIN_LIBRARIES ${DBUS_CPP_LIBRARY_DIRS} ${GLIB_LIBRARY_DIRS} ${DBUS_CPP_GLIB_DIRS}) + add_subdirectory(configuration-plugin) add_subdirectory(guidance-plugin) diff --git a/src/navigation/navigation-core/configuration-plugin/CMakeLists.txt b/src/navigation/navigation-core/configuration-plugin/CMakeLists.txt index 539131c..319abef 100644 --- a/src/navigation/navigation-core/configuration-plugin/CMakeLists.txt +++ b/src/navigation/navigation-core/configuration-plugin/CMakeLists.txt @@ -29,29 +29,11 @@ project(navigation) cmake_minimum_required(VERSION 2.8) message(STATUS "configuration") - -include(FindPkgConfig) - -pkg_search_module(DBUS_CPP dbus-c++-glib-1 dbus-c++-1) -pkg_search_module(GLIB glib-2.0) -include_directories(${GLIB_INCLUDE_DIRS}) -include_directories(${DBUS_CPP_INCLUDE_DIRS}) - -include(${PRELOAD_CACHE_FOR_PLUGINS}) - -include_directories(${INCLUDE_DIRECTORIES}) -include_directories(.) -include_directories(${navit_SOURCE_DIR}/navit) -include_directories(${CMAKE_CURRENT_BINARY_DIR}) - -include_directories(${NAVIT_CONFIG_H_DIR}) # this one contains config.h that is generated - include_directories(${DBUS_GENERATED_INCLUDE_DIR}/navigation-core) -set(genivi_navigationcore_configuration_LIBS ${DBUS_CPP_LDFLAGS}) - -include(${navit_SOURCE_DIR}/cmake/navit_macros.cmake) +set(genivi_navigationcore_configuration_LIBS ${PLUGIN_LDFLAGS}) +set(genivi_navigationcore_configuration_LIBRARY_DIRS ${PLUGIN_LIBRARIES}) -module_add_library(genivi_navigationcore_configuration genivi_navigationcore_configuration.cxx ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-configuration_adaptor.h) +add_library_plugin(genivi_navigationcore_configuration genivi_navigationcore_configuration.cxx ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-configuration_adaptor.h) diff --git a/src/navigation/navigation-core/enhancedposition-plugin/CMakeLists.txt b/src/navigation/navigation-core/enhancedposition-plugin/CMakeLists.txt index 3c7a789..b5fbe69 100644 --- a/src/navigation/navigation-core/enhancedposition-plugin/CMakeLists.txt +++ b/src/navigation/navigation-core/enhancedposition-plugin/CMakeLists.txt @@ -29,30 +29,12 @@ project(navigation) cmake_minimum_required(VERSION 2.8) message(STATUS "enhanced position") - -include(FindPkgConfig) - -pkg_search_module(DBUS_CPP dbus-c++-glib-1 dbus-c++-1) -pkg_search_module(GLIB glib-2.0) -include_directories(${GLIB_INCLUDE_DIRS}) -include_directories(${DBUS_CPP_INCLUDE_DIRS}) - -include(${PRELOAD_CACHE_FOR_PLUGINS}) - -include_directories(${INCLUDE_DIRECTORIES}) -include_directories(.) -include_directories(${navit_SOURCE_DIR}/navit) -include_directories(${CMAKE_CURRENT_BINARY_DIR}) - -include_directories(${NAVIT_CONFIG_H_DIR}) # this one contains config.h that is generated - include_directories(${DBUS_GENERATED_INCLUDE_DIR_POSITIONING}) -set(genivi_positioning_enhancedposition_LIBS ${DBUS_CPP_LDFLAGS}) - -include(${navit_SOURCE_DIR}/cmake/navit_macros.cmake) +set(genivi_positioning_enhancedposition_LIBS ${PLUGIN_LDFLAGS}) +set(genivi_positioning_enhancedposition_LIBRARY_DIRS ${PLUGIN_LIBRARIES}) -module_add_library(genivi_positioning_enhancedposition +add_library_plugin(genivi_positioning_enhancedposition genivi_positioning_enhancedposition.cxx ${DBUS_GENERATED_INCLUDE_DIR_POSITIONING}/enhanced-position-proxy.h ${DBUS_GENERATED_INCLUDE_DIR_POSITIONING}/positioning-constants.h diff --git a/src/navigation/navigation-core/guidance-plugin/CMakeLists.txt b/src/navigation/navigation-core/guidance-plugin/CMakeLists.txt index 3986155..9218184 100644 --- a/src/navigation/navigation-core/guidance-plugin/CMakeLists.txt +++ b/src/navigation/navigation-core/guidance-plugin/CMakeLists.txt @@ -30,27 +30,10 @@ cmake_minimum_required(VERSION 2.8) message(STATUS "guidance") -include(FindPkgConfig) - -pkg_search_module(DBUS_CPP dbus-c++-glib-1 dbus-c++-1) -pkg_search_module(GLIB glib-2.0) -include_directories(${GLIB_INCLUDE_DIRS}) -include_directories(${DBUS_CPP_INCLUDE_DIRS}) - -include(${PRELOAD_CACHE_FOR_PLUGINS}) - -include_directories(${INCLUDE_DIRECTORIES}) -include_directories(.) -include_directories(${navit_SOURCE_DIR}/navit) -include_directories(${CMAKE_CURRENT_BINARY_DIR}) - -include_directories(${NAVIT_CONFIG_H_DIR}) # this one contains config.h that is generated - include_directories(${DBUS_GENERATED_INCLUDE_DIR}/navigation-core) -set(genivi_navigationcore_guidance_LIBS ${DBUS_CPP_LDFLAGS}) - -include(${navit_SOURCE_DIR}/cmake/navit_macros.cmake) +set(genivi_navigationcore_guidance_LIBS ${PLUGIN_LDFLAGS}) +set(genivi_navigationcore_guidance_LIBRARY_DIRS ${PLUGIN_LIBRARIES}) -module_add_library(genivi_navigationcore_guidance genivi_navigationcore_guidance.cxx ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-guidance_adaptor.h) +add_library_plugin(genivi_navigationcore_guidance genivi_navigationcore_guidance.cxx ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-guidance_adaptor.h) diff --git a/src/navigation/navigation-core/locationinput-plugin/CMakeLists.txt b/src/navigation/navigation-core/locationinput-plugin/CMakeLists.txt index 6cc6744..467791a 100644 --- a/src/navigation/navigation-core/locationinput-plugin/CMakeLists.txt +++ b/src/navigation/navigation-core/locationinput-plugin/CMakeLists.txt @@ -30,27 +30,10 @@ cmake_minimum_required(VERSION 2.8) message(STATUS "location-input") -include(FindPkgConfig) - -pkg_search_module(DBUS_CPP dbus-c++-glib-1 dbus-c++-1) -pkg_search_module(GLIB glib-2.0) -include_directories(${GLIB_INCLUDE_DIRS}) -include_directories(${DBUS_CPP_INCLUDE_DIRS}) - -include(${PRELOAD_CACHE_FOR_PLUGINS}) - -include_directories(${INCLUDE_DIRECTORIES}) -include_directories(.) -include_directories(${navit_SOURCE_DIR}/navit) -include_directories(${CMAKE_CURRENT_BINARY_DIR}) - -include_directories(${NAVIT_CONFIG_H_DIR}) # this one contains config.h that is generated - include_directories(${DBUS_GENERATED_INCLUDE_DIR}/navigation-core) -set(genivi_navigationcore_locationinput_LIBS ${DBUS_CPP_LDFLAGS}) - -include(${navit_SOURCE_DIR}/cmake/navit_macros.cmake) +set(genivi_navigationcore_locationinput_LIBS ${PLUGIN_LDFLAGS}) +set(genivi_navigationcore_locationinput_LIBRARY_DIRS ${PLUGIN_LIBRARIES}) -module_add_library(genivi_navigationcore_locationinput genivi_navigationcore_locationinput.cxx ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-locationinput_adaptor.h) +add_library_plugin(genivi_navigationcore_locationinput genivi_navigationcore_locationinput.cxx ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-locationinput_adaptor.h) diff --git a/src/navigation/navigation-core/mapmatchedposition-plugin/CMakeLists.txt b/src/navigation/navigation-core/mapmatchedposition-plugin/CMakeLists.txt index 806f2d3..94cea33 100644 --- a/src/navigation/navigation-core/mapmatchedposition-plugin/CMakeLists.txt +++ b/src/navigation/navigation-core/mapmatchedposition-plugin/CMakeLists.txt @@ -30,27 +30,10 @@ cmake_minimum_required(VERSION 2.8) message(STATUS "mapmatchedposition") -include(FindPkgConfig) - -pkg_search_module(DBUS_CPP dbus-c++-glib-1 dbus-c++-1) -pkg_search_module(GLIB glib-2.0) -include_directories(${GLIB_INCLUDE_DIRS}) -include_directories(${DBUS_CPP_INCLUDE_DIRS}) - -include(${PRELOAD_CACHE_FOR_PLUGINS}) - -include_directories(${INCLUDE_DIRECTORIES}) -include_directories(.) -include_directories(${navit_SOURCE_DIR}/navit) -include_directories(${CMAKE_CURRENT_BINARY_DIR}) - -include_directories(${NAVIT_CONFIG_H_DIR}) # this one contains config.h that is generated - include_directories(${DBUS_GENERATED_INCLUDE_DIR}/navigation-core) -set(genivi_navigationcore_mapmatchedposition_LIBS ${DBUS_CPP_LDFLAGS}) - -include(${navit_SOURCE_DIR}/cmake/navit_macros.cmake) +set(genivi_navigationcore_mapmatchedposition_LIBS ${PLUGIN_LDFLAGS}) +set(genivi_navigationcore_mapmatchedposition_LIBRARY_DIRS ${PLUGIN_LIBRARIES}) -module_add_library(genivi_navigationcore_mapmatchedposition genivi_navigationcore_mapmatchedposition.cxx ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-mapmatchedposition_adaptor.h) +add_library_plugin(genivi_navigationcore_mapmatchedposition genivi_navigationcore_mapmatchedposition.cxx ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-mapmatchedposition_adaptor.h) diff --git a/src/navigation/navigation-core/navit_genivi_navigationcore.xsl b/src/navigation/navigation-core/navit_genivi_navigationcore.xsl index db8790c..4d897e7 100644 --- a/src/navigation/navigation-core/navit_genivi_navigationcore.xsl +++ b/src/navigation/navigation-core/navit_genivi_navigationcore.xsl @@ -23,21 +23,21 @@ <xsl:template match="/config/plugins/plugin[1]" priority="1" > <xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy> <xsl:text>
 </xsl:text> - <plugin path="../../../navigation-core/configuration-plugin/.libs/libgenivi_navigationcore_configuration.so" ondemand="no"/> + <plugin path="../lib/libgenivi_navigationcore_configuration.so" ondemand="no"/> <xsl:text>
 </xsl:text> - <plugin path="../../../navigation-core/locationinput-plugin/.libs/libgenivi_navigationcore_locationinput.so" ondemand="no"/> + <plugin path="../lib/libgenivi_navigationcore_locationinput.so" ondemand="no"/> <xsl:text>
 </xsl:text> - <plugin path="../../../navigation-core/routing-plugin/.libs/libgenivi_navigationcore_routing.so" ondemand="no"/> + <plugin path="../lib/libgenivi_navigationcore_routing.so" ondemand="no"/> <xsl:text>
 </xsl:text> - <plugin path="../../../navigation-core/session-plugin/.libs/libgenivi_navigationcore_session.so" ondemand="no"/> + <plugin path="../lib/libgenivi_navigationcore_session.so" ondemand="no"/> <xsl:text>
 </xsl:text> - <plugin path="../../../navigation-core/guidance-plugin/.libs/libgenivi_navigationcore_guidance.so" ondemand="no"/> + <plugin path="../lib/libgenivi_navigationcore_guidance.so" ondemand="no"/> <xsl:text>
 </xsl:text> - <plugin path="../../../navigation-core/mapmatchedposition-plugin/.libs/libgenivi_navigationcore_mapmatchedposition.so" ondemand="no"/> + <plugin path="../lib/libgenivi_navigationcore_mapmatchedposition.so" ondemand="no"/> <xsl:text>
 </xsl:text> - <plugin path="../../../navigation-core/enhancedposition-plugin/.libs/libgenivi_positioning_enhancedposition.so" ondemand="no"/> + <plugin path="../lib/libgenivi_positioning_enhancedposition.so" ondemand="no"/> <xsl:text>
 </xsl:text> - <plugin path="../../poi-cam/.libs/libgenivi_poiservice_cam_navit.so" ondemand="no"/> + <plugin path="../lib/libgenivi_poiservice_cam_navit.so" ondemand="no"/> </xsl:template> <xsl:template match="/config/plugins/plugin"> <xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy> diff --git a/src/navigation/navigation-core/routing-plugin/CMakeLists.txt b/src/navigation/navigation-core/routing-plugin/CMakeLists.txt index a1cbf68..e94fd82 100644 --- a/src/navigation/navigation-core/routing-plugin/CMakeLists.txt +++ b/src/navigation/navigation-core/routing-plugin/CMakeLists.txt @@ -30,27 +30,10 @@ cmake_minimum_required(VERSION 2.8) message(STATUS "routing") -include(FindPkgConfig) - -pkg_search_module(DBUS_CPP dbus-c++-glib-1 dbus-c++-1) -pkg_search_module(GLIB glib-2.0) -include_directories(${GLIB_INCLUDE_DIRS}) -include_directories(${DBUS_CPP_INCLUDE_DIRS}) - -include(${PRELOAD_CACHE_FOR_PLUGINS}) - -include_directories(${INCLUDE_DIRECTORIES}) -include_directories(.) -include_directories(${navit_SOURCE_DIR}/navit) -include_directories(${CMAKE_CURRENT_BINARY_DIR}) - -include_directories(${NAVIT_CONFIG_H_DIR}) # this one contains config.h that is generated - include_directories(${DBUS_GENERATED_INCLUDE_DIR}/navigation-core) -set(genivi_navigationcore_routing_LIBS ${DBUS_CPP_LDFLAGS}) - -include(${navit_SOURCE_DIR}/cmake/navit_macros.cmake) +set(genivi_navigationcore_routing_LIBS ${PLUGIN_LDFLAGS}) +set(genivi_navigationcore_routing_LIBRARY_DIRS ${PLUGIN_LIBRARIES}) -module_add_library(genivi_navigationcore_routing genivi_navigationcore_routing.cxx ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-routing_adaptor.h) +add_library_plugin(genivi_navigationcore_routing genivi_navigationcore_routing.cxx ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-routing_adaptor.h) diff --git a/src/navigation/navigation-core/session-plugin/CMakeLists.txt b/src/navigation/navigation-core/session-plugin/CMakeLists.txt index fdcb8f1..118f20e 100644 --- a/src/navigation/navigation-core/session-plugin/CMakeLists.txt +++ b/src/navigation/navigation-core/session-plugin/CMakeLists.txt @@ -30,27 +30,10 @@ cmake_minimum_required(VERSION 2.8) message(STATUS "session") -include(FindPkgConfig) - -pkg_search_module(DBUS_CPP dbus-c++-glib-1 dbus-c++-1) -pkg_search_module(GLIB glib-2.0) -include_directories(${GLIB_INCLUDE_DIRS}) -include_directories(${DBUS_CPP_INCLUDE_DIRS}) - -include(${PRELOAD_CACHE_FOR_PLUGINS}) - -include_directories(${INCLUDE_DIRECTORIES}) -include_directories(.) -include_directories(${navit_SOURCE_DIR}/navit) -include_directories(${CMAKE_CURRENT_BINARY_DIR}) - -include_directories(${NAVIT_CONFIG_H_DIR}) # this one contains config.h that is generated - include_directories(${DBUS_GENERATED_INCLUDE_DIR}/navigation-core) -set(genivi_navigationcore_session_LIBS ${DBUS_CPP_LDFLAGS}) - -include(${navit_SOURCE_DIR}/cmake/navit_macros.cmake) +set(genivi_navigationcore_session_LIBS ${PLUGIN_LDFLAGS}) +set(genivi_navigationcore_session_LIBRARY_DIRS ${PLUGIN_LIBRARIES}) -module_add_library(genivi_navigationcore_session genivi_navigationcore_session.cxx ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-session_adaptor.h) +add_library_plugin(genivi_navigationcore_session genivi_navigationcore_session.cxx ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-session_adaptor.h) diff --git a/src/navigation/poi-cam/CMakeLists.txt b/src/navigation/poi-cam/CMakeLists.txt index 846dc4b..76ae7d6 100644 --- a/src/navigation/poi-cam/CMakeLists.txt +++ b/src/navigation/poi-cam/CMakeLists.txt @@ -32,10 +32,13 @@ message(STATUS "poi cam") include(FindPkgConfig) -pkg_search_module(DBUS_CPP dbus-c++-glib-1 dbus-c++-1) +pkg_search_module(DBUS_CPP_GLIB dbus-c++-glib-1) +pkg_search_module(DBUS_CPP dbus-c++-1) pkg_search_module(GLIB glib-2.0) + include_directories(${GLIB_INCLUDE_DIRS}) include_directories(${DBUS_CPP_INCLUDE_DIRS}) +include_directories(${DBUS_CPP_GLIB_INCLUDE_DIRS}) include(${PRELOAD_CACHE_FOR_PLUGINS}) @@ -48,7 +51,11 @@ include_directories(${NAVIT_CONFIG_H_DIR}) # this one contains config.h that is include_directories(${DBUS_GENERATED_INCLUDE_DIR}/poi-service) -set(genivi_poiservice_cam_navit_LIBS ${DBUS_CPP_LDFLAGS}) +set(PLUGIN_LDFLAGS ${DBUS_CPP_LDFLAGS} ${DBUS_CPP_GLIB_LDFLAGS} ${GLIB_LDFLAGS}) +set(PLUGIN_LIBRARIES ${DBUS_CPP_LIBRARY_DIRS} ${GLIB_LIBRARY_DIRS} ${DBUS_CPP_GLIB_DIRS}) + +set(genivi_poiservice_cam_navit_LIBS ${PLUGIN_LDFLAGS}) +set(genivi_poiservice_cam_navit_LIBRARY_DIRS ${PLUGIN_LIBRARIES}) add_definitions(-DPLUGIN=1) if(WITH_DEBUG) @@ -60,10 +67,6 @@ if(NOT DEFINED CMAKE_SUPPRESS_DEVELOPER_WARNINGS) set(CMAKE_SUPPRESS_DEVELOPER_WARNINGS 1 CACHE INTERNAL "No dev warnings") endif() -include(${PRELOAD_CACHE_FOR_PLUGINS}) - -include(${navit_SOURCE_DIR}/cmake/navit_macros.cmake) - -module_add_library(genivi_poiservice_cam_navit genivi_poiservice_cam_navit.cxx ${DBUS_GENERATED_INCLUDE_DIR}/poi-service/genivi-poiservice-poicontentaccess_proxy.h ${DBUS_GENERATED_INCLUDE_DIR}/poi-service/genivi-poiservice-contentaccessmodule_adaptor.h) +add_library_plugin(genivi_poiservice_cam_navit genivi_poiservice_cam_navit.cxx ${DBUS_GENERATED_INCLUDE_DIR}/poi-service/genivi-poiservice-poicontentaccess_proxy.h ${DBUS_GENERATED_INCLUDE_DIR}/poi-service/genivi-poiservice-contentaccessmodule_adaptor.h) diff --git a/src/navigation/run b/src/navigation/run index 980037a..3323181 100755 --- a/src/navigation/run +++ b/src/navigation/run @@ -89,21 +89,14 @@ enhpos=1 replayer=1 center="4612 N 0608 E" -# due to an issue with the make install (it fails for navit at the moment), the paths to the exe still need to be hard coded CUR_DIR=$PWD -BIN_DIR=$PWD/build +BIN_DIR=$CUR_DIR/bin SRC_DIR=$PWD -EnhancedPositionService_BIN_DIR=$BIN_DIR/positioning/enhanced-position-service/dbus/src -LogReplayer_BIN_DIR=$BIN_DIR/positioning/log-replayer/src -LogReplayer_logs_BIN_DIR=$BIN_DIR/positioning/log-replayer/logs -navit_BIN_DIR=$BIN_DIR/navit/navit/navit +LOGREPLAYER_LOGS_DIR=$SRC_DIR/positioning/log-replayer/logs -while getopts b:c:gnorx opt +while getopts c:gnorx opt do case $opt in - b) - BIN_DIR=$OPTARG - ;; c) case "$OPTARG" in paris) @@ -138,7 +131,7 @@ do ;; \?) echo "Usage:" - echo "$0 [-a application][-c center][-gnorx]" + echo "$0 [-c center][-gnorx]" echo "-c: Set center (supported values: paris,tokyo,longitude,latitude). Default is geneve" echo "-g: Run subprocesses within gdb (only with -x)" echo "-n: Don't start enhanced-position-service" @@ -150,21 +143,24 @@ do done trap "terminate" EXIT INT set -e + +cd $BIN_DIR + if [ "$enhpos" = 1 ] then - run EnhancedPositionService $EnhancedPositionService_BIN_DIR/enhanced-position-service + run EnhancedPositionService ./enhanced-position-service wait_for_service org.genivi.positioning.EnhancedPosition /org/genivi/positioning/EnhancedPosition if [ "$replayer" = 1 ] then if [ -z "$REPLAYER_LOG_FILE" ] then - REPLAYER_LOG_FILE=$LogReplayer_logs_BIN_DIR/geneve-cologny.log + REPLAYER_LOG_FILE=$LOGREPLAYER_LOGS_DIR/geneve-cologny.log fi - run LogReplayer $LogReplayer_BIN_DIR/log-replayer $REPLAYER_LOG_FILE + run LogReplayer ./log-replayer $REPLAYER_LOG_FILE fi fi -cd $navit_BIN_DIR + >bookmark.txt echo "$center" >center.txt diff --git a/src/poi-service/poi-server/CMakeLists.txt b/src/poi-service/poi-server/CMakeLists.txt index 6963918..38cf342 100644 --- a/src/poi-service/poi-server/CMakeLists.txt +++ b/src/poi-service/poi-server/CMakeLists.txt @@ -76,5 +76,3 @@ set(LIBRARIES ) target_link_libraries(poi-server ${LIBRARIES}) - -install(TARGETS poi-server DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) diff --git a/test/poi-service/poi-client/CMakeLists.txt b/test/poi-service/poi-client/CMakeLists.txt index 5a31e88..ff73602 100644 --- a/test/poi-service/poi-client/CMakeLists.txt +++ b/test/poi-service/poi-client/CMakeLists.txt @@ -186,8 +186,6 @@ set(LIBRARIES target_link_libraries(poi-client ${LIBRARIES}) -install(TARGETS poi-client DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) - file(GLOB FILES_TO_INSTALL "${CMAKE_CURRENT_BINARY_DIR}/*.qm" "${CMAKE_CURRENT_BINARY_DIR}/*.rcc") foreach(RAW_FILE ${FILES_TO_INSTALL}) diff --git a/test/poi-service/poi-contentaccess-module/CMakeLists.txt b/test/poi-service/poi-contentaccess-module/CMakeLists.txt index d901e39..d13b32f 100644 --- a/test/poi-service/poi-contentaccess-module/CMakeLists.txt +++ b/test/poi-service/poi-contentaccess-module/CMakeLists.txt @@ -200,8 +200,6 @@ set(LIBRARIES target_link_libraries(poi-contentaccess-module ${LIBRARIES}) -install(TARGETS poi-contentaccess-module DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) - file(GLOB FILES_TO_INSTALL "${CMAKE_CURRENT_BINARY_DIR}/*.qm" "${CMAKE_CURRENT_BINARY_DIR}/*.rcc") foreach(RAW_FILE ${FILES_TO_INSTALL}) diff --git a/test/poi-service/poi-supplier/CMakeLists.txt b/test/poi-service/poi-supplier/CMakeLists.txt index 0975e51..e262edf 100644 --- a/test/poi-service/poi-supplier/CMakeLists.txt +++ b/test/poi-service/poi-supplier/CMakeLists.txt @@ -68,5 +68,3 @@ set(LIBRARIES ) target_link_libraries(poi-supplier ${LIBRARIES}) - -install(TARGETS poi-supplier DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) |