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