diff options
author | <philippe colliot> | 2015-06-03 14:53:24 +0200 |
---|---|---|
committer | <philippe colliot> | 2015-06-03 14:53:24 +0200 |
commit | 36a4e2bd00ac36c0631a70372ca4777fe74762ee (patch) | |
tree | 3459df704a1f0586452c30f3588a14b6586543ea /test/poi-service | |
parent | 67c03d54148e53ecdc2c8b1501d02e9bbb8612a8 (diff) | |
download | poi-service-36a4e2bd00ac36c0631a70372ca4777fe74762ee.tar.gz |
the poi-service code is migrated to a fully cmake based build
Diffstat (limited to 'test/poi-service')
18 files changed, 251 insertions, 391 deletions
diff --git a/test/poi-service/CMakeLists.txt b/test/poi-service/CMakeLists.txt index 1885b25..05acffe 100644 --- a/test/poi-service/CMakeLists.txt +++ b/test/poi-service/CMakeLists.txt @@ -17,59 +17,42 @@ ########################################################################### project(poi-service) cmake_minimum_required(VERSION 2.8) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") message(STATUS "poi-service") -find_program(GIT git) +option(WITH_FRANCA_INTERFACE + "Build using the Franca interfaces" OFF) +option(WITH_DBUS_INTERFACE + "Build using the D-Bus interfaces" ON) +option(WITH_DEBUG + "Enable the debug messages" OFF) -set (git_get_src_version ${GIT} rev-parse HEAD) -set (git_executable ${GIT}) +message(STATUS "WITH_FRANCA_INTERFACE = ${WITH_FRANCA_INTERFACE}") +message(STATUS "WITH_DBUS_INTERFACE = ${WITH_DBUS_INTERFACE}") +message(STATUS "WITH_DEBUG = ${WITH_DEBUG}") -# Check if positioning stuff with the right version has been cloned and do it if necessary -# positioning_SRC_DIR is set by cmake -Dpositioning_SRC_DIR=<path to positioning src dir> -set(positioning_URL http://git.projects.genivi.org/lbs/positioning.git) -set(positioning_VERSION 3a1254f9ac4f5e2d088d24598e76764874a40b99) +set(API_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../api") +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(POI_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../src") +set(COMMON_DIR "${CMAKE_CURRENT_SOURCE_DIR}/poi-common") +set(COMMON_DIR_POI_SERVER "${POI_SRC_DIR}/poi-service/poi-common") +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin) -if (EXISTS ${positioning_SRC_DIR}) - execute_process(COMMAND ${git_get_src_version} - WORKING_DIRECTORY "${positioning_SRC_DIR}" - RESULT_VARIABLE result - OUTPUT_VARIABLE version) - if (${version} MATCHES ${positioning_VERSION}) - message(STATUS "version of positioning up to date") - else() - message(STATUS "get the right version of positioning") - execute_process( - COMMAND "${git_executable}" pull - COMMAND "${git_executable}" checkout ${positioning_VERSION} - WORKING_DIRECTORY "${positioning_SRC_DIR}" - RESULT_VARIABLE error_code - ) - if(error_code) - message(FATAL_ERROR "Failed to checkout version: '${positioning_VERSION}'") - endif() - endif() -else() - message(STATUS "clone positioning") - execute_process( - COMMAND "${git_executable}" clone "${positioning_URL}" "${positioning_SRC_DIR}" - RESULT_VARIABLE error_code - ) - if(error_code) - message(FATAL_ERROR "Failed to clone repository: '${positioning_URL}'") - endif() +add_subdirectory(positioning) - message(STATUS "get the right version of positioning") - execute_process( - COMMAND "${git_executable}" pull - COMMAND "${git_executable}" checkout ${positioning_VERSION} - WORKING_DIRECTORY "${positioning_SRC_DIR}" - RESULT_VARIABLE error_code - ) - if(error_code) - message(FATAL_ERROR "Failed to checkout version: '${positioning_VERSION}'") - endif() -endif() +add_subdirectory(${API_DIR}/navigation-core "${DBUS_GENERATED_INCLUDE_DIR}/navigation-core") +add_subdirectory(${API_DIR}/map-viewer "${DBUS_GENERATED_INCLUDE_DIR}/map-viewer") +add_subdirectory(${API_DIR}/poi-service "${DBUS_GENERATED_INCLUDE_DIR}/poi-service") +add_subdirectory(${POI_SRC_DIR}/poi-service "${CMAKE_CURRENT_BINARY_DIR}/poi-service-src") + +add_subdirectory(poi-supplier) + +add_subdirectory(poi-client) + +add_subdirectory(poi-contentaccess-module) diff --git a/test/poi-service/README b/test/poi-service/README index e8b5356..0059d07 100644 --- a/test/poi-service/README +++ b/test/poi-service/README @@ -1,4 +1,4 @@ -Release date of the file: 26-02-2015 +Release date of the file: 02-06-2015 Status: OK Project: @@ -44,12 +44,41 @@ locale | grep 'LC_NUMERIC' # you must get LC_NUMERIC="en_US.UTF-8" +=============================== +Current versions of additional code +=============================== +<current version of positioning> (git): bf00492981d71fead8c0615fae59b73b03a4fbac + +=============================== +How to get additional code +=============================== +Get positioning: +git clone http://git.projects.genivi.org/lbs/positioning.git ./positioning +cd positioning +git checkout <current version of positioning> +cd ../ + +=============================== +How To Build +=============================== +(you're supposed to have got additional code before) + +Create and enter the build folder: +mkdir ./build +cd build + Build: -# Enter into the directory -cd $WORKING-DIR/navigation-service/test/poi-service/script -./build.sh make +cmake ../ +make +cd .. + +=============================== +How To Prepare the database and the configuration for a country +=============================== +To launch the stuff for Paris: +./prepare -c paris -Prepare databases, configure and run: +NB: As examples, three databases can be generated for Paris, Tokyo and San-Diego The input stuff is taken from the OSM, by using this site: http://www.overpass-api.de @@ -67,17 +96,15 @@ http://www.overpass-api.de/api/xapi?*[bbox=2.246304,48.814551,2.430325,48.901289 For Tokyo, the bounding box is 139.691048,35.631628,139.832497,35.738153 - -To launch the stuff for Paris: NB: In case you get such error message during runtime: D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open "/etc/machine-id": No such file or directory You need to fix it by: sudo su dbus-uuidgen > /etc/machine-id -./prepare -c paris -./run +=============================== +How To Run +=============================== -Clean up: -./kill-all +./run diff --git a/test/poi-service/script/kill-all b/test/poi-service/kill-all index 75032ad..75032ad 100755 --- a/test/poi-service/script/kill-all +++ b/test/poi-service/kill-all diff --git a/test/poi-service/lib/libgnss-service-use-replayer.so b/test/poi-service/lib/libgnss-service-use-replayer.so Binary files differnew file mode 100755 index 0000000..5984ec4 --- /dev/null +++ b/test/poi-service/lib/libgnss-service-use-replayer.so diff --git a/test/poi-service/lib/libsensors-service-use-replayer.so b/test/poi-service/lib/libsensors-service-use-replayer.so Binary files differnew file mode 100755 index 0000000..9d9800e --- /dev/null +++ b/test/poi-service/lib/libsensors-service-use-replayer.so diff --git a/test/poi-service/poi-client/CMakeLists.txt b/test/poi-service/poi-client/CMakeLists.txt index 36ebd51..5a31e88 100644 --- a/test/poi-service/poi-client/CMakeLists.txt +++ b/test/poi-service/poi-client/CMakeLists.txt @@ -21,7 +21,6 @@ cmake_minimum_required(VERSION 2.8) message(STATUS "poi-client") find_package(PkgConfig REQUIRED) -find_program(XSLTPROC xsltproc REQUIRED) find_program(QTUIC uic REQUIRED) find_program(QTMOC moc REQUIRED) find_program(QTLRELEASE lrelease REQUIRED) @@ -32,12 +31,6 @@ pkg_check_modules(QT5_DBUS REQUIRED Qt5DBus) pkg_check_modules(QT5_WIDGETS REQUIRED Qt5Widgets) pkg_check_modules(QT5_GUI REQUIRED Qt5Gui) -include_directories(${CMAKE_CURRENT_BINARY_DIR}) -include_directories(${QT5_CORE_INCLUDE_DIRS}) -include_directories(${QT5_DBUS_INCLUDE_DIRS}) -include_directories(${QT5_WIDGETS_INCLUDE_DIRS}) -include_directories(${QT5_GUI_INCLUDE_DIRS}) - set(cmake_create_dir cmake -E make_directory) #settings for Qt @@ -54,29 +47,10 @@ set(qt_uic ${QTUIC} -o) set(qt_release ${QTLRELEASE}) set(qt_rcc ${QTRCC} -binary) -set(API_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../api) -set(TARGET_GENERATED_API_DIR ${API_DIR}/include) - -file(GLOB DBUS_DEF_INCLUDE ${TARGET_GENERATED_API_DIR}/*-constants.h) -include_directories(${positioning_API}) - -link_directories( - ${QT5_CORE_LIBRARY_DIRS} - ${QT5_DBUS_LIBRARY_DIRS} - ${QT5_WIDGETS_LIBRARY_DIRS} - ${QT5_GUI_LIBRARY_DIRS} -) - -set(LIBRARIES - ${QT5_CORE_LIBRARIES} - ${QT5_DBUS_LIBRARIES} - ${QT5_WIDGETS_LIBRARIES} - ${QT5_GUI_LIBRARIES} -) - # for some reason, automoc doesn't run, so moc is made manually -file (GLOB SRC_TO_MOC ${CMAKE_CURRENT_SOURCE_DIR}/mainwindow.h - ${CMAKE_CURRENT_SOURCE_DIR}/about-dialog.h +file (GLOB SRC_TO_MOC + ${CMAKE_CURRENT_SOURCE_DIR}/mainwindow.h + ${CMAKE_CURRENT_SOURCE_DIR}/about-dialog.h ${CMAKE_CURRENT_SOURCE_DIR}/poi-client-DBusSearchInterface.h ${CMAKE_CURRENT_SOURCE_DIR}/poi-client-DBusRoutingInterface.h ${CMAKE_CURRENT_SOURCE_DIR}/poi-client-DBusGuidanceInterface.h @@ -85,10 +59,13 @@ file (GLOB SRC_TO_MOC ${CMAKE_CURRENT_SOURCE_DIR}/mainwindow.h ${CMAKE_CURRENT_SOURCE_DIR}/poi-client-DBusContentAccessInterface.h ${CMAKE_CURRENT_SOURCE_DIR}/poi-client-DBusConfigurationInterface.h ) + execute_process( + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" COMMAND ${cmake_create_dir} ${MOC} ) -foreach (RAW_FILE ${SRC_TO_MOC}) + +foreach(RAW_FILE ${SRC_TO_MOC}) get_filename_component(FILE ${RAW_FILE} NAME_WE) if(NOT EXISTS ${MOC_DIR}/moc_${FILE}.cpp) execute_process( @@ -105,11 +82,11 @@ endforeach() file(GLOB MOC_SOURCES ${MOC_DIR}/moc_*.cpp) #generate ui files -file (GLOB DEF_TO_UIC ${CMAKE_CURRENT_SOURCE_DIR}/mainwindow.ui - ${CMAKE_CURRENT_SOURCE_DIR}/about-dialog.ui +file (GLOB DEF_TO_UIC + ${CMAKE_CURRENT_SOURCE_DIR}/mainwindow.ui + ${CMAKE_CURRENT_SOURCE_DIR}/about-dialog.ui ) - -foreach (RAW_FILE ${DEF_TO_UIC}) +foreach(RAW_FILE ${DEF_TO_UIC}) get_filename_component(FILE ${RAW_FILE} NAME_WE) if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/ui_${FILE}.h) execute_process( @@ -126,47 +103,66 @@ endforeach() file(GLOB UI_FILES ${CMAKE_CURRENT_BINARY_DIR}/ui_*.h) #generate qm files -set(COMMON_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../poi-common) -file (GLOB TS_TO_RELEASE ${COMMON_DIR}/poi-client_en.ts - ${COMMON_DIR}/poi-client_jp.ts +file (GLOB TS_TO_RELEASE + ${COMMON_DIR}/poi-client_en.ts + ${COMMON_DIR}/poi-client_jp.ts ) -foreach (RAW_FILE ${TS_TO_RELEASE}) - get_filename_component(FILE ${RAW_FILE} NAME_WE) - if(NOT EXISTS ${COMMON_DIR}/${FILE}.qm) - execute_process( - OUTPUT_FILE ${COMMON_DIR}/${FILE}.qm - COMMAND ${qt_release} ${RAW_FILE} - ) - else() - if(${RAW_FILE} IS_NEWER_THAN ${COMMON_DIR}/${FILE}.qm) - execute_process( - OUTPUT_FILE ${COMMON_DIR}/${FILE}.qm - COMMAND ${qt_release} ${RAW_FILE} - ) - endif() - endif() +foreach(RAW_FILE ${TS_TO_RELEASE}) + get_filename_component(FILE ${RAW_FILE} NAME_WE) + if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.qm) + execute_process( + COMMAND ${qt_release} ${RAW_FILE} -qm ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.qm + ) + else() + if(${RAW_FILE} IS_NEWER_THAN ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.qm) + execute_process( + COMMAND ${qt_release} ${RAW_FILE} -qm ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.qm + ) + endif() + endif() endforeach() #generate resource file -get_filename_component(FILE ${COMMON_DIR}/poi-resource.qrc NAME_WE) -if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/../${FILE}.rcc) +get_filename_component(FILE ${COMMON_DIR}/poi-client-resource.qrc NAME_WE) +if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.rcc) execute_process( - OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/../${FILE}.rcc - COMMAND ${qt_rcc} ${COMMON_DIR}/poi-resource.qrc + OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.rcc + COMMAND ${qt_rcc} ${COMMON_DIR}/poi-client-resource.qrc ) else() - if(${COMMON_DIR}/poi-resource.qrc IS_NEWER_THAN ${CMAKE_CURRENT_BINARY_DIR}/../${FILE}.rcc) + if(${COMMON_DIR}/poi-client-resource.qrc IS_NEWER_THAN ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.rcc) execute_process( - OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/../${FILE}.rcc - COMMAND ${qt_rcc} ${COMMON_DIR}/poi-resource.qrc + OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.rcc + COMMAND ${qt_rcc} ${COMMON_DIR}/poi-client-resource.qrc ) endif() endif() +include_directories( + ${CMAKE_CURRENT_SOURCE_DIR} + ${COMMON_DIR} + ${COMMON_DIR_POI_SERVER} + ${CMAKE_CURRENT_BINARY_DIR} + ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core + ${DBUS_GENERATED_INCLUDE_DIR}/map-viewer + ${DBUS_GENERATED_INCLUDE_DIR}/poi-service + ${DBUS_GENERATED_INCLUDE_DIR_POSITIONING} + ${QT5_CORE_INCLUDE_DIRS} + ${QT5_DBUS_INCLUDE_DIRS} + ${QT5_WIDGETS_INCLUDE_DIRS} + ${QT5_GUI_INCLUDE_DIRS} +) + +link_directories( + ${QT5_CORE_LIBRARY_DIRS} + ${QT5_DBUS_LIBRARY_DIRS} + ${QT5_WIDGETS_LIBRARY_DIRS} + ${QT5_GUI_LIBRARY_DIRS} +) + add_executable(poi-client ${MOC_SOURCES} - ${DBUS_DEF_INCLUDE} ${UI_FILES} main.cpp mainwindow.cpp @@ -178,21 +174,25 @@ add_executable(poi-client poi-client-DBusNavigationCoreSessionInterface.cpp poi-client-DBusContentAccessInterface.cpp poi-client-DBusConfigurationInterface.cpp - ../poi-common/poi-marshal-handler.cpp - mainwindow.h - poi-client-config.h - about-dialog.h - poi-client-DBusSearchInterface.h - poi-client-DBusRoutingInterface.h - poi-client-DBusGuidanceInterface.h - poi-client-DBusEnhancedPositionInterface.h - poi-client-DBusNavigationCoreSessionInterface.h - poi-client-DBusContentAccessInterface.h - poi-client-DBusConfigurationInterface.h - ../poi-common/poi-marshal-handler.h - ../poi-common/poi-common-types.h + ${COMMON_DIR}/poi-marshal-handler.cpp +) + +set(LIBRARIES + ${QT5_CORE_LIBRARIES} + ${QT5_DBUS_LIBRARIES} + ${QT5_WIDGETS_LIBRARIES} + ${QT5_GUI_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}) + add_custom_command(TARGET poi-client + POST_BUILD + COMMAND cp ${RAW_FILE} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + ) +endforeach() diff --git a/test/poi-service/poi-client/main.cpp b/test/poi-service/poi-client/main.cpp index c7aafaa..7ef2adc 100644 --- a/test/poi-service/poi-client/main.cpp +++ b/test/poi-service/poi-client/main.cpp @@ -77,19 +77,24 @@ int main(int argc, char *argv[]) mainWindow.settingsMapHeightInMeter = settings.value("MapHeightInMeter").toUInt(); mainWindow.settingsTimerPeriodForPosition = settings.value("TimerPeriodForPosition").toInt(); - if (QResource::registerResource("../poi-resource.rcc") && translator.load("poi-client_"+ mainWindow.settingsHMIlanguage,"../../poi-common/")) + if (translator.load("poi-client_"+ mainWindow.settingsHMIlanguage)) { - app.installTranslator(&translator); + if (QResource::registerResource("poi-client-resource.rcc","./")) + { + app.installTranslator(&translator); - //init ui - mainWindow.InitUi(); + //init ui + mainWindow.InitUi(); - mainWindow.show(); + mainWindow.show(); - QDBusConnection connection = QDBusConnection::sessionBus(); + QDBusConnection connection = QDBusConnection::sessionBus(); - return app.exec(); + return app.exec(); + } + else + return(-1); } else return(-1); diff --git a/test/poi-service/poi-client/mainwindow.h b/test/poi-service/poi-client/mainwindow.h index d40c176..dbf3a19 100644 --- a/test/poi-service/poi-client/mainwindow.h +++ b/test/poi-service/poi-client/mainwindow.h @@ -37,10 +37,10 @@ #include <QListWidgetItem> #include <QGraphicsScene> #include <QGraphicsEllipseItem> -#include "../../positioning/enhanced-position-service/api/include/genivi-positioning-constants.h" -#include "../../../api/include/genivi-mapviewer-constants.h" -#include "../../../api/include/genivi-navigationcore-constants.h" -#include "../../../api/include/genivi-poiservice-constants.h" +#include "positioning-constants.h" +#include "genivi-mapviewer-constants.h" +#include "genivi-navigationcore-constants.h" +#include "genivi-poiservice-constants.h" #include "poi-client-DBusSearchInterface.h" #include "poi-client-DBusContentAccessInterface.h" diff --git a/test/poi-service/poi-common/poi-cam-resource.qrc b/test/poi-service/poi-common/poi-cam-resource.qrc new file mode 100644 index 0000000..49648e8 --- /dev/null +++ b/test/poi-service/poi-common/poi-cam-resource.qrc @@ -0,0 +1,8 @@ +<RCC> + <qresource prefix="/new/image"> + <file>psa.jpg</file> + <file>GENIVI_Black_Logo-no_background.png</file> + <file>magasin.jpg</file> + <file>poi-content-access-module.png</file> + </qresource> +</RCC> diff --git a/test/poi-service/poi-common/poi-resource.qrc b/test/poi-service/poi-common/poi-client-resource.qrc index af7b51d..c0b41fb 100644 --- a/test/poi-service/poi-common/poi-resource.qrc +++ b/test/poi-service/poi-common/poi-client-resource.qrc @@ -1,9 +1,9 @@ <RCC> <qresource prefix="/new/image"> - <file>magasin.jpg</file> <file>psa.jpg</file> <file>GENIVI_Black_Logo-no_background.png</file> <file>poi-client.png</file> + <file>magasin.jpg</file> <file>poi-content-access-module.png</file> </qresource> <qresource prefix="/new/text"> diff --git a/test/poi-service/poi-contentaccess-module/CMakeLists.txt b/test/poi-service/poi-contentaccess-module/CMakeLists.txt index d604781..d901e39 100644 --- a/test/poi-service/poi-contentaccess-module/CMakeLists.txt +++ b/test/poi-service/poi-contentaccess-module/CMakeLists.txt @@ -21,8 +21,6 @@ cmake_minimum_required(VERSION 2.8) message(STATUS "poi-contentaccess-module") find_package(PkgConfig REQUIRED) -find_program(XSLTPROC xsltproc REQUIRED) -find_program(DBUSXML2CPP dbusxx-xml2cpp REQUIRED) find_program(QTUIC uic REQUIRED) find_program(QTMOC moc REQUIRED) find_program(QTLRELEASE lrelease REQUIRED) @@ -44,7 +42,7 @@ pkg_check_modules(QT5_GUI REQUIRED Qt5Gui) set(cmake_create_dir cmake -E make_directory) #settings for Qt -set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${QT5_EXECUTABLE_COMPILE_FLAGS} -std=gnu++11) +set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${QT5_EXECUTABLE_COMPILE_FLAGS}) set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) add_definitions(${QT5_CORE_DEFINITIONS}) @@ -57,22 +55,18 @@ set(qt_uic ${QTUIC} -o) set(qt_release ${QTLRELEASE}) set(qt_rcc ${QTRCC}) -set(API_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../api) -set(TARGET_GENERATED_API_DIR ${API_DIR}/include) -set(PRJ_SRC_PATH .) -set(PRJ_COMMON_SRC_PATH ../../../src/poi-service/poi-common) - -file(GLOB DBUS_DEF_INCLUDE ${TARGET_GENERATED_API_DIR}/*_proxy.h ${TARGET_GENERATED_API_DIR}/*_adaptor.h ${TARGET_GENERATED_API_DIR}/*-constants.h) - #common files shared with poi server -file(GLOB PRJ_COMMON_SRCS ${PRJ_COMMON_SRC_PATH}/*.cpp) +file(GLOB PRJ_COMMON_SRCS ${COMMON_DIR_POI_SERVER}/*.cpp) # for some reason, automoc doesn't run, so moc is made manually file(GLOB SRC_TO_MOC ${CMAKE_CURRENT_SOURCE_DIR}/mainwindow.h ) + execute_process( + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" COMMAND ${cmake_create_dir} ${MOC} ) + foreach(RAW_FILE ${SRC_TO_MOC}) get_filename_component(FILE ${RAW_FILE} NAME_WE) if(NOT EXISTS ${MOC_DIR}/moc_${FILE}.cpp) @@ -92,7 +86,7 @@ file(GLOB MOC_SOURCES ${MOC_DIR}/moc_*.cpp) #generate ui files file(GLOB DEF_TO_UIC ${CMAKE_CURRENT_SOURCE_DIR}/mainwindow.ui ) -foreach (RAW_FILE ${DEF_TO_UIC}) +foreach(RAW_FILE ${DEF_TO_UIC}) get_filename_component(FILE ${RAW_FILE} NAME_WE) if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/ui_${FILE}.h) execute_process( @@ -109,47 +103,49 @@ endforeach() file(GLOB UI_FILES ${CMAKE_CURRENT_BINARY_DIR}/ui_*.h) #generate qm files -set(COMMON_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../poi-common) -file(GLOB TS_TO_RELEASE ${COMMON_DIR}/poi-contentaccess-module_en.ts - ${COMMON_DIR}/poi-contentaccess-module_jp.ts +file(GLOB TS_TO_RELEASE + ${COMMON_DIR}/poi-contentaccess-module_en.ts + ${COMMON_DIR}/poi-contentaccess-module_jp.ts ) foreach(RAW_FILE ${TS_TO_RELEASE}) get_filename_component(FILE ${RAW_FILE} NAME_WE) - if(NOT EXISTS ${COMMON_DIR}/${FILE}.qm) + if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.qm) execute_process( - OUTPUT_FILE ${COMMON_DIR}/${FILE}.qm - COMMAND ${qt_release} ${RAW_FILE} + COMMAND ${qt_release} ${RAW_FILE} -qm ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.qm ) else() - if(${RAW_FILE} IS_NEWER_THAN ${COMMON_DIR}/${FILE}.qm) + if(${RAW_FILE} IS_NEWER_THAN ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.qm) execute_process( - OUTPUT_FILE ${COMMON_DIR}/${FILE}.qm - COMMAND ${qt_release} ${RAW_FILE} + COMMAND ${qt_release} ${RAW_FILE} -qm ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.qm ) endif() endif() endforeach() #generate resource file -get_filename_component(FILE ${COMMON_DIR}/poi-resource.qrc NAME_WE) -if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/../${FILE}.rcc) +get_filename_component(FILE ${COMMON_DIR}/poi-cam-resource.qrc NAME_WE) +if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.rcc) execute_process( - OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/../${FILE}.rcc - COMMAND ${qt_rcc} ${COMMON_DIR}/poi-resource.qrc + OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.rcc + COMMAND ${qt_rcc} ${COMMON_DIR}/poi-cam-resource.qrc ) else() - if(${COMMON_DIR}/poi-resource.qrc IS_NEWER_THAN ${CMAKE_CURRENT_BINARY_DIR}/../${FILE}.rcc) + if(${COMMON_DIR}/poi-cam-resource.qrc IS_NEWER_THAN ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.rcc) execute_process( - OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/../${FILE}.rcc - COMMAND ${qt_rcc} ${COMMON_DIR}/poi-resource.qrc + OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.rcc + COMMAND ${qt_rcc} ${COMMON_DIR}/poi-cam-resource.qrc ) endif() endif() include_directories( - ${PRJ_SRC_PATH} - ${PRJ_COMMON_SRC_PATH} + ${CMAKE_CURRENT_SOURCE_DIR} + ${COMMON_DIR} + ${COMMON_DIR_POI_SERVER} ${CMAKE_CURRENT_BINARY_DIR} + ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core + ${DBUS_GENERATED_INCLUDE_DIR}/map-viewer + ${DBUS_GENERATED_INCLUDE_DIR}/poi-service ${DBUS_CPP_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS} ${SQLITE3_INCLUDE_DIRS} @@ -181,12 +177,10 @@ link_directories( add_executable(poi-contentaccess-module ${MOC_SOURCES} - ${DBUS_DEF_INCLUDE} ${UI_FILES} - poi-contentaccess-module-class.h main.cpp - ${PRJ_COMMON_SRCS} mainwindow.cpp + ${PRJ_COMMON_SRCS} ) set(LIBRARIES @@ -205,3 +199,14 @@ 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}) + add_custom_command(TARGET poi-contentaccess-module + POST_BUILD + COMMAND cp ${RAW_FILE} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + ) +endforeach() diff --git a/test/poi-service/poi-contentaccess-module/main.cpp b/test/poi-service/poi-contentaccess-module/main.cpp index 7061eb0..720d786 100644 --- a/test/poi-service/poi-contentaccess-module/main.cpp +++ b/test/poi-service/poi-contentaccess-module/main.cpp @@ -870,9 +870,9 @@ int main(int argc , char** argv ) QApplication a(argc, argv); QTranslator translator; - if (QResource::registerResource("../poi-resource.rcc")) + if (QResource::registerResource("poi-client-resource.rcc","./")) { - if (translator.load("poi-contentaccess-module_"+ language,"../../poi-common/")) + if (translator.load("poi-contentaccess-module_"+ language)) { a.installTranslator(&translator); MainWindow mainWindow; diff --git a/test/poi-service/poi-contentaccess-module/poi-contentaccess-module-class.h b/test/poi-service/poi-contentaccess-module/poi-contentaccess-module-class.h index 19342ab..bd36deb 100644 --- a/test/poi-service/poi-contentaccess-module/poi-contentaccess-module-class.h +++ b/test/poi-service/poi-contentaccess-module/poi-contentaccess-module-class.h @@ -29,9 +29,9 @@ #define POICONTENTACCESSMODULECLASS_H -#include "../../../api/include/genivi-poiservice-constants.h" -#include "../../../api/include/genivi-poiservice-contentaccessmodule_adaptor.h" -#include "../../../api/include/genivi-poiservice-poicontentaccess_proxy.h" +#include "genivi-poiservice-constants.h" +#include "genivi-poiservice-contentaccessmodule_adaptor.h" +#include "genivi-poiservice-poicontentaccess_proxy.h" #include "poi-common-dbus-data-model.h" #include <dbus-c++/glib-integration.h> diff --git a/test/poi-service/poi-supplier/CMakeLists.txt b/test/poi-service/poi-supplier/CMakeLists.txt index 8533735..0975e51 100644 --- a/test/poi-service/poi-supplier/CMakeLists.txt +++ b/test/poi-service/poi-supplier/CMakeLists.txt @@ -29,16 +29,12 @@ pkg_check_modules(GOBJECT gobject-2.0) pkg_check_modules(XML2 libxml-2.0) pkg_check_modules(XMLCPP libxml++-2.6) -set(PRJ_SRC_PATH .) -set(PRJ_COMMON_SRC_PATH ../../../src/poi-service/poi-common) - #common files shared with poi server -file(GLOB PRJ_COMMON_SRCS ${PRJ_COMMON_SRC_PATH}/*.cpp) +file(GLOB PRJ_COMMON_SRCS ${COMMON_DIR_POI_SERVER}/*.cpp) include_directories( - ${PRJ_SRC_PATH} - ${PRJ_COMMON_SRC_PATH} - ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR} + ${COMMON_DIR_POI_SERVER} ${GLIB_INCLUDE_DIRS} ${SQLITE3_INCLUDE_DIRS} ${GLIBMM_INCLUDE_DIRS} @@ -59,8 +55,6 @@ link_directories( add_executable(poi-supplier main.cpp raw-file-sort.cpp - raw-file-sort.h - poi-datamodel.h ${PRJ_COMMON_SRCS} ) @@ -75,4 +69,4 @@ set(LIBRARIES target_link_libraries(poi-supplier ${LIBRARIES}) - +install(TARGETS poi-supplier DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) diff --git a/test/poi-service/script/prepare b/test/poi-service/prepare index 221019c..b7ffadd 100755 --- a/test/poi-service/script/prepare +++ b/test/poi-service/prepare @@ -25,10 +25,12 @@ # <date>, <name>, <description of change> # # @licence end@ + CURDIR=$PWD -ROOT_DIR=$CURDIR/.. + +ROOT_DIR=$CURDIR BIN_DIR=$ROOT_DIR/bin -EXE_DIR=$BIN_DIR +SCRIPT_DIR=$ROOT_DIR/script CONFIG_DIR=$HOME"/.config/poi-service" CHK_DIR_EXISTS='test -d' MKDIR='mkdir -p' @@ -71,7 +73,7 @@ do done echo 'generate the databases' -./make-database $city +$SCRIPT_DIR/make-database $city echo 'set the config file' if [ ! -d $CONFIG_DIR ] @@ -79,10 +81,10 @@ then echo create config directory mkdir -p $CONFIG_DIR fi -CONFIG_FILE=$ROOT_DIR/script/$city/poi-client.conf +CONFIG_FILE=$SCRIPT_DIR/$city/poi-client.conf cp $CONFIG_FILE $CONFIG_DIR/poi-client.conf echo 'set the language for the content access module' -rm -rf $EXE_DIR/language.txt -echo "$language" > $EXE_DIR/language.txt +rm -rf $BIN_DIR/language.txt +echo "$language" > $BIN_DIR/language.txt diff --git a/test/poi-service/script/run b/test/poi-service/run index ede1d10..015caea 100755 --- a/test/poi-service/script/run +++ b/test/poi-service/run @@ -26,39 +26,33 @@ # # @licence end@ -echo '------------------------start the proof of concept------------------------' CURDIR=$PWD -ROOT_DIR=$CURDIR/.. + +ROOT_DIR=$CURDIR BIN_DIR=$ROOT_DIR/bin -EXE_DIR=$BIN_DIR -COMPONENT_EXE_DIR=$ROOT_DIR/../../src/poi-service/bin/poi-server -COMPONENT_SCRIPT_DIR=$ROOT_DIR/../../src/poi-service/script -MAIN_DATABASE=$EXE_DIR/'poi-database.db' -ADDITIONAL_DATABASE=$EXE_DIR/'poi-database-additional.db' +POI_SERVER_BIN_DIR=$ROOT_DIR/../../src/poi-service/bin +MAIN_DATABASE=poi-database.db +ADDITIONAL_DATABASE=poi-database-additional.db + +echo '------------------------start the proof of concept------------------------' echo 'kill orphan process if necessary' $CURDIR/kill-all echo 'run' -if [ ! -f $COMPONENT_EXE_DIR/poi-server ] -then - echo 'no poi-server, do ./build.sh first' - exit -fi - -if [ ! -f $MAIN_DATABASE ] +if [ ! -f $BIN_DIR/$MAIN_DATABASE ] then echo 'no database available, do ./prepare <name of city> first' exit fi -read language <$EXE_DIR/language.txt +read language <$BIN_DIR/language.txt echo $language -cd $EXE_DIR/poi-contentaccess-module/ +cd $BIN_DIR ./poi-contentaccess-module -f $ADDITIONAL_DATABASE -i $language & -cd $COMPONENT_EXE_DIR/ -./poi-server -f $MAIN_DATABASE & -cd $EXE_DIR/poi-client/ +cd $POI_SERVER_BIN_DIR +./poi-server -f $BIN_DIR/$MAIN_DATABASE & +cd $BIN_DIR ./poi-client & diff --git a/test/poi-service/script/build.sh b/test/poi-service/script/build.sh deleted file mode 100755 index b1725f1..0000000 --- a/test/poi-service/script/build.sh +++ /dev/null @@ -1,160 +0,0 @@ -#!/bin/bash - -########################################################################### -# @licence app begin@ -# SPDX-License-Identifier: MPL-2.0 -# -# Component Name: poi-service -# Author: Philippe Colliot <philippe.colliot@mpsa.com> -# -# Copyright (C) 2013-2014, PCA Peugeot Citroen -# -# License: -# 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/. -# -# @licence end@ -########################################################################### -TOP_DIR=$PWD/.. -TOP_BIN_DIR=$TOP_DIR/bin - -POI_COMMON=poi-common -POI_COMMON_SRC_DIR=$TOP_DIR/$POI_COMMON - -POI_CLIENT=poi-client -POI_CLIENT_SRC_DIR=$TOP_DIR/$POI_CLIENT -POI_CLIENT_BIN_DIR=$TOP_BIN_DIR/$POI_CLIENT - -POI_CONTENTACCESS_MODULE=poi-contentaccess-module -POI_CONTENTACCESS_MODULE_SRC_DIR=$TOP_DIR/$POI_CONTENTACCESS_MODULE -POI_CONTENTACCESS_MODULE_BIN_DIR=$TOP_BIN_DIR/$POI_CONTENTACCESS_MODULE - -POI_SUPPLIER=poi-supplier -POI_SUPPLIER_SRC_DIR=$TOP_DIR/$POI_SUPPLIER -POI_SUPPLIER_BIN_DIR=$TOP_BIN_DIR/$POI_SUPPLIER - -NAVIGATION_SERVICE_API_DIR=$TOP_DIR/../../api - -POI_SERVER_TOP_DIR=$TOP_DIR/../../src/poi-service -POI_SERVER_SRC_DIR=$POI_SERVER_TOP_DIR/poi-server -POI_SERVER_BIN_DIR=$POI_SERVER_TOP_DIR/bin -POI_SERVER_SCRIPT_DIR=$POI_SERVER_TOP_DIR/script -POI_SERVER_BUILD_SCRIPT=./build.sh - -API_DIR=$TOP_DIR/../../api - -NAVIGATION_CORE=navigation-core -MAP_VIEWER=map-viewer -POI_SERVICE=poi-service - -POSITIONING=positioning -target_positioning=$PWD/../$POSITIONING #by default -POSITIONING_SRC_DIR=$target_positioning -ENHANCED_POSITION_SERVICE=enhanced-position-service -ENHANCED_POSITION_SERVICE_API_DIR=$POSITIONING_SRC_DIR/$ENHANCED_POSITION_SERVICE/api -ENHANCED_POSITION_SERVICE_GENERATED_API_DIR=$ENHANCED_POSITION_SERVICE_API_DIR/include - - -#-------------------------------------------------------------------------- -# Compiler Flags -#-------------------------------------------------------------------------- -# modify the following flags as needed: - -#-------------------------------------------------------------------------- - -usage() { - echo "Usage: ./build.sh [command]" - echo - echo "command:" - echo " make Build" - echo " clean Clean" - echo " src-clean Clean the cloned sources" - echo " clone Clone the sources" - echo " help Print Help" - echo - echo -} - -clone() { - echo '' - echo 'Clone/update version of additional sources if needed' - cd $TOP_DIR - cmake -Dpositioning_SRC_DIR=$target_positioning $TOP_DIR -} - -build() { - echo '' - echo 'Building poi-service' - - echo 'Generate DBus include files for navigation, mapviewer and poiservice' - cd $API_DIR - mkdir -p include - cd $API_DIR/$NAVIGATION_CORE && cmake . - cd $API_DIR/$MAP_VIEWER && cmake . - cd $API_DIR/$POI_SERVICE && cmake . - - echo 'Generate DBus include files for positioning' - cd $ENHANCED_POSITION_SERVICE_API_DIR - cmake . - - cd - echo 'Check and build poi-server if needed' - cd $POI_SERVER_SCRIPT_DIR - bash $POI_SERVER_BUILD_SCRIPT make - - cd $TOP_DIR - mkdir -p bin - - cd $TOP_BIN_DIR - mkdir -p $POI_CLIENT - cd $POI_CLIENT_BIN_DIR - cmake -Dpositioning_API=$ENHANCED_POSITION_SERVICE_GENERATED_API_DIR $POI_CLIENT_SRC_DIR && make - - cd $TOP_BIN_DIR - mkdir -p $POI_SUPPLIER - cd $POI_SUPPLIER_BIN_DIR - cmake $POI_SUPPLIER_SRC_DIR && make - - cd $TOP_BIN_DIR - mkdir -p $POI_CONTENTACCESS_MODULE - cd $POI_CONTENTACCESS_MODULE_BIN_DIR - cmake $POI_CONTENTACCESS_MODULE_SRC_DIR && make - -} - -clean() { - cd $POI_SERVER_SCRIPT_DIR && bash $POI_SERVER_BUILD_SCRIPT clean - echo 'delete' $TOP_BIN_DIR - rm -rf $TOP_BIN_DIR - echo 'delete qm generated files' - rm -f $POI_COMMON_SRC_DIR/*.qm -} - -src-clean() { - echo 'delete' $POSITIONING_SRC_DIR - rm -rf $POSITIONING_SRC_DIR - clean -} - - -set -e - -if [ $# -ge 1 ]; then - if [ $1 = help ]; then - usage - elif [ $1 = make ]; then - build - elif [ $1 = clean ]; then - clean - elif [ $1 = src-clean ]; then - src-clean - elif [ $1 = clone ]; then - clone - else - usage - fi -else - usage -fi - diff --git a/test/poi-service/script/make-database b/test/poi-service/script/make-database index 81a274b..2c12efb 100755 --- a/test/poi-service/script/make-database +++ b/test/poi-service/script/make-database @@ -27,9 +27,11 @@ # @licence end@ CURDIR=$PWD -ROOT_DIR=$CURDIR/.. +ROOT_DIR=$CURDIR BIN_DIR=$ROOT_DIR/bin -EXE_DIR=$BIN_DIR/poi-supplier +SCRIPT_DIR=$ROOT_DIR/script +echo "script dir" $SCRIPT_DIR + CHK_DIR_EXISTS='test -d' MKDIR='mkdir -p' @@ -40,7 +42,7 @@ if [ $# -eq 0 ] fi #folder that contains the downloaded poi files -POI_FILES_DIR=$ROOT_DIR/script/$1 +POI_FILES_DIR=$SCRIPT_DIR/$1 FUEL_FILE=$POI_FILES_DIR/'fuel-station.xml' MUSEUM_AND_HOTEL_FILE=$POI_FILES_DIR/'museum-and-hotel.xml' @@ -74,20 +76,20 @@ fi echo 'clean up' rm -f $BIN_DIR/*.db echo 'create empty databases' -cp poi-database-empty $MAIN_DATABASE -cp poi-database-empty $ADDITIONAL_DATABASE -cp poi-database-empty $MANAGED_DATABASE +cp $SCRIPT_DIR/poi-database-empty $MAIN_DATABASE +cp $SCRIPT_DIR/poi-database-empty $ADDITIONAL_DATABASE +cp $SCRIPT_DIR/poi-database-empty $MANAGED_DATABASE echo 'create the main database for the poi-client' -sqlite3 $MAIN_DATABASE < create-scheme.sql -sqlite3 $MAIN_DATABASE < populate-database.sql -$EXE_DIR/poi-supplier -p $MAIN_DATABASE $FUEL_FILE primary=amenity secondary=fuel, -$EXE_DIR/poi-supplier -p $MAIN_DATABASE $MUSEUM_AND_HOTEL_FILE primary=tourism secondary=museum,hotel, -$EXE_DIR/poi-supplier -p $MAIN_DATABASE $STATION_FILE primary=railway secondary=station, +sqlite3 $MAIN_DATABASE < $SCRIPT_DIR/create-scheme.sql +sqlite3 $MAIN_DATABASE < $SCRIPT_DIR/populate-database.sql +$BIN_DIR/poi-supplier -p $MAIN_DATABASE $FUEL_FILE primary=amenity secondary=fuel, +$BIN_DIR/poi-supplier -p $MAIN_DATABASE $MUSEUM_AND_HOTEL_FILE primary=tourism secondary=museum,hotel, +$BIN_DIR/poi-supplier -p $MAIN_DATABASE $STATION_FILE primary=railway secondary=station, echo 'create the additional database for the poi-content-access-client' -sqlite3 $ADDITIONAL_DATABASE < create-scheme.sql -sqlite3 $ADDITIONAL_DATABASE < populate-database-additional.sql -$EXE_DIR/poi-supplier -p $ADDITIONAL_DATABASE $BICYCLE_FILE primary=shop secondary=bicycle, +sqlite3 $ADDITIONAL_DATABASE < $SCRIPT_DIR/create-scheme.sql +sqlite3 $ADDITIONAL_DATABASE < $SCRIPT_DIR/populate-database-additional.sql +$BIN_DIR/poi-supplier -p $ADDITIONAL_DATABASE $BICYCLE_FILE primary=shop secondary=bicycle, echo 'create the ready to use database for the poi-manager-client' -sqlite3 $MANAGED_DATABASE < create-scheme.sql -sqlite3 $MANAGED_DATABASE < populate-database.sql +sqlite3 $MANAGED_DATABASE < $SCRIPT_DIR/create-scheme.sql +sqlite3 $MANAGED_DATABASE < $SCRIPT_DIR/populate-database.sql |