updated changelog
[profile/ivi/genivi/genivi-audio-manager.git] / CMakeLists.txt
1 # Copyright (C) 2012, BMW AG
2 #
3 # This file is part of GENIVI Project AudioManager.
4
5 # Contributions are licensed to the GENIVI Alliance under one or more
6 # Contribution License Agreements.
7
8 # copyright
9 # This Source Code Form is subject to the terms of the
10 # Mozilla Public License, v. 2.0. If a  copy of the MPL was not distributed with
11 # this file, You can obtain one at http://mozilla.org/MPL/2.0/.
12
13 # author Christian Mueller, christian.ei.mueller@bmw.de BMW 2011,2012
14 #
15 # For further information see http://www.genivi.org/.
16 #
17
18
19 cmake_minimum_required(VERSION 2.6)
20 include(CMakeDependentOption)
21
22 execute_process(COMMAND git describe --tags WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 
23                 OUTPUT_VARIABLE DAEMONVERSION 
24                 OUTPUT_STRIP_TRAILING_WHITESPACE)           
25
26 IF (NOT DAEMONVERSION)
27     #Can be changed via passing -DVERSION="XXX" to cmake
28     IF(NOT DEFINED VERSION)
29         SET( DAEMONVERSION "homebrew-${CMAKE_SOURCE_DIR}" )
30     ELSE (NOT DEFINED VERSION)
31         SET( DAEMONVERSION "${VERSION}" )   
32     ENDIF(NOT DEFINED VERSION)
33 ELSE (NOT DAEMONVERSION)
34     STRING(REGEX REPLACE "(-)[^-]+$" "" DAEMONVERSION ${DAEMONVERSION})
35     STRING(REGEX REPLACE "-" "." DAEMONVERSION ${DAEMONVERSION})
36 ENDIF(NOT DAEMONVERSION)
37
38 message(STATUS "Build Version ${DAEMONVERSION}")
39
40 execute_process(COMMAND git log --pretty=short WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 
41                 OUTPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/CHANGELOG)
42         
43 PROJECT(AudioManagerDeamon)
44
45 message( STATUS "CMAKE_TOOLCHAIN_FILE='${CMAKE_TOOLCHAIN_FILE}'" )
46
47 FIND_PACKAGE(PkgConfig)
48
49 SET(WITH_ENABLED_IPC "CAPI" CACHE STRING "Disable 'NONE' / Enable Common-API 'CAPI' or Dbus 'DBUS' Support")
50
51 SET_PROPERTY(CACHE WITH_ENABLED_IPC PROPERTY STRINGS "NONE" "CAPI" "DBUS") 
52
53 OPTION( WITH_DLT 
54     "Enable automotive-DLT Support" ON )
55
56 OPTION( WITH_TESTS
57         "Build together with all available unitTest" ON )
58
59 OPTION( WITH_DOCUMENTATION
60         "Build together with Doxygen Documentation" OFF )
61
62 OPTION( WITH_PLUGIN_COMMAND
63         "Build command pluings" ON)
64
65 OPTION( WITH_PLUGIN_CONTROL
66         "Build control plugin" ON)
67
68 OPTION( WITH_PLUGIN_ROUTING
69         "Build routing pluings" ON)
70
71 OPTION( WITH_TELNET
72         "build with Telnetserver (can only work with SocketHandler)" ON)
73         
74 OPTION ( WITH_SYSTEMD_WATCHDOG
75     "build with systemD support & watchdog" OFF)
76         
77 OPTION ( USE_BUILD_LIBS
78         "build with default library path = build path" ON)
79         
80 OPTION ( GLIB_DBUS_TYPES_TOLERANT
81     "build dbus with tolerance towards glib 16bit/32bit handling" ON)
82
83 IF (WITH_ENABLED_IPC STREQUAL "NONE")
84    SET (ENABLE_NSM OFF)
85 ELSE  ()
86    SET (ENABLE_NSM ON)
87 ENDIF ()
88
89 CMAKE_DEPENDENT_OPTION(WITH_NSM "build with NSM support" ON
90                         "ENABLE_NSM" OFF)
91
92 OPTION ( WITH_NSM
93     "build with NSM support" ON)
94   
95  OPTION ( WITH_DATABASE_STORAGE
96     "build with sqlite as in memory storage" OFF)
97
98 OPTION ( COLORIZE_LOGS
99     "colorize logs if we log to stdout" OFF)
100
101 IF (COLORIZE_LOGS)
102     SET (COLORIZE_FLAGS -DCOLORIZE_LOGS)
103 ENDIF (COLORIZE_LOGS)
104
105 OPTION( WITH_DOMAIN_MANAGER
106         "Enable domain manager support" ON )
107
108 SET (WITH_COMMON_API_GEN ON CACHE INTERNAL "hide this!" FORCE)
109  
110 IF (WITH_ENABLED_IPC STREQUAL "DBUS")
111     SET (WITH_DBUS_WRAPPER ON CACHE INTERNAL "hide this!" FORCE)
112     SET (WITH_CAPI_WRAPPER OFF CACHE INTERNAL "hide this!" FORCE)
113 ELSEIF(WITH_ENABLED_IPC STREQUAL "CAPI")
114     SET (WITH_CAPI_WRAPPER ON CACHE INTERNAL "hide this!" FORCE)
115     SET (WITH_DBUS_WRAPPER OFF CACHE INTERNAL "hide this!" FORCE)
116     
117     MACRO(INSERT_DBUS_CONF_IF_NEEDED IN_PLACEHOLDER IN_SRC_DBUS_CONF OUT_DST_DBUS_CONF)
118         # Checks the variable in the template
119         if(NOT EXISTS ${CMAKE_SOURCE_DIR}/AudioManagerDaemon/fidls/AudioManager_dbus.conf.in )
120             FILE(WRITE ${CMAKE_SOURCE_DIR}/AudioManagerDaemon/fidls/AudioManager_dbus.conf.in 
121                        "################################################ CMAKE GENERATED #################################################")
122         endif( )
123         
124         FILE(READ ${CMAKE_SOURCE_DIR}/AudioManagerDaemon/fidls/AudioManager_dbus.conf.in DBUS_CONF_IN)
125         if( NOT DBUS_CONF_IN MATCHES ${IN_PLACEHOLDER} )
126             if( NOT DBUS_CONF_IN STREQUAL "" )
127                 FILE(APPEND ${CMAKE_SOURCE_DIR}/AudioManagerDaemon/fidls/AudioManager_dbus.conf.in "\r\n\r\n")
128             endif( )   
129             FILE(APPEND ${CMAKE_SOURCE_DIR}/AudioManagerDaemon/fidls/AudioManager_dbus.conf.in ${IN_PLACEHOLDER})
130         endif( )
131         # Reads out the common-api dbus configuration for the node state manager.
132         FILE(READ ${IN_SRC_DBUS_CONF} ${OUT_DST_DBUS_CONF})
133     ENDMACRO(INSERT_DBUS_CONF_IF_NEEDED) 
134     
135  ELSEIF(WITH_ENABLED_IPC STREQUAL "NONE")   
136     SET (WITH_CAPI_WRAPPER OFF CACHE INTERNAL "hide this!" FORCE)
137     SET (WITH_DBUS_WRAPPER OFF CACHE INTERNAL "hide this!" FORCE)
138 ENDIF ()
139     
140 IF (NOT WITH_DBUS_WRAPPER AND NOT WITH_CAPI_WRAPPER)
141     SET (WITH_NSM OFF)
142 ENDIF (NOT WITH_DBUS_WRAPPER AND NOT WITH_CAPI_WRAPPER)
143  
144 #Can be changed via passing -DDBUS_SERVICE_PREFIX="XXX" to cmake
145 IF(NOT DEFINED DBUS_SERVICE_PREFIX)
146         SET( DBUS_SERVICE_PREFIX "org.genivi.audiomanager\0")
147 ENDIF(NOT DEFINED DBUS_SERVICE_PREFIX)
148
149 #Can be changed via passing -DDBUS_SERVICE_OBJECT_PATH="XXX" to cmake
150 IF(NOT DEFINED DBUS_SERVICE_OBJECT_PATH)
151         SET( DBUS_SERVICE_OBJECT_PATH "/org/genivi/audiomanager\0" )
152 ENDIF(NOT DEFINED DBUS_SERVICE_OBJECT_PATH)
153
154 #Can be changed via passing -DDEFAULT_TELNETPORT="XXX" to cmake
155 IF(NOT DEFINED DEFAULT_TELNETPORT)
156         SET( DEFAULT_TELNETPORT 6080 )
157 ENDIF(NOT DEFINED DEFAULT_TELNETPORT)
158
159 #Can be changed via passing -DMAX_TELNETCONNECTIONS="XXX" to cmake
160 IF(NOT DEFINED MAX_TELNETCONNECTIONS)
161         SET( MAX_TELNETCONNECTIONS 3 )
162 ENDIF(NOT DEFINED MAX_TELNETCONNECTIONS)
163
164 #Can be changed via passing -DNSM_BUS_INTERFACE="XXX" to cmake
165 IF(NOT DEFINED NSM_BUS_INTERFACE)
166         SET( NSM_BUS_INTERFACE "org.genivi.NodeStateManager")
167 ENDIF(NOT DEFINED NSM_BUS_INTERFACE)
168
169 #Can be changed via passing -DNSM_PATH="XXX" to cmake
170 IF(NOT DEFINED NSM_PATH)
171         SET( NSM_PATH "/org/genivi/NodeStateManager")
172 ENDIF(NOT DEFINED NSM_PATH)
173
174 #Can be changed via passing -DNSM_INTERFACE="XXX" to cmake
175 IF(NOT DEFINED NSM_INTERFACE)
176         SET( NSM_INTERFACE "org.genivi.NodeStateManager.Consumer")
177 ENDIF(NOT DEFINED NSM_INTERFACE)
178
179 SET(PLUGINS_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin/plugins)
180 SET(LIB_INSTALL_SUFFIX "audioManager")
181
182 if(USE_BUILD_LIBS)
183         IF(NOT DEFINED DEFAULT_PLUGIN_COMMAND_DIR)
184                 SET(DEFAULT_PLUGIN_COMMAND_DIR "${PLUGINS_OUTPUT_PATH}/command")
185         ENDIF(NOT DEFINED DEFAULT_PLUGIN_COMMAND_DIR)   
186         IF(NOT DEFINED DEFAULT_PLUGIN_ROUTING_DIR)      
187                 SET(DEFAULT_PLUGIN_ROUTING_DIR "${PLUGINS_OUTPUT_PATH}/routing")
188         ENDIF(NOT DEFINED DEFAULT_PLUGIN_ROUTING_DIR)           
189         IF(NOT DEFINED CONTROLLER_PLUGIN)
190                 SET(CONTROLLER_PLUGIN "${PLUGINS_OUTPUT_PATH}/control/libPluginControlInterface.so")
191         ENDIF(NOT DEFINED CONTROLLER_PLUGIN)
192 else(USE_BUILD_LIBS)
193         IF(NOT DEFINED DEFAULT_PLUGIN_COMMAND_DIR)
194                 SET(DEFAULT_PLUGIN_COMMAND_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/${LIB_INSTALL_SUFFIX}/command")
195         ENDIF(NOT DEFINED DEFAULT_PLUGIN_COMMAND_DIR)
196         IF(NOT DEFINED DEFAULT_PLUGIN_ROUTING_DIR)
197                 SET(DEFAULT_PLUGIN_ROUTING_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/${LIB_INSTALL_SUFFIX}/routing")
198         ENDIF(NOT DEFINED DEFAULT_PLUGIN_ROUTING_DIR)
199         IF(NOT DEFINED CONTROLLER_PLUGIN)
200                 SET(CONTROLLER_PLUGIN "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/${LIB_INSTALL_SUFFIX}/control/libPluginControlInterface.so")
201         ENDIF(NOT DEFINED CONTROLLER_PLUGIN)
202 endif(USE_BUILD_LIBS)
203
204 IF(EXISTS "ProjectSpecific/")
205     SET(PROJECT_INCLUDE_FOLDER ${CMAKE_SOURCE_DIR}/ProjectSpecific/include)
206 endif(EXISTS "ProjectSpecific/")
207
208 SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
209 SET(AUDIO_INCLUDE_FOLDER ${CMAKE_SOURCE_DIR}/include)
210 SET(DOC_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/doc)
211 SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin)
212 SET(TEST_EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin/test)
213 SET(DOXY_PROTOTYPE ${CMAKE_SOURCE_DIR}/cmake/DoxyFile.in)
214 SET(DOXY_FILE ${CMAKE_CURRENT_BINARY_DIR}/DoxyFile)
215
216 CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/AudioManagerDaemon/docx/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/DoxyFile )
217
218 IF(WITH_DLT)    
219     pkg_check_modules(DLT REQUIRED automotive-dlt>=2.2.0)   
220 ENDIF(WITH_DLT)
221
222 IF(WITH_TESTS)  
223         add_subdirectory(googleMock)
224         set(GMOCK_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/googleMock/include")
225         set(GOOGLE_TEST_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/googleMock/gtest/include")
226 ENDIF(WITH_TESTS)
227
228 IF(WITH_DOCUMENTATION)
229         find_package(Doxygen)
230         configure_file(${DOXY_FILE}  ${DOC_OUTPUT_PATH}/Doxyfile  @ONLY IMMEDIATE)
231         configure_file("README.html" ${DOC_OUTPUT_PATH}/html/README.html)
232         add_custom_target (AudioManangerDoku ALL 
233                 COMMAND ${DOXYGEN_EXECUTABLE} ${DOC_OUTPUT_PATH}/Doxyfile WORKING_DIRECTORY ${DOC_OUTPUT_PATH}
234                 SOURCES ${CMAKE_SOURCE_DIR} ${DOC_OUTPUT_PATH}/Doxyfile
235         )
236 ENDIF(WITH_DOCUMENTATION)
237
238 ##global build flags set(CPACK_RPM_COMPONENT_INSTALL ON)
239 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -Wextra -std=gnu++0x -D_GNU_SOURCE -pedantic -Wno-variadic-macros -Wno-long-long ${COLORIZE_FLAGS}")
240 #set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -Wextra -std=c++98 -D_GNU_SOURCE")
241
242 set (CMAKE_DL_LIBS "${CMAKE_DL_LIBS} -lrt")
243
244 if(WITH_PLUGIN_COMMAND)
245     if(WITH_DBUS_WRAPPER)
246             add_subdirectory (PluginCommandInterfaceDbus)
247     elseif(WITH_CAPI_WRAPPER)       
248             add_subdirectory (PluginCommandInterfaceCAPI)
249     endif()    
250 endif(WITH_PLUGIN_COMMAND)
251
252 if(WITH_PLUGIN_ROUTING)
253         add_subdirectory (PluginRoutingInterfaceAsync)
254     if(WITH_DBUS_WRAPPER)
255             add_subdirectory (PluginRoutingInterfaceDbus)
256         elseif(WITH_CAPI_WRAPPER)           
257         add_subdirectory (PluginRoutingInterfaceCAPI)    
258         endif()    
259 endif(WITH_PLUGIN_ROUTING)
260
261 if(WITH_PLUGIN_CONTROL)
262         add_subdirectory (PluginControlInterface)
263         add_subdirectory (PluginControlInterfaceDbus)
264         add_subdirectory (PluginControlInterfaceMurphy)
265 endif(WITH_PLUGIN_CONTROL)
266
267 add_subdirectory (AudioManagerDaemon)
268
269
270 IF(EXISTS "${CMAKE_SOURCE_DIR}/ProjectSpecific/")
271     add_subdirectory (ProjectSpecific)
272 endif(EXISTS "${CMAKE_SOURCE_DIR}/ProjectSpecific/")
273
274 if(WITH_DOMAIN_MANAGER)
275         add_subdirectory (domain-manager)
276 endif(WITH_DOMAIN_MANAGER)
277
278 # uninstall target
279 configure_file(
280     "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
281     "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
282     IMMEDIATE @ONLY)
283
284 add_custom_target(uninstall
285     COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
286
287 # Here starts package creation
288 SET(CPACK_SET_DESTDIR ON)
289 SET(CPACK_OUTPUT_FILE_PREFIX ${CMAKE_SOURCE_DIR}/packages)
290 SET(CPACK_GENERATOR "DEB")
291 SET(CPACK_PACKAGE_NAME "AudioManager")
292 SET(CPACK_PACKAGE_VENDOR "GENIVI")
293 SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "AudioManager: This component manages audio in the GENIVI context")
294 SET(CPACK_PACKAGE_VERSION "${DAEMONVERSION}")
295 SET(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/LICENCE)
296 SET(CPACK_RESOURCE_FILE_README ${CMAKE_SOURCE_DIR}/README)
297 SET(CPACK_PACKAGE_CONTACT "Christian Linke(BMW) christian.linke@bmw.de")
298 SET(CPACK_PACKAGE_INSTALL_DIRECTORY "genivi")
299 SET(CPACK_DEBIAN_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR})
300 SET(CPACK_DEBIAN_PACKAGE_DEPENDS "*")
301 SET(CPACK_STRIP_FILES TRUE)
302 SET(CPACK_PACKAGE_DESCRIPTION_FILE ${CMAKE_SOURCE_DIR}/README)
303 SET(CPACK_SOURCE_GENERATOR "TGZ")
304 SET(CPACK_SOURCE_IGNORE_FILES ".settings*" ".cproject" "/\\\\.metadata" "\\\\.#" "/#" ".*~" "/\\\\.git" "${CMAKE_CURRENT_BINARY_DIR}" "bin/" "packages/" "config.h") 
305
306 IF(WITH_TESTS)
307         get_property(ADD_DEPEND GLOBAL PROPERTY tests_prop)
308         list(REMOVE_DUPLICATES ADD_DEPEND)
309         list(APPEND ALL_DEPEND ${ADD_DEPEND})
310         FOREACH (dep ${ADD_DEPEND})     
311                 SET(tests_DEPENDENCIES "${dep} ,${tests_DEPENDENCIES}")
312         ENDFOREACH(dep)
313         STRING(REGEX REPLACE ".$" "" tests_DEPENDENCIES ${tests_DEPENDENCIES})
314 ENDIF(WITH_TESTS)
315
316 #evaluate the properties
317 if(WITH_MAIN)
318 get_property(ADD_DEPEND GLOBAL PROPERTY bin_prop)
319 list(REMOVE_DUPLICATES ADD_DEPEND)
320 set(ALL_DEPEND ${ADD_DEPEND})
321 FOREACH (dep ${ADD_DEPEND})
322         SET(bin_DEPENDENCIES "${dep} ,${bin_DEPENDENCIES}")
323 ENDFOREACH(dep)
324 STRING(REGEX REPLACE ".$" "" bin_DEPENDENCIES ${bin_DEPENDENCIES})
325 endif(WITH_MAIN)
326
327 if(WITH_PLUGIN_COMMAND OR WITH_PLUGIN_CONTROL OR WITH_PLUGIN_ROUTING)
328 get_property(ADD_DEPEND GLOBAL PROPERTY sampleplugins_prop)
329 list(REMOVE_DUPLICATES ADD_DEPEND)
330 list(APPEND ALL_DEPEND ${ADD_DEPEND})
331 FOREACH (dep ${ADD_DEPEND})
332         SET(sampleplugins_DEPENDENCIES "${dep} ,${sampleplugins_DEPENDENCIES}")
333 ENDFOREACH(dep)
334 STRING(REGEX REPLACE ".$" "" sampleplugins_DEPENDENCIES ${sampleplugins_DEPENDENCIES})
335 endif(WITH_PLUGIN_COMMAND OR WITH_PLUGIN_CONTROL OR WITH_PLUGIN_ROUTING)
336
337 get_property(ADD_DEPEND GLOBAL PROPERTY dev_prop)
338 list(REMOVE_DUPLICATES ADD_DEPEND)
339 list(APPEND ALL_DEPEND ${ADD_DEPEND})
340 FOREACH (dep ${ADD_DEPEND})
341         SET(dev_DEPENDENCIES "${dep} ,${dev_DEPENDENCIES}")
342 ENDFOREACH(dep)
343 STRING(REGEX REPLACE ".$" "" dev_DEPENDENCIES ${dev_DEPENDENCIES})
344
345 list(REMOVE_DUPLICATES ALL_DEPEND)
346 list(REMOVE_ITEM ALL_DEPEND "audiomanager-bin")
347 FOREACH (dep ${ALL_DEPEND})
348         SET(all_DEPENDENCIES "${dep} ,${all_DEPENDENCIES}")
349 ENDFOREACH(dep)
350 STRING(REGEX REPLACE ".$" "" all_DEPENDENCIES ${all_DEPENDENCIES})
351 execute_process(COMMAND cp ${CMAKE_MODULE_PATH}/add_package_dependencies.sh ${CMAKE_CURRENT_BINARY_DIR})
352
353 #component based dep package generation is only supported above 2.8.5
354 IF (${CMAKE_VERSION} VERSION_GREATER 2.8.5)
355
356         SET(CPACK_COMPONENTS_ALL bin sampleplugins tests dev)
357         SET(CPACK_COMPONENTS_IGNORE_GROUPS 1)
358         SET(CPACK_DEB_COMPONENT_INSTALL ON)
359         ADD_CUSTOM_TARGET(genivi_package 
360                 COMMAND ${CMAKE_COMMAND} ${CMAKE_BINARY_DIR} -DUSE_BUILD_LIBS=OFF
361                 COMMAND make package
362                 COMMAND ${CMAKE_CURRENT_BINARY_DIR}/add_package_dependencies.sh ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-Linux-bin.deb ${CPACK_OUTPUT_FILE_PREFIX} \"${bin_DEPENDENCIES}\"
363                 COMMAND ${CMAKE_CURRENT_BINARY_DIR}/add_package_dependencies.sh ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-Linux-sampleplugins.deb ${CPACK_OUTPUT_FILE_PREFIX} \"${sampleplugins_DEPENDENCIES}\"
364                 COMMAND ${CMAKE_CURRENT_BINARY_DIR}/add_package_dependencies.sh ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-Linux-tests.deb ${CPACK_OUTPUT_FILE_PREFIX} \"${tests_DEPENDENCIES}\"
365                 COMMAND ${CMAKE_CURRENT_BINARY_DIR}/add_package_dependencies.sh ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-Linux-dev.deb ${CPACK_OUTPUT_FILE_PREFIX} \"${dev_DEPENDENCIES}\"
366         ) 
367 ELSE (${CMAKE_VERSION} VERSION_GREATER 2.8.5)
368         IF(${CMAKE_VERSION} VERSION_GREATER 2.8.3)
369                 ADD_CUSTOM_TARGET(genivi_package 
370                         COMMAND ${CMAKE_COMMAND} ${CMAKE_BINARY_DIR} -DUSE_BUILD_LIBS=OFF
371                         COMMAND make package
372                         COMMAND ${CMAKE_CURRENT_BINARY_DIR}A logical block opening on t/add_package_dependencies.sh ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-Linux.deb ${CPACK_OUTPUT_FILE_PREFIX} \"${all_DEPENDENCIES}\"
373                 )
374         ELSE(${CMAKE_VERSION} VERSION_GREATER 2.8.3)
375                 ADD_CUSTOM_TARGET(genivi_package 
376                         COMMAND ${CMAKE_COMMAND} ${CMAKE_BINARY_DIR} -DUSE_BUILD_LIBS=OFF
377                         COMMAND make package
378                         COMMAND mkdir -p ../${CPACK_OUTPUT_FILE_PREFIX}
379                         COMMAND mv ${CMAKE_CURRENT_BINARY_DIR}/${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-Linux.deb ${CPACK_OUTPUT_FILE_PREFIX}
380                         COMMAND ${CMAKE_CURRENT_BINARY_DIR}/add_package_dependencies.sh ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-Linux.deb ${CPACK_OUTPUT_FILE_PREFIX} \"${all_DEPENDENCIES}\"
381                 )
382         ENDIF(${CMAKE_VERSION} VERSION_GREATER 2.8.3)
383 ENDIF (${CMAKE_VERSION} VERSION_GREATER 2.8.5)
384
385 INCLUDE(CPack)
386
387