68be9f94e6325f986656fb188127b2b0ed2e680b
[profile/ivi/navit.git] / navit / CMakeLists.txt
1 project(navit)
2
3 cmake_minimum_required(VERSION 2.6)
4 cmake_policy(VERSION 2.6)
5
6 set(PACKAGE_VERSION "0.5.0")
7 set(PACKAGE_NAME "navit-svn")
8 set(PACKAGE "navit")
9 set(PACKAGE_STRING "${PACKAGE} ${PACKAGE_VERSION}")
10
11 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
12 include("${PROJECT_SOURCE_DIR}/cmake/navit_macros.cmake")
13
14 IF(NOT CMAKE_BUILD_TYPE)
15    SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
16 ENDIF(NOT CMAKE_BUILD_TYPE)
17
18 # install path
19 set(BIN_DIR bin)
20 set(SHARE_DIR share/navit)
21 set(LOCALE_DIR share)
22 set(IMAGE_DIR share/navit/xpm)
23 set(LIB_DIR lib)
24
25 ### Detect environment
26
27 add_plugin(support/ezxml "native Glib found" FALSE)
28 add_plugin(support/glib "native Glib found" FALSE)
29 add_plugin(support/zlib "native zlib found" FALSE)
30 add_plugin(support/libpng "native libpng found" FALSE)
31 add_plugin(support/wordexp "native wordexp found" FALSE)
32 add_module(font/freetype "freetype not found" FALSE)
33 add_module(graphics/android "FreeType library not found" FALSE)
34 add_module(graphics/gd "FreeType library not found" FALSE)
35 add_module(graphics/gtk_drawing_area "FreeType library not found" FALSE)
36 add_module(graphics/opengl "FreeType library not found" FALSE)
37 add_module(graphics/sdl "FreeType library not found" FALSE)
38 add_module(graphics/qt_qpainter "Qt libraries not found" FALSE)
39 add_module(gui/qml "Qt Declarative not found" FALSE)
40 add_module(gui/gtk "GTK libs not found" FALSE)
41 add_module(vehicle/gpsd "gpsd lib not found" FALSE)
42 add_module(vehicle/gypsy "gypsy lib not found" FALSE)
43 add_module(binding/dbus "dbus-glib-1 not found" FALSE)
44 add_module(speech/dbus "dbus-glib-1 not found" FALSE)
45 add_module(vehicle/gpsd_dbus "dbus-glib-1 not found" FALSE)
46 add_module(speech/speech_dispatcher "speech_dispatcher lib not found" FALSE)
47
48 INCLUDE (CPack)
49 INCLUDE (CheckIncludeFiles)
50 INCLUDE (CheckLibraryExists)
51 INCLUDE (CheckFunctionExists)
52 find_package(Glib)
53 find_package(Gmodule)
54 find_package(ZLIB)
55 find_package(Freetype)
56 find_package(SDL)
57 find_package(SDL_ttf)
58 find_package(SDL_image)
59 find_package(OpenGL)
60 find_package(GLUT)
61 find_package(GTK2 2.6 COMPONENTS gtk)
62 find_package(Gettext)
63 find_package(PNG)
64 find_package(DBusGLib)
65 find_package(OpenSSL)
66 libfind_pkg_check_modules(FONTCONFIG fontconfig)
67 #Qt detection
68 SET(QT_USE_QTSVG TRUE)
69 SET(QT_USE_QTXML TRUE)
70 SET(QT_USE_QTDECLARATIVE TRUE)
71 find_package(Qt4 COMPONENTS QtCore QtGui QtXml QtDeclarative QtSvg OPTIONAL)
72 #pkg-config based detection
73 find_package(PkgConfig)
74 if(PKG_CONFIG_FOUND)
75    pkg_check_modules(QUESOGLC quesoglc)
76    pkg_check_modules(LIBGPSD libgpsd)
77 endif(PKG_CONFIG_FOUND)
78 #Simple checks
79 CHECK_INCLUDE_FILES(wordexp.h HAVE_WORDEXP)
80 CHECK_INCLUDE_FILES(stdint.h HAVE_STDINT_H)
81 CHECK_INCLUDE_FILES(byteswap.h HAVE_BYTESWAP_H)
82 CHECK_LIBRARY_EXISTS(gypsy gypsy_control_get_default "" GYPSY_FOUND)
83 CHECK_INCLUDE_FILES(libspeechd.h HAVE_LIBSPEECHD)
84
85 ### Configure build
86 #Required libraries, supplied with navit
87 if (Glib_FOUND)
88    set(HAVE_GLIB 1)
89    include_directories(${Glib_INCLUDE_DIRS})
90    list(APPEND NAVIT_LIBS ${Glib_LIBRARIES})
91 else(Glib_FOUND)
92    set_with_reason(support/glib "Glib not found" TRUE)
93 endif(Glib_FOUND)
94 if (Gmodule_FOUND)
95    set(HAVE_GMODULE 1)
96    include_directories(${Gmodule_INCLUDE_DIRS})
97    list(APPEND NAVIT_LIBS ${Gmodule_LIBRARIES})
98 endif(Gmodule_FOUND)
99 if(ZLIB_FOUND)
100    set(HAVE_ZLIB 1)
101    include_directories(${ZLIB_INCLUDE_DIRS})
102    list(APPEND NAVIT_LIBS ${ZLIB_LIBRARIES})
103 else(ZLIB_FOUND)
104    message(STATUS "using internal zlib")
105    set_with_reason(support/zlib "native zlib missing" TRUE)
106 endif(ZLIB_FOUND)
107 if(OPENSSL_CRYPTO_LIBRARIES)
108    set(HAVE_LIBCRYPTO 1)
109    include_directories(${OPENSSL_INCLUDE_DIR})
110    list(APPEND NAVIT_LIBS ${OPENSSL_CRYPTO_LIBRARIES})
111 endif()
112 if(PNG_FOUND)
113    set(HAVE_PNG 1)
114 #   include_directories(${PNG_INCLUDE_DIRS})
115 #   list(APPEND NAVIT_LIBS ${PNG_LIBRARY})
116 else(PNG_FOUND)
117    message(STATUS "using internal libpng")
118    set_with_reason(support/libpng "native libpng missing" TRUE)
119 endif(PNG_FOUND)
120 if (NOT HAVE_WORDEXP)
121    message(STATUS "wordexp.h not found. use internal wordexp")
122    set_with_reason(support/wordexp "native wordexp missing" TRUE)
123 endif()
124 if (NOT Glib_FOUND)
125    set_with_reason(support/ezxml "Glib not found" TRUE)
126    add_definitions(-DEZXML_NOMMAP)
127 endif()
128
129 if(FREETYPE_FOUND)
130    include_directories(${FREETYPE_INCLUDE_DIRS})
131    set_with_reason(font/freetype "freetype found" TRUE "${FREETYPE_LIBRARY};${FONTCONFIG_LIBRARIES}")
132    add_subdirectory( "${CMAKE_CURRENT_SOURCE_DIR}/navit/fonts")
133 else(FREETYPE_FOUND)
134    MESSAGE("No freetype library found, graphics modules may not be available")
135    set_with_reason(graphics/android "FreeType library not found" FALSE)
136    set_with_reason(graphics/gd "FreeType library not found" FALSE)
137    set_with_reason(graphics/gtk_drawing_area "FreeType library not found" FALSE)
138    set_with_reason(graphics/opengl "FreeType library not found" FALSE)
139    set_with_reason(graphics/sdl "FreeType library not found" FALSE)
140 endif(FREETYPE_FOUND)
141
142 if(FONTCONFIG_FOUND)
143    set(HAVE_FONTCONFIG 1)
144 endif(FONTCONFIG_FOUND)
145
146 if (QT_FOUND)
147    if (QT_QTCORE_FOUND AND QT_QTGUI_FOUND AND FREETYPE_FOUND)
148       include(${QT_USE_FILE})
149       set_with_reason(graphics/qt_qpainter "Qt libraries found" TRUE ${QT_LIBRARIES})
150
151       if (QT_QTDECLARATIVE_FOUND AND QT_QTXML_FOUND)
152          set_with_reason(gui/qml "Qt Declarative found" TRUE ${QT_LIBRARIES})
153       endif()
154
155       if (QT_QTSVG_FOUND)
156          set(HAVE_QT_SVG 1)
157       elseif( USE_SVG AND graphics/qt_qpainter)
158          message( WARNING "QT compiled without SVG support")
159       endif()
160    endif()
161 endif(QT_FOUND)
162
163 if(GTK2_FOUND)
164    include_directories(${GTK2_INCLUDE_DIRS})
165    set(HAVE_GTK2 1)
166    set_with_reason(gui/gtk "GTK libs found" TRUE ${GTK2_LIBRARIES})
167    if(FREETYPE_FOUND)
168       set_with_reason(graphics/gtk_drawing_area "GTK libs found" TRUE ${GTK2_LIBRARIES})
169    endif(FREETYPE_FOUND)
170 endif(GTK2_FOUND)
171
172 CHECK_LIBRARY_EXISTS(freeimage FreeImage_Load "" FREEIMAGE_FOUND)
173 if (QUESOGLC_FOUND AND FREETYPE_FOUND)
174    if (OPENGL_FOUND AND OPENGL_GLU_FOUND AND OPENGL_INCLUDE_DIR AND FREEIMAGE_FOUND)
175       message (STATUS "opengl found: ${OPENGL_gl_LIBRARY}")
176       include_directories(${OPENGL_INCLUDE_DIR})
177       set_with_reason(graphics/opengl "Found OpenGL and Quesoglc" TRUE ${OPENGL_gl_LIBRARY};${OPENGL_glu_LIBRARY};${GLUT_glut_LIBRARY};freeimage)
178    else()
179       message (STATUS "opengl not found")
180    endif()
181 else()
182    message (STATUS "no glc implementation found. Install Quesoglc for OpenGL support")
183 endif(QUESOGLC_FOUND AND FREETYPE_FOUND)
184
185 if(SDL_FOUND AND SDLIMAGE_FOUND AND FREETYPE_FOUND)
186    set(SDL_IMAGE 1)
187    if(SDLTTF_FOUND)
188       set(SDL_TTF 1)
189       list(APPEND SDL_LIBRARY ${SDLTTF_LIBRARY})
190    endif(SDLTTF_FOUND)
191    set_with_reason(graphics/sdl "SDL/SDL_image libs found" TRUE ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY})
192 endif(SDL_FOUND AND SDLIMAGE_FOUND AND FREETYPE_FOUND)
193
194 if (HAVE_LIBGPS)
195    set_with_reason(vehicle/gpsd "gpsd lib found" TRUE)
196 endif(HAVE_LIBGPS)
197
198 if (GYPSY_FOUND)
199    set_with_reason(vehicle/gypsy "gypsy lib found" TRUE)
200 endif(GYPSY_FOUND)
201
202 if(DBusGLib_FOUND)
203    include_directories(${DBusGLib_INCLUDE_DIRS})
204    set_with_reason(binding/dbus "dbus-glib-1 found" TRUE ${DBusGLib_LIBRARIES})
205    set_with_reason(speech/dbus "dbus-glib-1 found" TRUE ${DBusGLib_LIBRARIES})
206    set_with_reason(vehicle/gpsd_dbus "dbus-glib-1 found" TRUE ${DBusGLib_LIBRARIES})
207 endif()
208
209 if (HAVE_LIBSPEECHD)
210    set_with_reason(speech/speech_dispatcher "speech_dispatcher lib found" TRUE speechd)
211 endif(HAVE_LIBSPEECHD)
212
213 #Independent modules
214 add_module(graphics/null "Default" TRUE)
215 add_module(osd/core "Default" TRUE)
216 add_module(vehicle/demo "Default" TRUE)
217 add_module(vehicle/file "Default" TRUE)
218 add_module(vehicle/null "Default" FALSE)
219 add_module(gui/internal "Default" TRUE)
220 add_module(map/binfile "Default" TRUE)
221 add_module(map/filter "Default" TRUE)
222 add_module(map/mg "Default" TRUE)
223 add_module(map/shapefile "Default" TRUE)
224 add_module(map/textfile "Default" TRUE)
225 add_module(map/csv "Default" TRUE)
226 add_module(speech/cmdline "Default" TRUE)
227
228 #Modules without test yet
229 add_module(plugin/pedestrian "Default" FALSE)
230 add_module(speech/android "Default" FALSE)
231 add_module(speech/espeak "Default" FALSE)
232 add_plugin(support/espeak "Default" FALSE)
233 add_module(vehicle/android "Default" FALSE)
234 add_module(vehicle/iphone "Default" FALSE)
235 add_module(vehicle/maemo "Default" FALSE)
236 add_module(vehicle/wince "Default" FALSE)
237
238 # other features
239 add_feature(USE_PLUGINS "default" TRUE)
240 add_feature(SHARED_LIBNAVIT "default" FALSE)
241 add_feature(USE_ROUTING "default" TRUE)
242 add_feature(USE_SVG "default" TRUE)
243 add_feature(SVG2PNG "default" TRUE)
244 add_feature(SAMPLE_MAP "default" TRUE)
245
246 IF(NOT svg2png_scaling)
247    set(svg2png_scaling 32 48 96)
248 ENDIF()
249 IF(NOT svg2png_scaling_flag)
250    set(svg2png_scaling_flag 32 48 96)
251 ENDIF()
252 IF(NOT svg2png_scaling_nav)
253    set(svg2png_scaling_nav 32 48 96)
254 ENDIF()
255
256 add_feature(DBUS_USE_SYSTEM_BUS "default" FALSE)
257 add_feature(BUILD_MAPTOOL "default" TRUE)
258 add_feature(XSL_PROCESSING "default" TRUE)
259
260 ### Platform specific settings
261 if(WIN32 OR WINCE)
262    SET(CMAKE_EXECUTABLE_SUFFIX ".exe")
263    add_module(graphics/win32 "Windows detected" TRUE)
264    add_plugin(support/win32 "Windows detected" TRUE)
265
266    set_with_reason(support/ezxml "Windows detected" TRUE)
267    set_with_reason(speech/espeak "Windows detected" TRUE)
268    set_with_reason(support/espeak "Windows detected" TRUE)
269
270    # vehicle_file is broken for windows. use vehicle_wince instead
271    # whicle_wince isn't buildable on non-CE windows ssytems
272
273    # plugins currently not supported on windows
274    set_with_reason(USE_PLUGINS "win32: currently not supported" FALSE)
275
276    set(HAVE_API_WIN32_BASE 1)
277
278    # Image stuff
279    if(NOT graphics/qt_qpainter)
280       set_with_reason(USE_SVG "win32: SVGs currently not supported" FALSE)
281    else(NOT graphics/qt_qpainter)
282       MESSAGE(STATUS "win32: SVGs may not be supported by every available graphics")
283    endif(NOT graphics/qt_qpainter)
284
285    set(BIN_DIR ./)
286    set(SHARE_DIR ./)
287    set(LOCALE_DIR ./)
288    set(IMAGE_DIR xpm)
289
290
291    if(HAVE_GTK2 AND NOT MSVC)
292       #GTK requires special compile flags
293       add_definitions("-mms-bitfields")
294    endif(HAVE_GTK2 AND NOT MSVC)
295    if(MSVC AND support/espeak)
296       add_definitions(-DPLATFORM_WINDOWS)
297    endif(MSVC AND support/espeak)
298    set(ENABLE_NLS TRUE)
299    add_plugin(intl_cmake "windows detected" TRUE)
300    set(USE_LIBGNUINTL TRUE)
301 endif()
302 if (WIN32)
303    set(HAVE_API_WIN32 1)
304    list(APPEND NAVIT_LIBS winmm)
305 endif()
306 if(WINCE)
307    add_plugin(support/libc "wince detected" TRUE)
308    set(HAVE_API_WIN32_CE 1)
309    set(BUILD_MAPTOOL FALSE)
310    set_with_reason(vehicle/file "wince: currently broken" FALSE)
311 endif()
312
313 set(LOCALEDIR "${LOCALE_DIR}/locale")
314
315 find_program(BZCAT NAMES bzcat)
316 if (SAMPLE_MAP)
317    if(CMAKE_CROSSCOMPILING)
318       cfg_feature(SAMPLE_MAP "downloading binary map because of cross compiling" TRUE)
319    elseif(NOT BZCAT)
320       cfg_feature(SAMPLE_MAP "downloading binary map because of missing bzcat" TRUE)
321    endif(CMAKE_CROSSCOMPILING)
322 endif(SAMPLE_MAP)
323
324 find_program(SAXON NAMES saxon saxon8 saxon-xslt)
325 if(NOT SAXON)
326    cfg_feature(XSL_PROCESSING "Saxon missing" FALSE)
327 endif()
328
329 if(ANDROID)
330    find_program(ANDROID_LOCATION NAMES android android.bat)
331    find_program(ANT_LOCATION NAMES ant)
332    if (NOT ANT_LOCATION)
333       message_error("Could not find ant. Please install ant and add it to the search path.")
334    endif()
335    if (NOT ANDROID_LOCATION)
336       message_error( "Could not find 'Android SDK and AVD Manager'. Please install the android sdk and add the <android-sdk>/tools directory to the search path.")
337    endif()
338    if (NOT XSL_PROCESSING)
339       message(WARNING "XSLT processing disabled. You have to configure navit.xml yourself, or enable XSLT processing.")
340    endif()
341    set(XSLTS "android;${XSLTS}" CACHE STRING "define a semicolon seperated list of XSLTs to process")
342    list(APPEND NAVIT_LIBS log)
343    set(HAVE_API_ANDROID 1)
344    set_with_reason(graphics/android "Android detected" TRUE)
345    set_with_reason(speech/android "Android detected" TRUE)
346    set_with_reason(vehicle/android "Android detected" TRUE)
347    cfg_feature(SHARED_LIBNAVIT "Android detected" TRUE)
348    
349    add_feature(XPM2PNG "Android detected" TRUE)
350    # todo: fixe undef. ref to timegm (->timegm64)
351    cfg_feature(BUILD_MAPTOOL "Android detected" FALSE)
352    set(NAVIT_COMPILE_FLAGS "${NAVIT_COMPILE_FLAGS} -fPIC")
353
354 endif(ANDROID)
355
356 # Image conversion
357 find_program(IMAGE_CONVERTER NAMES convert)
358 execute_process(COMMAND ${IMAGE_CONVERTER} -list format OUTPUT_VARIABLE CONVERT_FORMATS)
359 if(CONVERT_FORMATS MATCHES ".*XPM[ *][ ]*XPM[ ]*r[w-].*")
360    message(STATUS ${IMAGE_CONVERTER})
361    set(IMAGE_CONVERTER_XPM ${IMAGE_CONVERTER})
362 endif()
363
364 if (SVG2PNG)
365    if (NOT IMAGE_CONVERTER_SVGZ)
366       set (SVG_CONVERTER_PROGS rsvg-convert ksvgtopng ksvgtopng4 convert)
367       find_program(IMAGE_CONVERTER_SVGZ NAMES ${SVG_CONVERTER_PROGS})
368    endif(NOT IMAGE_CONVERTER_SVGZ)
369    if (NOT IMAGE_CONVERTER_SVG)
370       set(IMAGE_CONVERTER_SVG ${IMAGE_CONVERTER_SVGZ})
371    endif(NOT IMAGE_CONVERTER_SVG)
372
373    message(STATUS "SVG2PNG-Converter: ${IMAGE_CONVERTER_SVGZ}")
374    if (NOT IMAGE_CONVERTER_SVGZ)
375       message(WARNING "No SVG2PNG converter found. Please install one of the following tools: ${SVG_CONVERTER_PROGS}, or imagemagick with svg support")
376       set_with_reason(SVG2PNG "no converter found" FALSE)
377    endif(NOT IMAGE_CONVERTER_SVGZ)
378 endif(SVG2PNG)
379
380 if (XPM2PNG)
381    message(STATUS "XPM2PNG-Converter: ${IMAGE_CONVERTER_XPM}")
382    if (NOT IMAGE_CONVERTER_XPM)
383       message(WARNING "No XPM2PNG converter found. Please install imagemagick with xpm support")
384       set_with_reason(XPM2PNG "no converter found" FALSE)
385    endif(NOT IMAGE_CONVERTER_XPM)
386 endif(XPM2PNG)
387
388 foreach(PLUMO ${ALL_PLUGINS} ${ALL_MODULES} ${ALL_FEATURES})
389    set(OLDVALUE ${${PLUMO}})
390    OPTION(${PLUMO} "Enable/Disable module/plugin/support" ${${PLUMO}})
391    if ( (OLDVALUE AND NOT ${PLUMO}) OR (${PLUMO} AND NOT OLDVALUE))
392       set(${PLUMO}_REASON "User defined")
393    endif()
394 endforeach()
395 set(XSLTS ${XSLTS} CACHE STRING "define a semicolon seperated list of XSLTs to process")
396
397 # Plugins
398 if(USE_PLUGINS)
399    set(MODULE_BUILD_TYPE "MODULE")
400    add_definitions("-fPIC")
401    list(APPEND NAVIT_LIBS dl)
402 else()
403    set(MODULE_BUILD_TYPE "STATIC")
404 endif(USE_PLUGINS)
405 message(STATUS "Use plugins: ${MODULE_BUILD_TYPE}")
406
407 if (SHARED_LIBNAVIT)
408   set(NAVIT_CORE_BUILD_TYPE "STATIC")
409 else(SHARED_LIBNAVIT)
410   set(NAVIT_CORE_BUILD_TYPE "SHARED")
411 endif(SHARED_LIBNAVIT)
412
413 CHECK_INCLUDE_FILES (malloc.h HAVE_MALLOC_H)
414 CHECK_INCLUDE_FILES ("sys/param.h;sys/mount.h" HAVE_SYS_MOUNT_H)
415 CHECK_INCLUDE_FILES (unistd.h HAVE_UNISTD_H)
416 CHECK_FUNCTION_EXISTS (getcwd HAVE_GETCWD)
417
418 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
419
420 add_definitions("-Wall")
421
422 if (NOT NAVIT_DEPENDENCY_ERROR)
423    message("\nSummary:\n")
424
425    set(SUMMARY_COMPONENTS ${ALL_PLUGINS} ${ALL_MODULES})
426    list(SORT SUMMARY_COMPONENTS)
427
428    set(LAST_TYPE NONE)
429    foreach ( SUMMARY_COMP ${SUMMARY_COMPONENTS})
430       # split path to type and name
431       string(REPLACE "/" ";" SUMMARY_COMP_LIST ${SUMMARY_COMP})
432       list(GET SUMMARY_COMP_LIST 0 SUMMARY_COMP_TYPE)
433       list(LENGTH SUMMARY_COMP_LIST SUMMARY_COMP_LIST_LENGTH)
434       if ( SUMMARY_COMP_LIST_LENGTH GREATER 1 )
435          list(GET SUMMARY_COMP_LIST 1 SUMMARY_COMP_NAME)
436       else()
437          set(SUMMARY_COMP_NAME ${SUMMARY_COMP})
438       endif()
439       if ( NOT ${LAST_TYPE} STREQUAL ${SUMMARY_COMP_TYPE})
440          message("\n--->>> ${SUMMARY_COMP_TYPE}")
441          set(LAST_TYPE ${SUMMARY_COMP_TYPE})
442       endif()
443       if (${SUMMARY_COMP})
444          message("Enabled   ${SUMMARY_COMP_NAME} ( ${${SUMMARY_COMP}_REASON} )")
445       else()
446          message("Disabled  ${SUMMARY_COMP_NAME} ( ${${SUMMARY_COMP}_REASON} )")
447       endif()
448    endforeach()
449
450    list(SORT ALL_FEATURES)
451    message("\n--->>> Features")
452    foreach ( FEATURE ${ALL_FEATURES})
453       if ( ${FEATURE} )
454          message("Enabled   ${FEATURE} ( ${${FEATURE}_REASON} )")
455       else()
456          message("Disabled  ${FEATURE} ( ${${FEATURE}_REASON} )")
457       endif()
458    endforeach()
459    
460    if (XSL_PROCESSING)
461       if (XSLTS)
462          message("\nProcessing XSLTS: ${XSLTS}")
463       else()
464          message("\nProcessing XSLTS: NONE")
465       endif(XSLTS)
466    endif(XSL_PROCESSING)
467    
468    message("\nTo configure your build use 'cmake -L' to find changeable variables and run cmake again with 'cmake -D <var-name>=<your value> ...'.")
469 endif(NOT NAVIT_DEPENDENCY_ERROR)
470
471 add_subdirectory (navit)
472 add_subdirectory (man)
473
474 if (GETTEXT_FOUND)
475    execute_process(COMMAND echo "<test/>" COMMAND xgettext -L glade - RESULT_VARIABLE GETTEXT_RET)
476    if ("${GETTEXT_RET}" STREQUAL "0")
477       set(XGETTEXT_GLADE TRUE)
478    else()
479       set(XGETTEXT_GLADE FALSE)
480    endif()
481    add_subdirectory (po)
482 endif(GETTEXT_FOUND)
483
484 install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/locale DESTINATION ${LOCALE_DIR})
485