blob: 7f93d58eedf695db432aff39e336d9777d9db256 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
###########################################################################
# @licence app begin@
# SPDX-License-Identifier: MPL-2.0
#
# Component Name: navigation
#
# Author: Philippe Colliot
#
# Copyright (C) 2014, PCA Peugeot Citroën
#
# 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@
###########################################################################
project(navigation)
cmake_minimum_required(VERSION 2.8)
message(STATUS "generation of DBus files for map-viewer")
find_program(XSLTPROC xsltproc REQUIRED)
find_program(DBUSXML2CPP dbusxx-xml2cpp REQUIRED)
set(cmake_create_dir cmake -E make_directory)
set(API_DIR ${CMAKE_CURRENT_SOURCE_DIR}/..)
execute_process(
WORKING_DIRECTORY ${API_DIR}
COMMAND ${cmake_create_dir} include
)
set(TARGET_GENERATED_API_DIR ${API_DIR}/include)
file (GLOB XML_TO_DBUS_PROXY
${CMAKE_CURRENT_SOURCE_DIR}/genivi-mapviewer-configuration.xml
${CMAKE_CURRENT_SOURCE_DIR}/genivi-mapviewer-mapviewercontrol.xml
${CMAKE_CURRENT_SOURCE_DIR}/genivi-mapviewer-session.xml
)
foreach (RAW_FILE ${XML_TO_DBUS_PROXY})
get_filename_component(FILE ${RAW_FILE} NAME_WE)
if(NOT EXISTS ${TARGET_GENERATED_API_DIR}/${FILE}_proxy.h)
execute_process(
COMMAND ${DBUSXML2CPP} ${RAW_FILE} --proxy=${TARGET_GENERATED_API_DIR}/${FILE}_proxy.h
)
else()
if(${RAW_FILE} IS_NEWER_THAN ${TARGET_GENERATED_API_DIR}/${FILE}_proxy.h)
execute_process(
COMMAND ${DBUSXML2CPP} ${RAW_FILE} --proxy=${TARGET_GENERATED_API_DIR}/${FILE}_proxy.h
)
endif()
endif()
endforeach()
file (GLOB XML_TO_DBUS_ADAPTOR
${CMAKE_CURRENT_SOURCE_DIR}/genivi-mapviewer-configuration.xml
${CMAKE_CURRENT_SOURCE_DIR}/genivi-mapviewer-mapviewercontrol.xml
${CMAKE_CURRENT_SOURCE_DIR}/genivi-mapviewer-session.xml
)
foreach (RAW_FILE ${XML_TO_DBUS_ADAPTOR})
get_filename_component(FILE ${RAW_FILE} NAME_WE)
if(NOT EXISTS ${TARGET_GENERATED_API_DIR}/${FILE}_adaptor.h)
execute_process(
COMMAND ${DBUSXML2CPP} ${RAW_FILE} --adaptor=${TARGET_GENERATED_API_DIR}/${FILE}_adaptor.h
)
else()
if(${RAW_FILE} IS_NEWER_THAN ${TARGET_GENERATED_API_DIR}/${FILE}_adaptor.h)
execute_process(
COMMAND ${DBUSXML2CPP} ${RAW_FILE} --adaptor=${TARGET_GENERATED_API_DIR}/${FILE}_adaptor.h
)
endif()
endif()
endforeach()
file (GLOB XML_TO_DBUS_CONSTANT
${CMAKE_CURRENT_SOURCE_DIR}/genivi-mapviewer-constants.xml
)
foreach (RAW_FILE ${XML_TO_DBUS_CONSTANT})
get_filename_component(FILE ${RAW_FILE} NAME_WE)
if(NOT EXISTS ${TARGET_GENERATED_API_DIR}/${FILE}.h)
execute_process(
OUTPUT_FILE ${TARGET_GENERATED_API_DIR}/${FILE}.h
COMMAND ${XSLTPROC} ${CMAKE_CURRENT_SOURCE_DIR}/enum.xsl ${RAW_FILE}
)
else()
if(${RAW_FILE} IS_NEWER_THAN ${TARGET_GENERATED_API_DIR}/${FILE}.h)
execute_process(
OUTPUT_FILE ${TARGET_GENERATED_API_DIR}/${FILE}.h
COMMAND ${XSLTPROC} ${CMAKE_CURRENT_SOURCE_DIR}/enum.xsl ${RAW_FILE}
)
endif()
endif()
endforeach()
|