From 2ade1652959d2242307abb7dc4fca34784265109 Mon Sep 17 00:00:00 2001 From: Joseph Herlant Date: Wed, 23 May 2018 17:49:37 -0700 Subject: cleanup:cmake:retab all CMakeLists.txt files --- CMakeLists.txt | 918 +++++++++++++++++------------------ man/CMakeLists.txt | 2 +- navit/CMakeLists.txt | 256 +++++----- navit/android/CMakeLists.txt | 146 +++--- navit/binding/dbus/CMakeLists.txt | 6 +- navit/binding/win32/CMakeLists.txt | 2 +- navit/font/freetype/CMakeLists.txt | 22 +- navit/fonts/CMakeLists.txt | 18 +- navit/graphics/CMakeLists.txt | 4 +- navit/graphics/cocoa/CMakeLists.txt | 4 +- navit/graphics/opengl/CMakeLists.txt | 2 +- navit/graphics/qt5/CMakeLists.txt | 12 +- navit/gui/qml/CMakeLists.txt | 20 +- navit/icons/CMakeLists.txt | 210 ++++---- navit/map/garmin/CMakeLists.txt | 8 +- navit/maps/CMakeLists.txt | 82 ++-- navit/maptool/CMakeLists.txt | 30 +- navit/support/espeak/CMakeLists.txt | 4 +- navit/support/glib/CMakeLists.txt | 4 +- navit/vehicle/gpsd/CMakeLists.txt | 8 +- po/CMakeLists.txt | 116 ++--- 21 files changed, 937 insertions(+), 937 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index db4e234b6..74a2a292e 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,10 +5,10 @@ project(navit C) # Workaround for CMake issue 8345 / 9220, see http://trac.navit-project.org/ticket/1041 if(DEFINED CMAKE_CXX_COMPILER AND CMAKE_CXX_COMPILER MATCHES "^$") - set(CMAKE_CXX_COMPILER CMAKE_CXX_COMPILER-NOTFOUND) + set(CMAKE_CXX_COMPILER CMAKE_CXX_COMPILER-NOTFOUND) endif(DEFINED CMAKE_CXX_COMPILER AND CMAKE_CXX_COMPILER MATCHES "^$") if (NOT DISABLE_CXX) - enable_language(CXX OPTIONAL) + enable_language(CXX OPTIONAL) endif(NOT DISABLE_CXX) cmake_minimum_required(VERSION 2.6 FATAL_ERROR) @@ -25,7 +25,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/") include("${PROJECT_SOURCE_DIR}/cmake/navit_macros.cmake") IF(NOT CMAKE_BUILD_TYPE) - SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE) + SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE) ENDIF(NOT CMAKE_BUILD_TYPE) # binary name @@ -43,26 +43,26 @@ set(MAN_DIR share/man/man1 CACHE PATH "Navit man path") add_definitions ("-DMAN_DIR=\"${MAN_DIR}\"") # LIB_DIR IF(UNIX AND NOT ANDROID AND NOT APPLE) - IF (NOT LIBDIR) - MESSAGE(STATUS "LIBDIR variable is not defined. It will be autodetected now.") - MESSAGE(STATUS "You can set it manually with -DLIBDIR=") - # check 64 bit - IF (CMAKE_SIZEOF_VOID_P EQUAL 4) - SET(LIB_DIR lib/navit CACHE PATH "Navit 32bit bin path") - MESSAGE(STATUS " LIB_DIR (highest subdirectory if LIBDIR) is set to '${LIB_DIR}'") - ELSE (CMAKE_SIZEOF_VOID_P EQUAL 4) - SET(LIB_DIR lib64/navit CACHE PATH "Navit 64bit bin path") - MESSAGE(STATUS " LIB_DIR (highest subdirectory if LIBDIR) is set to '${LIB_DIR}'") - ENDIF (CMAKE_SIZEOF_VOID_P EQUAL 4) - ELSE (NOT LIBDIR) - GET_FILENAME_COMPONENT (LIB_DIR ${LIBDIR} NAME) - MESSAGE(STATUS " LIB_DIR (highest subdirectory if LIBDIR) is set to '${LIB_DIR}'") - ENDIF (NOT LIBDIR) + IF (NOT LIBDIR) + MESSAGE(STATUS "LIBDIR variable is not defined. It will be autodetected now.") + MESSAGE(STATUS "You can set it manually with -DLIBDIR=") + # check 64 bit + IF (CMAKE_SIZEOF_VOID_P EQUAL 4) + SET(LIB_DIR lib/navit CACHE PATH "Navit 32bit bin path") + MESSAGE(STATUS " LIB_DIR (highest subdirectory if LIBDIR) is set to '${LIB_DIR}'") + ELSE (CMAKE_SIZEOF_VOID_P EQUAL 4) + SET(LIB_DIR lib64/navit CACHE PATH "Navit 64bit bin path") + MESSAGE(STATUS " LIB_DIR (highest subdirectory if LIBDIR) is set to '${LIB_DIR}'") + ENDIF (CMAKE_SIZEOF_VOID_P EQUAL 4) + ELSE (NOT LIBDIR) + GET_FILENAME_COMPONENT (LIB_DIR ${LIBDIR} NAME) + MESSAGE(STATUS " LIB_DIR (highest subdirectory if LIBDIR) is set to '${LIB_DIR}'") + ENDIF (NOT LIBDIR) ELSE (UNIX AND NOT ANDROID AND NOT APPLE) SET(LIB_DIR lib/navit CACHE PATH "Navit unix bin path") ENDIF (UNIX AND NOT ANDROID AND NOT APPLE) foreach(EXTRA_MODULE ${EXTRA_MODULES}) - add_module(${EXTRA_MODULE} "extra module specified" TRUE) + add_module(${EXTRA_MODULE} "extra module specified" TRUE) endforeach() add_definitions ("-DLIB_DIR=\"${LIB_DIR}\"") @@ -71,11 +71,11 @@ if (EXTRA_LIBS) endif(EXTRA_LIBS) if (EXTRA_INCLUDES) - include_directories(${EXTRA_INCLUDES}) + include_directories(${EXTRA_INCLUDES}) endif(EXTRA_INCLUDES) if (EXTRA_LIBDIR) - link_directories(${EXTRA_LIBDIR}) + link_directories(${EXTRA_LIBDIR}) endif(EXTRA_LIBDIR) ### Detect environment @@ -128,17 +128,17 @@ set(CPACK_PACKAGE_EXECUTABLES "navit;Navit") set(CPACK_NSIS_HELP_LINK "http://www.navit-project.org/?page=contact") set(CPACK_NSIS_URL_INFO_ABOUT "http://www.navit-project.org") if(WIN32) - add_feature(USE_NSIS "makensis not found" FALSE) - FIND_PROGRAM(NSIS_EXECUTABLE NAMES makensis makensis.exe) - if(NSIS_EXECUTABLE) - set_with_reason(USE_NSIS "makensis found" TRUE) - endif(NSIS_EXECUTABLE) - - set(CPACK_GENERATOR ZIP) - if(USE_NSIS) - list(APPEND CPACK_GENERATOR NSIS) - endif(USE_NSIS) - set(CPACK_PACKAGE_INSTALL_DIRECTORY Navit) + add_feature(USE_NSIS "makensis not found" FALSE) + FIND_PROGRAM(NSIS_EXECUTABLE NAMES makensis makensis.exe) + if(NSIS_EXECUTABLE) + set_with_reason(USE_NSIS "makensis found" TRUE) + endif(NSIS_EXECUTABLE) + + set(CPACK_GENERATOR ZIP) + if(USE_NSIS) + list(APPEND CPACK_GENERATOR NSIS) + endif(USE_NSIS) + set(CPACK_PACKAGE_INSTALL_DIRECTORY Navit) endif(WIN32) INCLUDE (CPack) @@ -167,44 +167,44 @@ find_package(Threads) libfind_pkg_check_modules(FONTCONFIG fontconfig) #Qt detection if (NOT DISABLE_QT) - find_package(Qt5Widgets) - find_package(Qt5Quick) - find_package(Qt5Positioning) - if (Qt5Widgets_FOUND OR Qt5Quick_FOUND OR Qt5Sensors_FOUND) - add_feature (USE_QWIDGET "Qt5 Qt5Widget not found" FALSE) - add_feature (USE_QML "Qt5 Qt5Quick not found" FALSE) - if (Qt5Widgets_FOUND OR Qt5Quick_FOUND) - find_package(Qt5Svg REQUIRED) - find_package(Qt5DBus REQUIRED) - find_package(Qt5Multimedia) - find_package(espeak) - endif (Qt5Widgets_FOUND OR Qt5Quick_FOUND) - if (Qt5Positioning_FOUND) - find_package(Qt5Sensors REQUIRED) - endif (Qt5Positioning_FOUND) - else (Qt5Widgets_FOUND OR Qt5Quick_FOUND OR Qt5Sensors_FOUND) - # Unfortunately, CMake seems to ignore the "OPTIONAL_COMPONENTS" flag, - # and actually requires all components to be installed. Maybe this can - # be fixed later... - find_package(Qt4 4.7 COMPONENTS QtCore OPTIONAL_COMPONENTS QtGui QtXml QtDeclarative QtSvg) - endif (Qt5Widgets_FOUND OR Qt5Quick_FOUND OR Qt5Sensors_FOUND) + find_package(Qt5Widgets) + find_package(Qt5Quick) + find_package(Qt5Positioning) + if (Qt5Widgets_FOUND OR Qt5Quick_FOUND OR Qt5Sensors_FOUND) + add_feature (USE_QWIDGET "Qt5 Qt5Widget not found" FALSE) + add_feature (USE_QML "Qt5 Qt5Quick not found" FALSE) + if (Qt5Widgets_FOUND OR Qt5Quick_FOUND) + find_package(Qt5Svg REQUIRED) + find_package(Qt5DBus REQUIRED) + find_package(Qt5Multimedia) + find_package(espeak) + endif (Qt5Widgets_FOUND OR Qt5Quick_FOUND) + if (Qt5Positioning_FOUND) + find_package(Qt5Sensors REQUIRED) + endif (Qt5Positioning_FOUND) + else (Qt5Widgets_FOUND OR Qt5Quick_FOUND OR Qt5Sensors_FOUND) + # Unfortunately, CMake seems to ignore the "OPTIONAL_COMPONENTS" flag, + # and actually requires all components to be installed. Maybe this can + # be fixed later... + find_package(Qt4 4.7 COMPONENTS QtCore OPTIONAL_COMPONENTS QtGui QtXml QtDeclarative QtSvg) + endif (Qt5Widgets_FOUND OR Qt5Quick_FOUND OR Qt5Sensors_FOUND) endif (NOT DISABLE_QT) #pkg-config based detection find_package(PkgConfig) if(PKG_CONFIG_FOUND) - pkg_check_modules(LIBLOCATION liblocation) - pkg_check_modules(LIBOSSO libosso) - # Accept even old versions of libgps, because N810 uses an old version (see #1179). - pkg_check_modules(LIBGPS libgps) - pkg_check_modules(LIBGPS19 libgps>=2.90) - # libgpsd=3.1) - pkg_check_modules(LIBGARMIN libgarmin) - pkg_check_modules(IMLIB2 imlib2) - if(IMLIB2_FOUND) - set(HAVE_IMLIB2 1) - endif(IMLIB2_FOUND) + pkg_check_modules(LIBLOCATION liblocation) + pkg_check_modules(LIBOSSO libosso) + # Accept even old versions of libgps, because N810 uses an old version (see #1179). + pkg_check_modules(LIBGPS libgps) + pkg_check_modules(LIBGPS19 libgps>=2.90) + # libgpsd=3.1) + pkg_check_modules(LIBGARMIN libgarmin) + pkg_check_modules(IMLIB2 imlib2) + if(IMLIB2_FOUND) + set(HAVE_IMLIB2 1) + endif(IMLIB2_FOUND) endif(PKG_CONFIG_FOUND) #Simple checks CHECK_INCLUDE_FILES(wordexp.h HAVE_WORDEXP) @@ -217,10 +217,10 @@ CHECK_INCLUDE_FILES(sys/socket.h HAVE_SOCKET) CHECK_INCLUDE_FILES(sys/shm.h HAVE_SHMEM) CHECK_FUNCTION_EXISTS(snprintf HAVE_SNPRINTF) if (NOT HAVE_SNPRINTF) - CHECK_FUNCTION_EXISTS(_snprintf HAVE_DECL__SNPRINTF) - if (HAVE_DECL__SNPRINTF) - set(HAVE_SNPRINTF 1) - endif(HAVE_DECL__SNPRINTF) + CHECK_FUNCTION_EXISTS(_snprintf HAVE_DECL__SNPRINTF) + if (HAVE_DECL__SNPRINTF) + set(HAVE_SNPRINTF 1) + endif(HAVE_DECL__SNPRINTF) endif(NOT HAVE_SNPRINTF) CHECK_INCLUDE_FILES(locale.h HAVE_LC_MESSAGES) CHECK_INCLUDE_FILES(libintl.h HAVE_LIBINTL) @@ -240,237 +240,237 @@ CHECK_FUNCTION_EXISTS(fsync HAVE_FSYNC) ### Configure build #Required libraries, supplied with navit if (NOT HAVE_LIBINTL) - set_with_reason(support/gettext_intl "native libintl missing" TRUE) - set(USE_LIBGNUINTL TRUE) + set_with_reason(support/gettext_intl "native libintl missing" TRUE) + set(USE_LIBGNUINTL TRUE) else() - CHECK_LIBRARY_EXISTS(intl libintl_fprintf "" NEEDS_LIBINTL) - if (NEEDS_LIBINTL) - list(APPEND NAVIT_LIBS intl) - set(INTL_LIBS intl) - endif(NEEDS_LIBINTL) + CHECK_LIBRARY_EXISTS(intl libintl_fprintf "" NEEDS_LIBINTL) + if (NEEDS_LIBINTL) + list(APPEND NAVIT_LIBS intl) + set(INTL_LIBS intl) + endif(NEEDS_LIBINTL) endif(NOT HAVE_LIBINTL) if (CMAKE_USE_PTHREADS_INIT) - if (NOT ANDROID) - list(APPEND NAVIT_LIBS pthread) - endif(NOT ANDROID) + if (NOT ANDROID) + list(APPEND NAVIT_LIBS pthread) + endif(NOT ANDROID) endif(CMAKE_USE_PTHREADS_INIT) if (Glib_FOUND) - set(HAVE_GLIB 1) - include_directories(${Glib_INCLUDE_DIRS}) - list(APPEND NAVIT_LIBS ${Glib_LIBRARIES}) + set(HAVE_GLIB 1) + include_directories(${Glib_INCLUDE_DIRS}) + list(APPEND NAVIT_LIBS ${Glib_LIBRARIES}) else(Glib_FOUND) - set_with_reason(support/glib "Glib not found" TRUE ${INTL_LIBS}) + set_with_reason(support/glib "Glib not found" TRUE ${INTL_LIBS}) endif(Glib_FOUND) if (Gmodule_FOUND) - set(HAVE_GMODULE 1) - include_directories(${Gmodule_INCLUDE_DIRS}) - list(APPEND NAVIT_LIBS ${Gmodule_LIBRARIES}) + set(HAVE_GMODULE 1) + include_directories(${Gmodule_INCLUDE_DIRS}) + list(APPEND NAVIT_LIBS ${Gmodule_LIBRARIES}) endif(Gmodule_FOUND) if(ZLIB_FOUND) - set(HAVE_ZLIB 1) - include_directories(${ZLIB_INCLUDE_DIRS}) - list(APPEND NAVIT_LIBS ${ZLIB_LIBRARIES}) + set(HAVE_ZLIB 1) + include_directories(${ZLIB_INCLUDE_DIRS}) + list(APPEND NAVIT_LIBS ${ZLIB_LIBRARIES}) else(ZLIB_FOUND) - message(STATUS "using internal zlib") - set_with_reason(support/zlib "native zlib missing" TRUE) + message(STATUS "using internal zlib") + set_with_reason(support/zlib "native zlib missing" TRUE) endif(ZLIB_FOUND) if(PNG_FOUND) - set(HAVE_PNG 1) - include_directories(${PNG_INCLUDE_DIR}) - list(APPEND NAVIT_LIBS ${PNG_LIBRARIES}) + set(HAVE_PNG 1) + include_directories(${PNG_INCLUDE_DIR}) + list(APPEND NAVIT_LIBS ${PNG_LIBRARIES}) else(PNG_FOUND) - message(STATUS "using internal libpng") - set_with_reason(support/libpng "native libpng missing" TRUE) + message(STATUS "using internal libpng") + set_with_reason(support/libpng "native libpng missing" TRUE) endif(PNG_FOUND) if (NOT HAVE_WORDEXP) - message(STATUS "wordexp.h not found. use internal wordexp") - set_with_reason(support/wordexp "native wordexp missing" TRUE) + message(STATUS "wordexp.h not found. use internal wordexp") + set_with_reason(support/wordexp "native wordexp missing" TRUE) endif() if (NOT Glib_FOUND) - set_with_reason(support/ezxml "Glib not found" TRUE) + set_with_reason(support/ezxml "Glib not found" TRUE) endif() if(FREETYPE_FOUND) - pkg_check_modules(FRIBIDI fribidi) - pkg_check_modules(FRIBIDI2 fribidi>=0.19.0) - include_directories(${FREETYPE_INCLUDE_DIRS}) - set_with_reason(font/freetype "freetype found" TRUE "${FREETYPE_LIBRARY};${FONTCONFIG_LDFLAGS};${FRIBIDI_LIBRARIES}") + pkg_check_modules(FRIBIDI fribidi) + pkg_check_modules(FRIBIDI2 fribidi>=0.19.0) + include_directories(${FREETYPE_INCLUDE_DIRS}) + set_with_reason(font/freetype "freetype found" TRUE "${FREETYPE_LIBRARY};${FONTCONFIG_LDFLAGS};${FRIBIDI_LIBRARIES}") else(FREETYPE_FOUND) - MESSAGE("No freetype library found, graphics modules may not be available") - set_with_reason(graphics/android "FreeType library not found" FALSE) - set_with_reason(graphics/gd "FreeType library not found" FALSE) - set_with_reason(graphics/gtk_drawing_area "FreeType library not found" FALSE) - set_with_reason(graphics/opengl "FreeType library not found" FALSE) - set_with_reason(graphics/sdl "FreeType library not found" FALSE) - set_with_reason(graphics/egl "FreeType library not found" FALSE) + MESSAGE("No freetype library found, graphics modules may not be available") + set_with_reason(graphics/android "FreeType library not found" FALSE) + set_with_reason(graphics/gd "FreeType library not found" FALSE) + set_with_reason(graphics/gtk_drawing_area "FreeType library not found" FALSE) + set_with_reason(graphics/opengl "FreeType library not found" FALSE) + set_with_reason(graphics/sdl "FreeType library not found" FALSE) + set_with_reason(graphics/egl "FreeType library not found" FALSE) endif(FREETYPE_FOUND) if(FONTCONFIG_FOUND) - set(HAVE_FONTCONFIG 1) + set(HAVE_FONTCONFIG 1) endif(FONTCONFIG_FOUND) if (QT_FOUND) - if (QT_QTCORE_FOUND AND QT_QTGUI_FOUND AND FREETYPE_FOUND) - include(${QT_USE_FILE}) - set_with_reason(graphics/qt_qpainter "Qt libraries found" TRUE ${QT_LIBRARIES}) - - if (QT_QTDECLARATIVE_FOUND AND QT_QTXML_FOUND) - set_with_reason(gui/qml "Qt Declarative found" TRUE ${QT_LIBRARIES}) - endif() - - if (QT_QTSVG_FOUND) - set(HAVE_QT_SVG 1) - elseif( USE_SVG AND graphics/qt_qpainter) - message( WARNING "QT compiled without SVG support") - endif() - endif() + if (QT_QTCORE_FOUND AND QT_QTGUI_FOUND AND FREETYPE_FOUND) + include(${QT_USE_FILE}) + set_with_reason(graphics/qt_qpainter "Qt libraries found" TRUE ${QT_LIBRARIES}) + + if (QT_QTDECLARATIVE_FOUND AND QT_QTXML_FOUND) + set_with_reason(gui/qml "Qt Declarative found" TRUE ${QT_LIBRARIES}) + endif() + + if (QT_QTSVG_FOUND) + set(HAVE_QT_SVG 1) + elseif( USE_SVG AND graphics/qt_qpainter) + message( WARNING "QT compiled without SVG support") + endif() + endif() endif(QT_FOUND) if (Qt5Widgets_FOUND OR Qt5Quick_FOUND) - set(Qt5_ADDITIONAL_LIBRARIES "") - if(Qt5Widgets_FOUND) - set_with_reason(USE_QWIDGET "Qt5Widgets found" TRUE) - if(USE_QWIDGET) - set(Qt5_ADDITIONAL_LIBRARIES ${Qt5_ADDITIONAL_LIBRARIES} ${Qt5Widgets_LIBRARIES}) - endif() - endif() - if(Qt5Quick_FOUND) - set_with_reason(USE_QML "Qt5Quick found" TRUE) - if(USE_QML) - set(Qt5_ADDITIONAL_LIBRARIES ${Qt5_ADDITIONAL_LIBRARIES} ${Qt5Quick_LIBRARIES}) - endif() - set_with_reason(gui/qt5_qml "Qt5 found" TRUE - ${Qt5Quick_LIBRARIES}) - - endif() - set_with_reason(graphics/qt5 "Qt5 found" TRUE + set(Qt5_ADDITIONAL_LIBRARIES "") + if(Qt5Widgets_FOUND) + set_with_reason(USE_QWIDGET "Qt5Widgets found" TRUE) + if(USE_QWIDGET) + set(Qt5_ADDITIONAL_LIBRARIES ${Qt5_ADDITIONAL_LIBRARIES} ${Qt5Widgets_LIBRARIES}) + endif() + endif() + if(Qt5Quick_FOUND) + set_with_reason(USE_QML "Qt5Quick found" TRUE) + if(USE_QML) + set(Qt5_ADDITIONAL_LIBRARIES ${Qt5_ADDITIONAL_LIBRARIES} ${Qt5Quick_LIBRARIES}) + endif() + set_with_reason(gui/qt5_qml "Qt5 found" TRUE + ${Qt5Quick_LIBRARIES}) + + endif() + set_with_reason(graphics/qt5 "Qt5 found" TRUE ${Qt5_ADDITIONAL_LIBRARIES} ${Qt5Svg_LIBRARIES} ${Qt5DBus_LIBRARIES}) - if (Qt5Multimedia_FOUND) - if (espeak_FOUND) - set_with_reason(support/espeak "native espeak found" FALSE) - set_with_reason(speech/qt5_espeak "Qt5Multimedia and libespeak found" TRUE - ${Qt5Multimedia_LIBRARIES} - ${espeak_LIBRARIES}) - else() - set_with_reason(support/espeak "native espeak missing" TRUE) - set_with_reason(INTERNAL_ESPEAK_COMPLETE "speech_qt5_espeak requires full libespeak" TRUE) - set_with_reason(speech/qt5_espeak "Qt5Multimedia found" TRUE - ${Qt5Multimedia_LIBRARIES}) - endif() - endif() + if (Qt5Multimedia_FOUND) + if (espeak_FOUND) + set_with_reason(support/espeak "native espeak found" FALSE) + set_with_reason(speech/qt5_espeak "Qt5Multimedia and libespeak found" TRUE + ${Qt5Multimedia_LIBRARIES} + ${espeak_LIBRARIES}) + else() + set_with_reason(support/espeak "native espeak missing" TRUE) + set_with_reason(INTERNAL_ESPEAK_COMPLETE "speech_qt5_espeak requires full libespeak" TRUE) + set_with_reason(speech/qt5_espeak "Qt5Multimedia found" TRUE + ${Qt5Multimedia_LIBRARIES}) + endif() + endif() endif () if (Qt5Positioning_FOUND) - set_with_reason(vehicle/qt5 "Qt5 Positioning found" TRUE + set_with_reason(vehicle/qt5 "Qt5 Positioning found" TRUE ${Qt5Positioning_LIBRARIES} ${Qt5Sensors_LIBRARIES}) endif () if(GTK2_FOUND) - # Include gtk.h with "SYSTEM" to avoid GCC compiler warning for gtkitemfactory.h. - include_directories(SYSTEM ${GTK2_GTK_INCLUDE_DIR}) - include_directories(${GTK2_INCLUDE_DIRS}) - set(HAVE_GTK2 1) - set_with_reason(gui/gtk "GTK libs found" TRUE ${GTK2_LIBRARIES}) - if(FREETYPE_FOUND) - set_with_reason(graphics/gtk_drawing_area "GTK libs found" TRUE ${GTK2_LIBRARIES}) - endif(FREETYPE_FOUND) + # Include gtk.h with "SYSTEM" to avoid GCC compiler warning for gtkitemfactory.h. + include_directories(SYSTEM ${GTK2_GTK_INCLUDE_DIR}) + include_directories(${GTK2_INCLUDE_DIRS}) + set(HAVE_GTK2 1) + set_with_reason(gui/gtk "GTK libs found" TRUE ${GTK2_LIBRARIES}) + if(FREETYPE_FOUND) + set_with_reason(graphics/gtk_drawing_area "GTK libs found" TRUE ${GTK2_LIBRARIES}) + endif(FREETYPE_FOUND) endif(GTK2_FOUND) CHECK_LIBRARY_EXISTS(freeimage FreeImage_Load "" HAVE_FREEIMAGE) if (USE_OPENGLES OR USE_OPENGLES2) - CHECK_LIBRARY_EXISTS(EGL eglInitialize "" HAVE_EGL) + CHECK_LIBRARY_EXISTS(EGL eglInitialize "" HAVE_EGL) endif(USE_OPENGLES OR USE_OPENGLES2) if (FREETYPE_FOUND) - if (OPENGL_FOUND AND OPENGL_GLU_FOUND AND GLUT_FOUND AND OPENGL_INCLUDE_DIR) - message (STATUS "opengl found: ${OPENGL_gl_LIBRARY}") - include_directories(${OPENGL_INCLUDE_DIR}) - if (USE_OPENGLES2) - set(USE_OPENGLES TRUE) - set(GRAPHICS_OPENGL_LIBRARY GLESv2 EGL) - elseif (USE_OPENGLES) - set(GRAPHICS_OPENGL_LIBRARY GLESv1_CM EGL) - else() - set(GRAPHICS_OPENGL_LIBRARY ${OPENGL_gl_LIBRARY};${OPENGL_glu_LIBRARY};${GLUT_glut_LIBRARY}) - endif(USE_OPENGLES2) - if (HAVE_FREEIMAGE) - list(APPEND GRAPHICS_OPENGL_LIBRARY freeimage) - endif(HAVE_FREEIMAGE) - set_with_reason(graphics/opengl "Found OpenGL" TRUE ${GRAPHICS_OPENGL_LIBRARY}) - else() - message (STATUS "opengl not found") - endif() + if (OPENGL_FOUND AND OPENGL_GLU_FOUND AND GLUT_FOUND AND OPENGL_INCLUDE_DIR) + message (STATUS "opengl found: ${OPENGL_gl_LIBRARY}") + include_directories(${OPENGL_INCLUDE_DIR}) + if (USE_OPENGLES2) + set(USE_OPENGLES TRUE) + set(GRAPHICS_OPENGL_LIBRARY GLESv2 EGL) + elseif (USE_OPENGLES) + set(GRAPHICS_OPENGL_LIBRARY GLESv1_CM EGL) + else() + set(GRAPHICS_OPENGL_LIBRARY ${OPENGL_gl_LIBRARY};${OPENGL_glu_LIBRARY};${GLUT_glut_LIBRARY}) + endif(USE_OPENGLES2) + if (HAVE_FREEIMAGE) + list(APPEND GRAPHICS_OPENGL_LIBRARY freeimage) + endif(HAVE_FREEIMAGE) + set_with_reason(graphics/opengl "Found OpenGL" TRUE ${GRAPHICS_OPENGL_LIBRARY}) + else() + message (STATUS "opengl not found") + endif() else() - message (STATUS "no Freetype found") + message (STATUS "no Freetype found") endif(FREETYPE_FOUND) if(SDL_FOUND AND SDLIMAGE_FOUND AND FREETYPE_FOUND) - set(SDL_IMAGE 1) - if(SDLTTF_FOUND) - set(SDL_TTF 1) - list(APPEND SDL_LIBRARY ${SDLTTF_LIBRARY}) - else(SDLTTF_FOUND) - list(APPEND SDL_LIBRARY ${FREETYPE_LIBRARY}) - endif(SDLTTF_FOUND) - set_with_reason(graphics/sdl "SDL/SDL_image libs found" TRUE ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY}) + set(SDL_IMAGE 1) + if(SDLTTF_FOUND) + set(SDL_TTF 1) + list(APPEND SDL_LIBRARY ${SDLTTF_LIBRARY}) + else(SDLTTF_FOUND) + list(APPEND SDL_LIBRARY ${FREETYPE_LIBRARY}) + endif(SDLTTF_FOUND) + set_with_reason(graphics/sdl "SDL/SDL_image libs found" TRUE ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY}) endif(SDL_FOUND AND SDLIMAGE_FOUND AND FREETYPE_FOUND) if(SDL2MAIN AND SDL2IMAGE AND GLES2) - set_with_reason(graphics/egl "SDL2/SDL2_image libs found" TRUE ${SDL2MAIN} ${SDL2IMAGE} ${GLES2}) - message(STATUS "EGL libs found : ${SDL2MAIN} ${SDL2IMAGE} ${GLES2}") + set_with_reason(graphics/egl "SDL2/SDL2_image libs found" TRUE ${SDL2MAIN} ${SDL2IMAGE} ${GLES2}) + message(STATUS "EGL libs found : ${SDL2MAIN} ${SDL2IMAGE} ${GLES2}") endif(SDL2MAIN AND SDL2IMAGE AND GLES2) if (LIBGPS_FOUND) - if (LIBGPS_NEW_FOUND) - set(VEHICLE_GPSD_REASON "gpsd lib found") - else(LIBGPS_NEW_FOUND) - set(VEHICLE_GPSD_REASON "WARNING: old gpsd lib found, buggy if LC_ALL is set") - endif(LIBGPS_NEW_FOUND) - set_with_reason(vehicle/gpsd ${VEHICLE_GPSD_REASON} TRUE ${LIBGPS_LDFLAGS}) + if (LIBGPS_NEW_FOUND) + set(VEHICLE_GPSD_REASON "gpsd lib found") + else(LIBGPS_NEW_FOUND) + set(VEHICLE_GPSD_REASON "WARNING: old gpsd lib found, buggy if LC_ALL is set") + endif(LIBGPS_NEW_FOUND) + set_with_reason(vehicle/gpsd ${VEHICLE_GPSD_REASON} TRUE ${LIBGPS_LDFLAGS}) endif(LIBGPS_FOUND) if (GYPSY_FOUND) - set_with_reason(vehicle/gypsy "gypsy lib found" TRUE) + set_with_reason(vehicle/gypsy "gypsy lib found" TRUE) endif(GYPSY_FOUND) if (LIBGARMIN_FOUND) - include_directories(${LIBGARMIN_INCLUDE_DIRS}) - set_with_reason(map/garmin "Garmin library found" TRUE ${LIBGARMIN_LDFLAGS}) + include_directories(${LIBGARMIN_INCLUDE_DIRS}) + set_with_reason(map/garmin "Garmin library found" TRUE ${LIBGARMIN_LDFLAGS}) endif(LIBGARMIN_FOUND) if(DBusGLib_FOUND) - include_directories(${DBusGLib_INCLUDE_DIRS}) - set_with_reason(binding/dbus "dbus-glib-1 found" TRUE ${DBusGLib_LIBRARIES}) - set_with_reason(speech/dbus "dbus-glib-1 found" TRUE ${DBusGLib_LIBRARIES}) - set_with_reason(vehicle/gpsd_dbus "dbus-glib-1 found" TRUE ${DBusGLib_LIBRARIES}) + include_directories(${DBusGLib_INCLUDE_DIRS}) + set_with_reason(binding/dbus "dbus-glib-1 found" TRUE ${DBusGLib_LIBRARIES}) + set_with_reason(speech/dbus "dbus-glib-1 found" TRUE ${DBusGLib_LIBRARIES}) + set_with_reason(vehicle/gpsd_dbus "dbus-glib-1 found" TRUE ${DBusGLib_LIBRARIES}) endif() if(PYTHONLIBS_FOUND) - set_with_reason(binding/python "python libraries [${PYTHONLIBS_VERSION_STRING}] found" TRUE ${PYTHON_LIBRARIES}) + set_with_reason(binding/python "python libraries [${PYTHONLIBS_VERSION_STRING}] found" TRUE ${PYTHON_LIBRARIES}) endif() if (HAVE_LIBSPEECHD) - set_with_reason(speech/speech_dispatcher "speech_dispatcher lib found" TRUE speechd) + set_with_reason(speech/speech_dispatcher "speech_dispatcher lib found" TRUE speechd) endif(HAVE_LIBSPEECHD) if (HAVE_SYSTEM) - set_with_reason(speech/cmdline "system() call is available" TRUE) + set_with_reason(speech/cmdline "system() call is available" TRUE) endif(HAVE_SYSTEM) if (HAVE_CREATEPROCESS) - set_with_reason(speech/cmdline "CreateProcess() call is available" TRUE) + set_with_reason(speech/cmdline "CreateProcess() call is available" TRUE) endif(HAVE_CREATEPROCESS) if (LIBLOCATION_FOUND) - set_with_reason(vehicle/maemo "Maemo location library found" TRUE ${LIBLOCATION_LIBRARIES}) + set_with_reason(vehicle/maemo "Maemo location library found" TRUE ${LIBLOCATION_LIBRARIES}) endif(LIBLOCATION_FOUND) if (LIBOSSO_FOUND) - set_with_reason(autoload/osso "Maemo osso library found" TRUE ${LIBOSSO_LIBRARIES}) + set_with_reason(autoload/osso "Maemo osso library found" TRUE ${LIBOSSO_LIBRARIES}) endif(LIBOSSO_FOUND) if (GETTEXT_FOUND) - set_with_reason(USE_NATIVE_LANGUAGE_SUPPORT "Gettext found" TRUE) + set_with_reason(USE_NATIVE_LANGUAGE_SUPPORT "Gettext found" TRUE) endif(GETTEXT_FOUND) #Independent modules @@ -483,7 +483,7 @@ add_module(gui/internal "Default" TRUE) add_module(map/binfile "Default" TRUE) add_module(map/filter "Default" TRUE) if(NOT MSVC) -add_module(map/mg "Default" TRUE) + add_module(map/mg "Default" TRUE) endif(NOT MSVC) add_module_plugin(support/shapefile "Default" TRUE) set(map_shapefile_INCLUDES "${CMAKE_SOURCE_DIR}/navit/support/shapefile") @@ -513,25 +513,25 @@ add_feature(SAMPLE_MAP "default" TRUE) add_feature(NETWORK_INFO "default" FALSE) IF(NOT svg2png_scaling) - IF(NOT ANDROID) - set(svg2png_scaling 0 16 32 48 64 96) - ELSE() - set(svg2png_scaling -1 24 32 48 64 96 128) - ENDIF() + IF(NOT ANDROID) + set(svg2png_scaling 0 16 32 48 64 96) + ELSE() + set(svg2png_scaling -1 24 32 48 64 96 128) + ENDIF() ENDIF() IF(NOT svg2png_scaling_flag) - IF(NOT ANDROID) - set(svg2png_scaling_flag 32) - ELSE() - set(svg2png_scaling_flag -1 24 32 64 96) - ENDIF() + IF(NOT ANDROID) + set(svg2png_scaling_flag 32) + ELSE() + set(svg2png_scaling_flag -1 24 32 64 96) + ENDIF() ENDIF() IF(NOT svg2png_scaling_nav) - IF(NOT ANDROID) - set(svg2png_scaling_nav 64) - ELSE() - set(svg2png_scaling_nav -1 24 32 48 64 96 128) - ENDIF() + IF(NOT ANDROID) + set(svg2png_scaling_nav 64) + ELSE() + set(svg2png_scaling_nav -1 24 32 48 64 96 128) + ENDIF() ENDIF() add_feature(DBUS_USE_SYSTEM_BUS "default" FALSE) @@ -541,234 +541,234 @@ add_feature(XSL_PROCESSING "default" TRUE) set(SUPPORTED_XSLT_PROCESSORS "saxonb-xslt;saxon;saxon8;saxon-xslt;xsltproc;transform.exe") find_program(XSLT_PROCESSOR NAMES ${SUPPORTED_XSLT_PROCESSORS}) if(XSLT_PROCESSOR) - message(STATUS "Found XSLT processor: ${XSLT_PROCESSOR}") - execute_process(COMMAND ${XSLT_PROCESSOR} -snone ${CMAKE_CURRENT_SOURCE_DIR}/cmake/test.xml ${CMAKE_CURRENT_SOURCE_DIR}/cmake/test.xslt - RESULT_VARIABLE SAXON_ERROR OUTPUT_QUIET ERROR_QUIET) - if (NOT SAXON_ERROR) - set (XSLT_PROCESSOR_OPTIONS -snone) - endif() - # additional parameter is passed to the stylesheet processor as transformation parameter - macro(compose_xslt_transform_command CMDVAR XSLT_FILE SRC_XML DEST_XML) - if(${XSLT_PROCESSOR} MATCHES "xsltproc") - set(${CMDVAR} COMMAND ${XSLT_PROCESSOR} ${XSLT_PROCESSOR_OPTIONS} ${XSLT_FILE} ${SRC_XML} >${DEST_XML}) - else() - set(${CMDVAR} COMMAND ${XSLT_PROCESSOR} ${XSLT_PROCESSOR_OPTIONS} ${SRC_XML} ${XSLT_FILE} ${ARGN} >${DEST_XML}) - endif() - endmacro() + message(STATUS "Found XSLT processor: ${XSLT_PROCESSOR}") + execute_process(COMMAND ${XSLT_PROCESSOR} -snone ${CMAKE_CURRENT_SOURCE_DIR}/cmake/test.xml ${CMAKE_CURRENT_SOURCE_DIR}/cmake/test.xslt + RESULT_VARIABLE SAXON_ERROR OUTPUT_QUIET ERROR_QUIET) + if (NOT SAXON_ERROR) + set (XSLT_PROCESSOR_OPTIONS -snone) + endif() + # additional parameter is passed to the stylesheet processor as transformation parameter + macro(compose_xslt_transform_command CMDVAR XSLT_FILE SRC_XML DEST_XML) + if(${XSLT_PROCESSOR} MATCHES "xsltproc") + set(${CMDVAR} COMMAND ${XSLT_PROCESSOR} ${XSLT_PROCESSOR_OPTIONS} ${XSLT_FILE} ${SRC_XML} >${DEST_XML}) + else() + set(${CMDVAR} COMMAND ${XSLT_PROCESSOR} ${XSLT_PROCESSOR_OPTIONS} ${SRC_XML} ${XSLT_FILE} ${ARGN} >${DEST_XML}) + endif() + endmacro() else() - cfg_feature(XSL_PROCESSING "Saxon missing" FALSE) + cfg_feature(XSL_PROCESSING "Saxon missing" FALSE) endif(XSLT_PROCESSOR) if (NOT XSL_PROCESSING) - message(WARNING "No XSLT processor available. You have to configure " -"navit.xml yourself, or install an XSLT processor (supported: " -"${SUPPORTED_XSLT_PROCESSORS}).") + message(WARNING "No XSLT processor available. You have to configure " + "navit.xml yourself, or install an XSLT processor (supported: " + "${SUPPORTED_XSLT_PROCESSORS}).") endif() ### Platform specific settings if(NOT CACHE_SIZE) - SET(CACHE_SIZE 1048576) + SET(CACHE_SIZE 1048576) endif(NOT CACHE_SIZE) if(WIN32 OR WINCE) - SET(CMAKE_EXECUTABLE_SUFFIX ".exe") - add_module(graphics/win32 "Windows detected" TRUE) - add_plugin(support/win32 "Windows detected" TRUE) - - SET(CMAKE_RC_COMPILE_OBJECT " -O coff -I ${CMAKE_CURRENT_SOURCE_DIR}/navit/gui/win32/resources -i -o ") - set_with_reason(support/ezxml "Windows detected" TRUE) - set_with_reason(speech/espeak "Windows detected" TRUE) - #speech/espeak does use windows threads, and therefore needs only parts of - #espeak lib. INTERNAL_ESPEAK_COMPLETE controls this. - set_with_reason(INTERNAL_ESPEAK_COMPLETE "Windows detected" FALSE) - set_with_reason(support/espeak "Windows detected" TRUE) - set_with_reason(binding/win32 "Windows detected" TRUE) - - # vehicle_file is broken for windows. use vehicle_wince instead - # whicle_wince isn't buildable on non-CE windows ssytems - - # plugins currently not supported on windows - set_with_reason(USE_PLUGINS "win32: currently not supported" FALSE) - - set(HAVE_API_WIN32_BASE 1) - set(EZXML_NOMMAP 1) - - # Image stuff - if(NOT graphics/qt_qpainter) - set_with_reason(USE_SVG "win32: SVGs currently not supported" FALSE) - else(NOT graphics/qt_qpainter) - MESSAGE(STATUS "win32: SVGs may not be supported by every available graphics") - endif(NOT graphics/qt_qpainter) - - set(BIN_DIR bin) - set(SHARE_DIR ./) - set(LOCALE_DIR locale) - set(IMAGE_DIR icons) - - - if(HAVE_GTK2 AND NOT MSVC) - #GTK requires special compile flags - add_definitions("-mms-bitfields") - endif(HAVE_GTK2 AND NOT MSVC) - if(MSVC AND support/espeak) - add_definitions(-DPLATFORM_WINDOWS) - endif(MSVC AND support/espeak) - CHECK_LIBRARY_EXISTS(ws2_32 WSAStartup "" HAVE_WINSOCK) - if(HAVE_WINSOCK) - list(APPEND NAVIT_LIBS ws2_32) - else() - CHECK_LIBRARY_EXISTS(ws2 WSAStartup "" HAVE_WINSOCK_2) - if(HAVE_WINSOCK_2) - set(HAVE_WINSOCK 1) - list(APPEND NAVIT_LIBS ws2) - endif() - endif(HAVE_WINSOCK) - - if(MSVC) - set(HAVE_PRAGMA_PACK 1) - add_plugin(support/xgetopt "Windows detected" TRUE) - endif(MSVC) - set_with_reason(USE_NATIVE_LANGUAGE_SUPPORT "Windows detected" TRUE) - enable_language(RC) - - set(XSLTS "windows;${XSLTS}" CACHE STRING "define a semicolon seperated list of XSLTs to process") + SET(CMAKE_EXECUTABLE_SUFFIX ".exe") + add_module(graphics/win32 "Windows detected" TRUE) + add_plugin(support/win32 "Windows detected" TRUE) + + SET(CMAKE_RC_COMPILE_OBJECT " -O coff -I ${CMAKE_CURRENT_SOURCE_DIR}/navit/gui/win32/resources -i -o ") + set_with_reason(support/ezxml "Windows detected" TRUE) + set_with_reason(speech/espeak "Windows detected" TRUE) + #speech/espeak does use windows threads, and therefore needs only parts of + #espeak lib. INTERNAL_ESPEAK_COMPLETE controls this. + set_with_reason(INTERNAL_ESPEAK_COMPLETE "Windows detected" FALSE) + set_with_reason(support/espeak "Windows detected" TRUE) + set_with_reason(binding/win32 "Windows detected" TRUE) + + # vehicle_file is broken for windows. use vehicle_wince instead + # whicle_wince isn't buildable on non-CE windows ssytems + + # plugins currently not supported on windows + set_with_reason(USE_PLUGINS "win32: currently not supported" FALSE) + + set(HAVE_API_WIN32_BASE 1) + set(EZXML_NOMMAP 1) + + # Image stuff + if(NOT graphics/qt_qpainter) + set_with_reason(USE_SVG "win32: SVGs currently not supported" FALSE) + else(NOT graphics/qt_qpainter) + MESSAGE(STATUS "win32: SVGs may not be supported by every available graphics") + endif(NOT graphics/qt_qpainter) + + set(BIN_DIR bin) + set(SHARE_DIR ./) + set(LOCALE_DIR locale) + set(IMAGE_DIR icons) + + + if(HAVE_GTK2 AND NOT MSVC) + #GTK requires special compile flags + add_definitions("-mms-bitfields") + endif(HAVE_GTK2 AND NOT MSVC) + if(MSVC AND support/espeak) + add_definitions(-DPLATFORM_WINDOWS) + endif(MSVC AND support/espeak) + CHECK_LIBRARY_EXISTS(ws2_32 WSAStartup "" HAVE_WINSOCK) + if(HAVE_WINSOCK) + list(APPEND NAVIT_LIBS ws2_32) + else() + CHECK_LIBRARY_EXISTS(ws2 WSAStartup "" HAVE_WINSOCK_2) + if(HAVE_WINSOCK_2) + set(HAVE_WINSOCK 1) + list(APPEND NAVIT_LIBS ws2) + endif() + endif(HAVE_WINSOCK) + + if(MSVC) + set(HAVE_PRAGMA_PACK 1) + add_plugin(support/xgetopt "Windows detected" TRUE) + endif(MSVC) + set_with_reason(USE_NATIVE_LANGUAGE_SUPPORT "Windows detected" TRUE) + enable_language(RC) + + set(XSLTS "windows;${XSLTS}" CACHE STRING "define a semicolon seperated list of XSLTs to process") endif() if (WIN32 AND NOT WINCE) - set(HAVE_API_WIN32 1) - set(HAVE_STDINT_H 1) - list(APPEND NAVIT_LIBS winmm) + set(HAVE_API_WIN32 1) + set(HAVE_STDINT_H 1) + list(APPEND NAVIT_LIBS winmm) endif() if(WINCE) - add_plugin(support/libc "wince detected" TRUE) - set(HAVE_API_WIN32_CE 1) - set(BUILD_MAPTOOL FALSE) - # mingw32ce since gcc 4.7.0 needs HAVE_PRAGMA_PACK as __attribute__((packed)) is broken, see gcc bug 52991 - set(HAVE_PRAGMA_PACK 1) - set_with_reason(vehicle/file "wince: currently broken" FALSE) - set_with_reason(vehicle/wince "wince detected" TRUE) + add_plugin(support/libc "wince detected" TRUE) + set(HAVE_API_WIN32_CE 1) + set(BUILD_MAPTOOL FALSE) + # mingw32ce since gcc 4.7.0 needs HAVE_PRAGMA_PACK as __attribute__((packed)) is broken, see gcc bug 52991 + set(HAVE_PRAGMA_PACK 1) + set_with_reason(vehicle/file "wince: currently broken" FALSE) + set_with_reason(vehicle/wince "wince detected" TRUE) endif() if (APPLE OR USE_UIKIT) - set_with_reason(vehicle/iphone "apple detected" TRUE) - set_with_reason(graphics/cocoa "apple detected" TRUE) - if (EXISTS "${CMAKE_OSX_SYSROOT}/System/Library/PrivateFrameworks/VoiceServices.framework") - set_with_reason(speech/iphone "apple detected" TRUE) - endif() - set(BUILD_BUNDLE TRUE CACHE BOOLEAN "build an osx bundle") + set_with_reason(vehicle/iphone "apple detected" TRUE) + set_with_reason(graphics/cocoa "apple detected" TRUE) + if (EXISTS "${CMAKE_OSX_SYSROOT}/System/Library/PrivateFrameworks/VoiceServices.framework") + set_with_reason(speech/iphone "apple detected" TRUE) + endif() + set(BUILD_BUNDLE TRUE CACHE BOOLEAN "build an osx bundle") endif() if(CMAKE_SIZEOF_VOID_P LESS 8) - set_with_reason(BUILD_MAPTOOL "maptool works only on 64 bit architectures" FALSE) + set_with_reason(BUILD_MAPTOOL "maptool works only on 64 bit architectures" FALSE) endif() set(LOCALEDIR "${LOCALE_DIR}") find_program(BZCAT NAMES bzcat) if (SAMPLE_MAP) - if(CMAKE_CROSSCOMPILING) - cfg_feature(SAMPLE_MAP "downloading binary map because of cross compiling" TRUE) - set(DOWNLOAD_SAMPLE_MAP TRUE) - elseif(NOT BZCAT) - cfg_feature(SAMPLE_MAP "downloading binary map because of missing bzcat" TRUE) - set(DOWNLOAD_SAMPLE_MAP TRUE) - elseif(NOT BUILD_MAPTOOL) - cfg_feature(SAMPLE_MAP "downloading binary map because maptool compilation is disabled" TRUE) - set(DOWNLOAD_SAMPLE_MAP TRUE) - endif(CMAKE_CROSSCOMPILING) + if(CMAKE_CROSSCOMPILING) + cfg_feature(SAMPLE_MAP "downloading binary map because of cross compiling" TRUE) + set(DOWNLOAD_SAMPLE_MAP TRUE) + elseif(NOT BZCAT) + cfg_feature(SAMPLE_MAP "downloading binary map because of missing bzcat" TRUE) + set(DOWNLOAD_SAMPLE_MAP TRUE) + elseif(NOT BUILD_MAPTOOL) + cfg_feature(SAMPLE_MAP "downloading binary map because maptool compilation is disabled" TRUE) + set(DOWNLOAD_SAMPLE_MAP TRUE) + endif(CMAKE_CROSSCOMPILING) endif(SAMPLE_MAP) check_symbol_exists (getifaddrs "sys/types.h;ifaddrs.h" HAS_IFADDRS) if (HAS_IFADDRS) - cfg_feature(NETWORK_INFO "ifaddrs.h found" TRUE) + cfg_feature(NETWORK_INFO "ifaddrs.h found" TRUE) endif(HAS_IFADDRS) if(ANDROID) - message(STATUS "Using generator "${CMAKE_GENERATOR}) - if (NOT ${CMAKE_GENERATOR} STREQUAL Ninja) - find_program(ANDROID_LOCATION NAMES android android.bat) - find_program(ANT_LOCATION NAMES ant) - if (NOT ANT_LOCATION) - message_error("Could not find ant. Please install ant and add it to the search path.") - else() - execute_process(COMMAND ${ANT_LOCATION} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/cmake RESULT_VARIABLE ANT_VERSION_OK OUTPUT_QUIET ERROR_QUIET) - if(ANT_VERSION_OK GREATER 0) - message(WARNING "Old ant version detected. If you need crash reporter, update to at least ant 1.8") - endif() - endif() - if (NOT ANDROID_LOCATION) - message_error( "Could not find 'Android SDK and AVD Manager'. Please install the android sdk and add the /tools directory to the search path.") - endif() - set(XSLTS "android;${XSLTS}" CACHE STRING "define a semicolon seperated list of XSLTs to process") - endif (NOT ${CMAKE_GENERATOR} STREQUAL Ninja) - list(APPEND NAVIT_LIBS log) - set(HAVE_API_ANDROID 1) - set_with_reason(speech/cmdline "Android detected" FALSE) - set_with_reason(graphics/null "Android detected" FALSE) - set_with_reason(graphics/android "Android detected" TRUE) - set_with_reason(speech/android "Android detected" TRUE) - set_with_reason(vehicle/android "Android detected" TRUE) - set_with_reason(vehicle/file "Android detected" FALSE) - set_with_reason(map/filter "Android detected" FALSE) - set_with_reason(USE_NATIVE_LANGUAGE_SUPPORT "Android detected" TRUE) -# set_with_reason(plugin/pedestrian "Android detected" TRUE) - set_with_reason(support/libpng "Android detected" FALSE) - set(SHARED_LIBNAVIT TRUE) - - add_feature(XPM2PNG "Android detected" TRUE) - set(NAVIT_COMPILE_FLAGS "${NAVIT_COMPILE_FLAGS} -fPIC") + message(STATUS "Using generator "${CMAKE_GENERATOR}) + if (NOT ${CMAKE_GENERATOR} STREQUAL Ninja) + find_program(ANDROID_LOCATION NAMES android android.bat) + find_program(ANT_LOCATION NAMES ant) + if (NOT ANT_LOCATION) + message_error("Could not find ant. Please install ant and add it to the search path.") + else() + execute_process(COMMAND ${ANT_LOCATION} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/cmake RESULT_VARIABLE ANT_VERSION_OK OUTPUT_QUIET ERROR_QUIET) + if(ANT_VERSION_OK GREATER 0) + message(WARNING "Old ant version detected. If you need crash reporter, update to at least ant 1.8") + endif() + endif() + if (NOT ANDROID_LOCATION) + message_error( "Could not find 'Android SDK and AVD Manager'. Please install the android sdk and add the /tools directory to the search path.") + endif() + set(XSLTS "android;${XSLTS}" CACHE STRING "define a semicolon seperated list of XSLTs to process") + endif (NOT ${CMAKE_GENERATOR} STREQUAL Ninja) + list(APPEND NAVIT_LIBS log) + set(HAVE_API_ANDROID 1) + set_with_reason(speech/cmdline "Android detected" FALSE) + set_with_reason(graphics/null "Android detected" FALSE) + set_with_reason(graphics/android "Android detected" TRUE) + set_with_reason(speech/android "Android detected" TRUE) + set_with_reason(vehicle/android "Android detected" TRUE) + set_with_reason(vehicle/file "Android detected" FALSE) + set_with_reason(map/filter "Android detected" FALSE) + set_with_reason(USE_NATIVE_LANGUAGE_SUPPORT "Android detected" TRUE) + # set_with_reason(plugin/pedestrian "Android detected" TRUE) + set_with_reason(support/libpng "Android detected" FALSE) + set(SHARED_LIBNAVIT TRUE) + + add_feature(XPM2PNG "Android detected" TRUE) + set(NAVIT_COMPILE_FLAGS "${NAVIT_COMPILE_FLAGS} -fPIC") endif(ANDROID) if(FREETYPE_FOUND AND NOT FONTCONFIG_FOUND) - add_subdirectory( "${CMAKE_CURRENT_SOURCE_DIR}/navit/fonts") + add_subdirectory( "${CMAKE_CURRENT_SOURCE_DIR}/navit/fonts") endif() # Image conversion find_program(IMAGE_CONVERTER NAMES convert) execute_process(COMMAND ${IMAGE_CONVERTER} -list format OUTPUT_VARIABLE CONVERT_FORMATS) if(CONVERT_FORMATS MATCHES ".*XPM[ *][ ]*XPM[ ]*r[w-].*") - set(IMAGE_CONVERTER_XPM ${IMAGE_CONVERTER}) + set(IMAGE_CONVERTER_XPM ${IMAGE_CONVERTER}) endif() set(CMAKE_APPBUNDLE_PATH "") if (SVG2PNG) - if (NOT IMAGE_CONVERTER_SVGZ) - set (SVG_CONVERTER_PROGS rsvg-convert ksvgtopng ksvgtopng4 inkscape) - set (CMAKE_FIND_APPBUNDLE "NEVER") - find_program(IMAGE_CONVERTER_SVGZ NAMES ${SVG_CONVERTER_PROGS} PATHS /Applications/Inkscape.app/Contents/Resources/bin) - if (NOT IMAGE_CONVERTER_SVGZ) - if(CONVERT_FORMATS MATCHES ".*[ ]*SVG[ ]*r[w-].*") - set(IMAGE_CONVERTER_SVGZ ${IMAGE_CONVERTER}) - endif() - endif() - endif(NOT IMAGE_CONVERTER_SVGZ) - if (NOT IMAGE_CONVERTER_SVG) - set(IMAGE_CONVERTER_SVG ${IMAGE_CONVERTER_SVGZ}) - endif(NOT IMAGE_CONVERTER_SVG) - - message(STATUS "SVG2PNG-Converter: ${IMAGE_CONVERTER_SVGZ}") - if (NOT IMAGE_CONVERTER_SVGZ) - message(WARNING "No SVG2PNG converter found. Please install one of the following tools: ${SVG_CONVERTER_PROGS}, or imagemagick with svg support") - set_with_reason(SVG2PNG "no converter found" FALSE) - endif(NOT IMAGE_CONVERTER_SVGZ) + if (NOT IMAGE_CONVERTER_SVGZ) + set (SVG_CONVERTER_PROGS rsvg-convert ksvgtopng ksvgtopng4 inkscape) + set (CMAKE_FIND_APPBUNDLE "NEVER") + find_program(IMAGE_CONVERTER_SVGZ NAMES ${SVG_CONVERTER_PROGS} PATHS /Applications/Inkscape.app/Contents/Resources/bin) + if (NOT IMAGE_CONVERTER_SVGZ) + if(CONVERT_FORMATS MATCHES ".*[ ]*SVG[ ]*r[w-].*") + set(IMAGE_CONVERTER_SVGZ ${IMAGE_CONVERTER}) + endif() + endif() + endif(NOT IMAGE_CONVERTER_SVGZ) + if (NOT IMAGE_CONVERTER_SVG) + set(IMAGE_CONVERTER_SVG ${IMAGE_CONVERTER_SVGZ}) + endif(NOT IMAGE_CONVERTER_SVG) + + message(STATUS "SVG2PNG-Converter: ${IMAGE_CONVERTER_SVGZ}") + if (NOT IMAGE_CONVERTER_SVGZ) + message(WARNING "No SVG2PNG converter found. Please install one of the following tools: ${SVG_CONVERTER_PROGS}, or imagemagick with svg support") + set_with_reason(SVG2PNG "no converter found" FALSE) + endif(NOT IMAGE_CONVERTER_SVGZ) endif(SVG2PNG) if (XPM2PNG) - message(STATUS "XPM2PNG-Converter: ${IMAGE_CONVERTER_XPM}") - if (NOT IMAGE_CONVERTER_XPM) - message(WARNING "No XPM2PNG converter found. Please install imagemagick with xpm support") - set_with_reason(XPM2PNG "no converter found" FALSE) - endif(NOT IMAGE_CONVERTER_XPM) + message(STATUS "XPM2PNG-Converter: ${IMAGE_CONVERTER_XPM}") + if (NOT IMAGE_CONVERTER_XPM) + message(WARNING "No XPM2PNG converter found. Please install imagemagick with xpm support") + set_with_reason(XPM2PNG "no converter found" FALSE) + endif(NOT IMAGE_CONVERTER_XPM) endif(XPM2PNG) set(XSLTS ${XSLTS} CACHE STRING "define a semicolon seperated list of XSLTs to process") # Plugins if(USE_PLUGINS) - set(MODULE_BUILD_TYPE "MODULE") - add_definitions("-fPIC") - list(APPEND NAVIT_LIBS dl) + set(MODULE_BUILD_TYPE "MODULE") + add_definitions("-fPIC") + list(APPEND NAVIT_LIBS dl) else() - set(MODULE_BUILD_TYPE "STATIC") + set(MODULE_BUILD_TYPE "STATIC") endif(USE_PLUGINS) message(STATUS "Use plugins: ${MODULE_BUILD_TYPE}") @@ -792,15 +792,15 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY # -Wno-sign-compare: We currently just use int almost everywhere. # Unclear if it's really worth correcting. if(CMAKE_COMPILER_IS_GNUCC OR CCMAKE_COMPILER_IS_GNUCXX) - set(COMMON_COMPILER_FLAGS "-Wall -Wundef -Wcast-align -Wpointer-arith -Wno-unused-parameter -Wno-sign-compare") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_COMPILER_FLAGS}") - set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${COMMON_COMPILER_FLAGS}") - # flags not available in old GCC versions, or not for both C and C++ - add_compiler_flag_if_available("-Wno-missing-field-initializers") - add_compiler_flag_if_available("-Wextra") - add_compiler_flag_if_available("-Wmissing-prototypes") - add_compiler_flag_if_available("-Wstrict-prototypes") - add_compiler_flag_if_available("-Wformat-security") + set(COMMON_COMPILER_FLAGS "-Wall -Wundef -Wcast-align -Wpointer-arith -Wno-unused-parameter -Wno-sign-compare") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_COMPILER_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${COMMON_COMPILER_FLAGS}") + # flags not available in old GCC versions, or not for both C and C++ + add_compiler_flag_if_available("-Wno-missing-field-initializers") + add_compiler_flag_if_available("-Wextra") + add_compiler_flag_if_available("-Wmissing-prototypes") + add_compiler_flag_if_available("-Wstrict-prototypes") + add_compiler_flag_if_available("-Wformat-security") endif() if (EXTRA_DEFINES) @@ -808,54 +808,54 @@ if (EXTRA_DEFINES) endif(EXTRA_DEFINES) if (NOT NAVIT_DEPENDENCY_ERROR) - message("\nSummary:\n") - - set(SUMMARY_COMPONENTS ${ALL_PLUGINS} ${ALL_MODULE_PLUGINS} ${ALL_MODULES}) - list(SORT SUMMARY_COMPONENTS) - - set(LAST_TYPE NONE) - foreach ( SUMMARY_COMP ${SUMMARY_COMPONENTS}) - # split path to type and name - string(REPLACE "/" ";" SUMMARY_COMP_LIST ${SUMMARY_COMP}) - list(GET SUMMARY_COMP_LIST 0 SUMMARY_COMP_TYPE) - list(LENGTH SUMMARY_COMP_LIST SUMMARY_COMP_LIST_LENGTH) - if ( SUMMARY_COMP_LIST_LENGTH GREATER 1 ) - list(GET SUMMARY_COMP_LIST 1 SUMMARY_COMP_NAME) - else() - set(SUMMARY_COMP_NAME ${SUMMARY_COMP}) - endif() - if ( NOT ${LAST_TYPE} STREQUAL ${SUMMARY_COMP_TYPE}) - message("\n--->>> ${SUMMARY_COMP_TYPE}") - set(LAST_TYPE ${SUMMARY_COMP_TYPE}) - endif() - if (${SUMMARY_COMP}) - message("Enabled ${SUMMARY_COMP_NAME} ( ${${SUMMARY_COMP}_REASON} )") - else() - message("Disabled ${SUMMARY_COMP_NAME} ( ${${SUMMARY_COMP}_REASON} )") - endif() - endforeach() - - list(SORT ALL_FEATURES) - message("\n--->>> Features") - foreach ( FEATURE ${ALL_FEATURES}) - if ( ${FEATURE} ) - message("Enabled ${FEATURE} ( ${${FEATURE}_REASON} )") - else() - message("Disabled ${FEATURE} ( ${${FEATURE}_REASON} )") - endif() - endforeach() - - if (XSL_PROCESSING) - if (XSLTS) - message("\nProcessing XSLT files: ${XSLTS}") - else() - message("\nProcessing XSLT files: NONE") - endif(XSLTS) - message("See navit/xslt for available XSLT files, and put them into " - "cache variable 'XSLTS' (without extension .xslt).") - endif(XSL_PROCESSING) - - message("\nTo configure your build use 'cmake -L' to find changeable variables and run cmake again with 'cmake -D = ...'.") + message("\nSummary:\n") + + set(SUMMARY_COMPONENTS ${ALL_PLUGINS} ${ALL_MODULE_PLUGINS} ${ALL_MODULES}) + list(SORT SUMMARY_COMPONENTS) + + set(LAST_TYPE NONE) + foreach ( SUMMARY_COMP ${SUMMARY_COMPONENTS}) + # split path to type and name + string(REPLACE "/" ";" SUMMARY_COMP_LIST ${SUMMARY_COMP}) + list(GET SUMMARY_COMP_LIST 0 SUMMARY_COMP_TYPE) + list(LENGTH SUMMARY_COMP_LIST SUMMARY_COMP_LIST_LENGTH) + if ( SUMMARY_COMP_LIST_LENGTH GREATER 1 ) + list(GET SUMMARY_COMP_LIST 1 SUMMARY_COMP_NAME) + else() + set(SUMMARY_COMP_NAME ${SUMMARY_COMP}) + endif() + if ( NOT ${LAST_TYPE} STREQUAL ${SUMMARY_COMP_TYPE}) + message("\n--->>> ${SUMMARY_COMP_TYPE}") + set(LAST_TYPE ${SUMMARY_COMP_TYPE}) + endif() + if (${SUMMARY_COMP}) + message("Enabled ${SUMMARY_COMP_NAME} ( ${${SUMMARY_COMP}_REASON} )") + else() + message("Disabled ${SUMMARY_COMP_NAME} ( ${${SUMMARY_COMP}_REASON} )") + endif() + endforeach() + + list(SORT ALL_FEATURES) + message("\n--->>> Features") + foreach ( FEATURE ${ALL_FEATURES}) + if ( ${FEATURE} ) + message("Enabled ${FEATURE} ( ${${FEATURE}_REASON} )") + else() + message("Disabled ${FEATURE} ( ${${FEATURE}_REASON} )") + endif() + endforeach() + + if (XSL_PROCESSING) + if (XSLTS) + message("\nProcessing XSLT files: ${XSLTS}") + else() + message("\nProcessing XSLT files: NONE") + endif(XSLTS) + message("See navit/xslt for available XSLT files, and put them into " + "cache variable 'XSLTS' (without extension .xslt).") + endif(XSL_PROCESSING) + + message("\nTo configure your build use 'cmake -L' to find changeable variables and run cmake again with 'cmake -D = ...'.") endif(NOT NAVIT_DEPENDENCY_ERROR) add_subdirectory (navit) @@ -863,5 +863,5 @@ add_subdirectory (man) if (USE_NATIVE_LANGUAGE_SUPPORT) - add_subdirectory (po) + add_subdirectory (po) endif(USE_NATIVE_LANGUAGE_SUPPORT) diff --git a/man/CMakeLists.txt b/man/CMakeLists.txt index 096b529f9..5c0b6c90a 100644 --- a/man/CMakeLists.txt +++ b/man/CMakeLists.txt @@ -1,5 +1,5 @@ INSTALL(FILES maptool.1 DESTINATION ${MAN_DIR}) if(NOT DEFINED NAVIT_BINARY) - set(NAVIT_BINARY navit) + set(NAVIT_BINARY navit) endif() INSTALL(FILES navit.1 DESTINATION ${MAN_DIR} RENAME ${NAVIT_BINARY}.1) diff --git a/navit/CMakeLists.txt b/navit/CMakeLists.txt index a924b3396..e4a6fbd0c 100644 --- a/navit/CMakeLists.txt +++ b/navit/CMakeLists.txt @@ -6,50 +6,50 @@ include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/support") # navit core set(NAVIT_SRC announcement.c atom.c attr.c cache.c callback.c command.c config_.c coord.c country.c data_window.c debug.c - event.c file.c geom.c graphics.c gui.c item.c layout.c log.c main.c map.c maps.c - linguistics.c mapset.c maptype.c menu.c messages.c bookmarks.c navit.c navit_nls.c navigation.c osd.c param.c phrase.c plugin.c popup.c - profile.c profile_option.c projection.c roadprofile.c route.c script.c search.c speech.c start_real.c sunriset.c transform.c track.c - search_houseno_interpol.c util.c vehicle.c vehicleprofile.c xmlconfig.c ) + event.c file.c geom.c graphics.c gui.c item.c layout.c log.c main.c map.c maps.c + linguistics.c mapset.c maptype.c menu.c messages.c bookmarks.c navit.c navit_nls.c navigation.c osd.c param.c phrase.c plugin.c popup.c + profile.c profile_option.c projection.c roadprofile.c route.c script.c search.c speech.c start_real.c sunriset.c transform.c track.c + search_houseno_interpol.c util.c vehicle.c vehicleprofile.c xmlconfig.c ) if(NOT USE_PLUGINS) - list(APPEND NAVIT_SRC ${CMAKE_CURRENT_BINARY_DIR}/builtin.c) + list(APPEND NAVIT_SRC ${CMAKE_CURRENT_BINARY_DIR}/builtin.c) endif(NOT USE_PLUGINS) if (${HAVE_GLIB}) - list(APPEND NAVIT_SRC event_glib.c) + list(APPEND NAVIT_SRC event_glib.c) endif() if(ANDROID) - list(APPEND NAVIT_SRC android.c) - set(NAVIT_LIBNAME navit) + list(APPEND NAVIT_SRC android.c) + set(NAVIT_LIBNAME navit) else() - set(NAVIT_LIBNAME navit_core) + set(NAVIT_LIBNAME navit_core) endif() foreach ( PLUGIN_PATH ${ALL_PLUGINS}) - if (${PLUGIN_PATH}) - include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/${PLUGIN_PATH}") + if (${PLUGIN_PATH}) + include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/${PLUGIN_PATH}") - string(REPLACE "/" "_" MODULE_INC ${PLUGIN_PATH}) - list(APPEND NAVIT_SUPPORT_LIBS ${MODULE_INC}) - endif() + string(REPLACE "/" "_" MODULE_INC ${PLUGIN_PATH}) + list(APPEND NAVIT_SUPPORT_LIBS ${MODULE_INC}) + endif() endforeach() foreach ( MODULE_PATH ${ALL_MODULES}) - if ( ${MODULE_PATH} ) - include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE_PATH}") - - string(REPLACE "/" "_" MODULE_INC ${MODULE_PATH}) - list(APPEND MODULES_PROTOTYPE "\nvoid\tmodule_${MODULE_INC}_init(void)") - list(APPEND MODULES_FUNC "\nmodule_${MODULE_INC}_init()") - - if (NOT USE_PLUGINS) - list(APPEND MODULES_NAME ${MODULE_INC}) - else() - string(REGEX REPLACE "(^[^/]*)/.*" "\\1" ${MODULE_INC}_TYPE ${MODULE_PATH}) - endif() - endif() + if ( ${MODULE_PATH} ) + include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE_PATH}") + + string(REPLACE "/" "_" MODULE_INC ${MODULE_PATH}) + list(APPEND MODULES_PROTOTYPE "\nvoid\tmodule_${MODULE_INC}_init(void)") + list(APPEND MODULES_FUNC "\nmodule_${MODULE_INC}_init()") + + if (NOT USE_PLUGINS) + list(APPEND MODULES_NAME ${MODULE_INC}) + else() + string(REGEX REPLACE "(^[^/]*)/.*" "\\1" ${MODULE_INC}_TYPE ${MODULE_PATH}) + endif() + endif() endforeach() CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/builtin.c.in ${CMAKE_CURRENT_BINARY_DIR}/builtin.c) @@ -58,119 +58,119 @@ include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/fib-1.1") # Add module paths foreach (CURRENT_MODULE ${ALL_PLUGINS} ${ALL_MODULE_PLUGINS} ${ALL_MODULES}) - if (${CURRENT_MODULE}) - add_subdirectory( "${CMAKE_CURRENT_SOURCE_DIR}/${CURRENT_MODULE}") - endif() + if (${CURRENT_MODULE}) + add_subdirectory( "${CMAKE_CURRENT_SOURCE_DIR}/${CURRENT_MODULE}") + endif() endforeach() add_subdirectory (fib-1.1) if(NOT ANDROID) - set(NAVIT_START_SRC start.c) - if(WIN32 OR WINCE AND NOT WIN_OMIT_RESOURCES) - list(APPEND NAVIT_START_SRC ${CMAKE_CURRENT_SOURCE_DIR}/gui/win32/resources/resource.rc) - else() - if (APPLE) - set(NAVIT_START_SRC start_apple.m) - endif() - endif() - if (BUILD_BUNDLE) - list(APPEND NAVIT_START_SRC resources/share resources/Icon.png resources/Default.png) - add_custom_command(OUTPUT resources/Icon.png COMMAND convert -scale 79x79 -crop 60x60+8+19 ${CMAKE_CURRENT_SOURCE_DIR}/icons/desktop_icons/128x128/navit.png resources/Icon.png) - add_custom_command(OUTPUT resources/Default.png COMMAND convert -scale 79x79 -crop 60x60+8+19 ${CMAKE_CURRENT_SOURCE_DIR}/icons/desktop_icons/128x128/navit.png resources/Default.png) - endif() - add_executable(navit ${NAVIT_START_SRC}) - target_link_libraries (navit ${NAVIT_LIBNAME}) - if(DEFINED NAVIT_BINARY) - set_target_properties(navit PROPERTIES OUTPUT_NAME ${NAVIT_BINARY}) - endif(DEFINED NAVIT_BINARY) - if (BUILD_BUNDLE) - add_custom_command(OUTPUT resources/share COMMAND mkdir -p resources/share) - set_source_files_properties(resources/share resources/Icon.png resources/Default.png PROPERTIES MACOSX_PACKAGE_LOCATION Resources) - set_target_properties(navit PROPERTIES MACOSX_BUNDLE TRUE) - set_target_properties(navit PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist) - add_dependencies(navit navit_config_xml_resource) - add_dependencies(navit images_resource) - add_dependencies(navit locale_resource) - endif() + set(NAVIT_START_SRC start.c) + if(WIN32 OR WINCE AND NOT WIN_OMIT_RESOURCES) + list(APPEND NAVIT_START_SRC ${CMAKE_CURRENT_SOURCE_DIR}/gui/win32/resources/resource.rc) + else() + if (APPLE) + set(NAVIT_START_SRC start_apple.m) + endif() + endif() + if (BUILD_BUNDLE) + list(APPEND NAVIT_START_SRC resources/share resources/Icon.png resources/Default.png) + add_custom_command(OUTPUT resources/Icon.png COMMAND convert -scale 79x79 -crop 60x60+8+19 ${CMAKE_CURRENT_SOURCE_DIR}/icons/desktop_icons/128x128/navit.png resources/Icon.png) + add_custom_command(OUTPUT resources/Default.png COMMAND convert -scale 79x79 -crop 60x60+8+19 ${CMAKE_CURRENT_SOURCE_DIR}/icons/desktop_icons/128x128/navit.png resources/Default.png) + endif() + add_executable(navit ${NAVIT_START_SRC}) + target_link_libraries (navit ${NAVIT_LIBNAME}) + if(DEFINED NAVIT_BINARY) + set_target_properties(navit PROPERTIES OUTPUT_NAME ${NAVIT_BINARY}) + endif(DEFINED NAVIT_BINARY) + if (BUILD_BUNDLE) + add_custom_command(OUTPUT resources/share COMMAND mkdir -p resources/share) + set_source_files_properties(resources/share resources/Icon.png resources/Default.png PROPERTIES MACOSX_PACKAGE_LOCATION Resources) + set_target_properties(navit PROPERTIES MACOSX_BUNDLE TRUE) + set_target_properties(navit PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist) + add_dependencies(navit navit_config_xml_resource) + add_dependencies(navit images_resource) + add_dependencies(navit locale_resource) + endif() endif() if (SHARED_LIBNAVIT) - add_library (${NAVIT_LIBNAME} SHARED ${NAVIT_SRC} ) + add_library (${NAVIT_LIBNAME} SHARED ${NAVIT_SRC} ) else(SHARED_LIBNAVIT) - add_library (${NAVIT_LIBNAME} STATIC ${NAVIT_SRC} ) + add_library (${NAVIT_LIBNAME} STATIC ${NAVIT_SRC} ) endif(SHARED_LIBNAVIT) if(NOT MSVC) - SET(NAVIT_LIBS ${NAVIT_LIBS} m) + SET(NAVIT_LIBS ${NAVIT_LIBS} m) endif(NOT MSVC) target_link_libraries(${NAVIT_LIBNAME} ${MODULES_NAME} ${NAVIT_SUPPORT_LIBS} fib ${NAVIT_LIBS} ) set_target_properties(${NAVIT_LIBNAME} PROPERTIES COMPILE_DEFINITIONS "MODULE=navit;LIBDIR=\"${CMAKE_INSTALL_PREFIX}/${LIB_DIR}\";PREFIX=\"${CMAKE_INSTALL_PREFIX}\"") if (DEFINED NAVIT_COMPILE_FLAGS) - set_target_properties(${NAVIT_LIBNAME} PROPERTIES COMPILE_FLAGS "${NAVIT_COMPILE_FLAGS}") + set_target_properties(${NAVIT_LIBNAME} PROPERTIES COMPILE_FLAGS "${NAVIT_COMPILE_FLAGS}") endif() ADD_CUSTOM_TARGET( - git_version - ${CMAKE_COMMAND} -D SRC=${CMAKE_CURRENT_SOURCE_DIR}/version.h.in - -D DST=${CMAKE_CURRENT_BINARY_DIR}/version.h - -D NAME="GIT_VERSION" - -P ${PROJECT_SOURCE_DIR}/cmake/version.cmake -) + git_version + ${CMAKE_COMMAND} -D SRC=${CMAKE_CURRENT_SOURCE_DIR}/version.h.in + -D DST=${CMAKE_CURRENT_BINARY_DIR}/version.h + -D NAME="GIT_VERSION" + -P ${PROJECT_SOURCE_DIR}/cmake/version.cmake + ) add_custom_command( - OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/navit.dtd" - COMMENT "Copy navit.dtd to ${CMAKE_CURRENT_BINARY_DIR}/navit.dtd" - COMMAND ${CMAKE_COMMAND} -E copy "${PROJECT_SOURCE_DIR}/navit/navit.dtd" "${CMAKE_CURRENT_BINARY_DIR}/navit.dtd" -) + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/navit.dtd" + COMMENT "Copy navit.dtd to ${CMAKE_CURRENT_BINARY_DIR}/navit.dtd" + COMMAND ${CMAKE_COMMAND} -E copy "${PROJECT_SOURCE_DIR}/navit/navit.dtd" "${CMAKE_CURRENT_BINARY_DIR}/navit.dtd" + ) # additional parameter are passed to the stylesheet processor as parameter macro(process_xslt SRC_XML DEST_XML) - set(XSLT_COMMANDS COMMAND ${CMAKE_COMMAND} -E copy "${PROJECT_SOURCE_DIR}/navit/navit_shipped.xml" "${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML}" ) - if(XSL_PROCESSING) - if(NOT XSLTS STREQUAL "") - string(REPLACE "," ";" XSLTS "${XSLTS}") - foreach(tmp ${XSLTS}) - set(XSLT_FILE "${PROJECT_SOURCE_DIR}/navit/xslt/${tmp}.xslt") - list(APPEND XSLT_FILES "${XSLT_FILE}") - list(APPEND XSLT_COMMANDS COMMAND ${CMAKE_COMMAND} -E echo Applying ${tmp}.xslt) - compose_xslt_transform_command(CMD "${XSLT_FILE}" "${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML}" "${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML}.tmp" "${ARGN}") - list(APPEND XSLT_COMMANDS ${CMD}) - list(APPEND XSLT_COMMANDS COMMAND ${CMAKE_COMMAND} -E rename "${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML}.tmp" ${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML}) - endforeach() - endif() - endif(XSL_PROCESSING) - # Depend on all XSLT files, because the main XSLT file may pull in other files. - # Ideally we'd parse the main XSLT file for includes, but that is tricky to do reliably. - # Note that this list of files is only updated when (re)running CMake, so if files are - # added/deleted, CMake must be re-run manually. - file(GLOB ALL_XSLT_FILES "${PROJECT_SOURCE_DIR}/navit/xslt/*.xslt") - #message(FATAL_ERROR ${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML}) - ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML} - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/navit/xslt/ - DEPENDS ${SRC_XML} "${CMAKE_CURRENT_BINARY_DIR}/navit.dtd" ${ALL_XSLT_FILES} - ${XSLT_COMMANDS} - ) + set(XSLT_COMMANDS COMMAND ${CMAKE_COMMAND} -E copy "${PROJECT_SOURCE_DIR}/navit/navit_shipped.xml" "${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML}" ) + if(XSL_PROCESSING) + if(NOT XSLTS STREQUAL "") + string(REPLACE "," ";" XSLTS "${XSLTS}") + foreach(tmp ${XSLTS}) + set(XSLT_FILE "${PROJECT_SOURCE_DIR}/navit/xslt/${tmp}.xslt") + list(APPEND XSLT_FILES "${XSLT_FILE}") + list(APPEND XSLT_COMMANDS COMMAND ${CMAKE_COMMAND} -E echo Applying ${tmp}.xslt) + compose_xslt_transform_command(CMD "${XSLT_FILE}" "${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML}" "${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML}.tmp" "${ARGN}") + list(APPEND XSLT_COMMANDS ${CMD}) + list(APPEND XSLT_COMMANDS COMMAND ${CMAKE_COMMAND} -E rename "${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML}.tmp" ${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML}) + endforeach() + endif() + endif(XSL_PROCESSING) + # Depend on all XSLT files, because the main XSLT file may pull in other files. + # Ideally we'd parse the main XSLT file for includes, but that is tricky to do reliably. + # Note that this list of files is only updated when (re)running CMake, so if files are + # added/deleted, CMake must be re-run manually. + file(GLOB ALL_XSLT_FILES "${PROJECT_SOURCE_DIR}/navit/xslt/*.xslt") + #message(FATAL_ERROR ${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML}) + ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML} + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/navit/xslt/ + DEPENDS ${SRC_XML} "${CMAKE_CURRENT_BINARY_DIR}/navit.dtd" ${ALL_XSLT_FILES} + ${XSLT_COMMANDS} + ) endmacro() if(ANDROID) - process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navitxxxhdpi.xml OSD_SIZE=5.33 ICON_SMALL=128 ICON_MEDIUM=192 ICON_BIG=256) - process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navitxxhdpi.xml OSD_SIZE=4 ICON_SMALL=96 ICON_MEDIUM=128 ICON_BIG=192) - process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navitxhdpi.xml OSD_SIZE=2.67 ICON_SMALL=64 ICON_MEDIUM=96 ICON_BIG=128) - process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navithdpi.xml OSD_SIZE=2 ICON_SMALL=48 ICON_MEDIUM=64 ICON_BIG=96) - process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navitmdpi.xml OSD_SIZE=1.33 ICON_SMALL=32 ICON_MEDIUM=48 ICON_BIG=64) - process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navitldpi.xml OSD_SIZE=1 ICON_SMALL=24 ICON_MEDIUM=32 ICON_BIG=48) - add_custom_target( navit_config_xml ALL DEPENDS navitxxxhdpi.xml navitxxhdpi.xml navitxhdpi.xml navithdpi.xml navitmdpi.xml navitldpi.xml) + process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navitxxxhdpi.xml OSD_SIZE=5.33 ICON_SMALL=128 ICON_MEDIUM=192 ICON_BIG=256) + process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navitxxhdpi.xml OSD_SIZE=4 ICON_SMALL=96 ICON_MEDIUM=128 ICON_BIG=192) + process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navitxhdpi.xml OSD_SIZE=2.67 ICON_SMALL=64 ICON_MEDIUM=96 ICON_BIG=128) + process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navithdpi.xml OSD_SIZE=2 ICON_SMALL=48 ICON_MEDIUM=64 ICON_BIG=96) + process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navitmdpi.xml OSD_SIZE=1.33 ICON_SMALL=32 ICON_MEDIUM=48 ICON_BIG=64) + process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navitldpi.xml OSD_SIZE=1 ICON_SMALL=24 ICON_MEDIUM=32 ICON_BIG=48) + add_custom_target( navit_config_xml ALL DEPENDS navitxxxhdpi.xml navitxxhdpi.xml navitxhdpi.xml navithdpi.xml navitmdpi.xml navitldpi.xml) else() - process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navit.xml "") - add_custom_target( navit_config_xml_resource DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/navit.xml COMMAND mkdir -p resources/share/navit COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/navit.xml resources/share/navit) - add_custom_target( locale_resource DEPENDS locales COMMAND mkdir -p resources/share COMMAND cp -a ${CMAKE_CURRENT_BINARY_DIR}/../locale resources/share/locale) - add_custom_target( navit_config_xml ALL DEPENDS navit.xml) + process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navit.xml "") + add_custom_target( navit_config_xml_resource DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/navit.xml COMMAND mkdir -p resources/share/navit COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/navit.xml resources/share/navit) + add_custom_target( locale_resource DEPENDS locales COMMAND mkdir -p resources/share COMMAND cp -a ${CMAKE_CURRENT_BINARY_DIR}/../locale resources/share/locale) + add_custom_target( navit_config_xml ALL DEPENDS navit.xml) endif() ADD_DEPENDENCIES(${NAVIT_LIBNAME} git_version) if (USE_LIBGNUINTL AND NOT HAVE_GLIB) - ADD_DEPENDENCIES(support_glib support_gettext_intl) + ADD_DEPENDENCIES(support_glib support_gettext_intl) endif() @@ -178,30 +178,30 @@ add_subdirectory (maptool) add_subdirectory (icons) add_subdirectory (maps) if(ANDROID) - add_subdirectory (android) + add_subdirectory (android) endif() install(TARGETS navit - DESTINATION ${BIN_DIR} - PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + DESTINATION ${BIN_DIR} + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/navit.xml - DESTINATION ${SHARE_DIR} - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) + DESTINATION ${SHARE_DIR} + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) get_directory_property(INCLUDE_DIRECTORIES INCLUDE_DIRECTORIES) WRITE_FILE("cmake_plugin_settings.txt" - "set(APPLE ${APPLE} CACHE BOOL init)\n" - "set(ANDROID ${ANDROID} CACHE BOOL init)\n" - "set(USE_PLUGINS ${USE_PLUGINS} CACHE BOOL init)\n" - "set(MODULE_BUILD_TYPE \"${MODULE_BUILD_TYPE}\" CACHE STRING init)\n" - "set(NAVIT_COMPILE_FLAGS \"${NAVIT_COMPILE_FLAGS}\" CACHE STRING init)\n" - "set(navit_SOURCE_DIR \"${navit_SOURCE_DIR}\" CACHE STRING init)\n" - "set(NAVIT_LIBNAME \"${NAVIT_LIBNAME}\" CACHE STRING init)\n" - "set(ANDROID_API_VERSION \"${ANDROID_API_VERSION}\" CACHE STRING init)\n" - "set(ANDROID_NDK_API_VERSION \"${ANDROID_NDK_API_VERSION}\" CACHE STRING init)\n" - "set(CMAKE_TOOLCHAIN_FILE \"${CMAKE_TOOLCHAIN_FILE}\" CACHE STRING init)\n" - "set(INCLUDE_DIRECTORIES \"${INCLUDE_DIRECTORIES}\" CACHE STRING init)\n" - "set(LIB_DIR \"${LIB_DIR}\" CACHE STRING init)\n" - "set(CMAKE_INSTALL_PREFIX \"${CMAKE_INSTALL_PREFIX}\" CACHE STRING init)\n" -) + "set(APPLE ${APPLE} CACHE BOOL init)\n" + "set(ANDROID ${ANDROID} CACHE BOOL init)\n" + "set(USE_PLUGINS ${USE_PLUGINS} CACHE BOOL init)\n" + "set(MODULE_BUILD_TYPE \"${MODULE_BUILD_TYPE}\" CACHE STRING init)\n" + "set(NAVIT_COMPILE_FLAGS \"${NAVIT_COMPILE_FLAGS}\" CACHE STRING init)\n" + "set(navit_SOURCE_DIR \"${navit_SOURCE_DIR}\" CACHE STRING init)\n" + "set(NAVIT_LIBNAME \"${NAVIT_LIBNAME}\" CACHE STRING init)\n" + "set(ANDROID_API_VERSION \"${ANDROID_API_VERSION}\" CACHE STRING init)\n" + "set(ANDROID_NDK_API_VERSION \"${ANDROID_NDK_API_VERSION}\" CACHE STRING init)\n" + "set(CMAKE_TOOLCHAIN_FILE \"${CMAKE_TOOLCHAIN_FILE}\" CACHE STRING init)\n" + "set(INCLUDE_DIRECTORIES \"${INCLUDE_DIRECTORIES}\" CACHE STRING init)\n" + "set(LIB_DIR \"${LIB_DIR}\" CACHE STRING init)\n" + "set(CMAKE_INSTALL_PREFIX \"${CMAKE_INSTALL_PREFIX}\" CACHE STRING init)\n" + ) diff --git a/navit/android/CMakeLists.txt b/navit/android/CMakeLists.txt index 6720f4e6d..f78532297 100644 --- a/navit/android/CMakeLists.txt +++ b/navit/android/CMakeLists.txt @@ -1,86 +1,86 @@ if (ANDROID AND NOT ${CMAKE_GENERATOR} STREQUAL Ninja) - FILE(GLOB SRC_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "src/*/*/*/*") + FILE(GLOB SRC_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "src/*/*/*/*") - foreach ( PERMISSION ${ANDROID_PERMISSIONS}) - set(ANDROID_PERMISSIONS_EXPANDED "${ANDROID_PERMISSIONS_EXPANDED}" ) - endforeach() + foreach ( PERMISSION ${ANDROID_PERMISSIONS}) + set(ANDROID_PERMISSIONS_EXPANDED "${ANDROID_PERMISSIONS_EXPANDED}" ) + endforeach() - # Generate Android string resource files from gettext .po.in files. - # Note: Android language resources should have two letter ISO 639-1 code, and, optionally, iso-3166-1-alpha-2 region code, - # so we skip all translation files which do not conform these requirements. - FILE(GLOB POIN_FILES1 RELATIVE ${CMAKE_SOURCE_DIR}/po "${CMAKE_SOURCE_DIR}/po/??.po.in") - FILE(GLOB POIN_FILES2 RELATIVE ${CMAKE_SOURCE_DIR}/po "${CMAKE_SOURCE_DIR}/po/??_??.po.in") - set(POIN_FILES ${POIN_FILES1} ${POIN_FILES2}) - foreach (POIN_FILE ${POIN_FILES}) - string(REPLACE ".po.in" "" LANG ${POIN_FILE}) - string(REPLACE "_" "-r" LANG ${LANG}) - set(LANG_RESOURCES ${LANG_RESOURCES} "${CMAKE_CURRENT_BINARY_DIR}/res/values-${LANG}/strings.xml") - compose_xslt_transform_command(TRANS "${CMAKE_CURRENT_SOURCE_DIR}/po2xml.xslt" "${CMAKE_CURRENT_SOURCE_DIR}/res/values/strings.xml" "${CMAKE_CURRENT_BINARY_DIR}/res/values-${LANG}/strings.xml" "po_file=${CMAKE_SOURCE_DIR}/po/${POIN_FILE}") - ADD_CUSTOM_COMMAND( - OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/res/values-${LANG}/strings.xml" - DEPENDS "${CMAKE_BINARY_DIR}/po/navit.pot" "${CMAKE_SOURCE_DIR}/po/${POIN_FILE}" "${CMAKE_CURRENT_SOURCE_DIR}/po2xml.xslt" "${CMAKE_CURRENT_SOURCE_DIR}/res/values/strings.xml" - COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/res/values-${LANG} - ${TRANS} - ) - endforeach(POIN_FILE ${POIN_FILES}) + # Generate Android string resource files from gettext .po.in files. + # Note: Android language resources should have two letter ISO 639-1 code, and, optionally, iso-3166-1-alpha-2 region code, + # so we skip all translation files which do not conform these requirements. + FILE(GLOB POIN_FILES1 RELATIVE ${CMAKE_SOURCE_DIR}/po "${CMAKE_SOURCE_DIR}/po/??.po.in") + FILE(GLOB POIN_FILES2 RELATIVE ${CMAKE_SOURCE_DIR}/po "${CMAKE_SOURCE_DIR}/po/??_??.po.in") + set(POIN_FILES ${POIN_FILES1} ${POIN_FILES2}) + foreach (POIN_FILE ${POIN_FILES}) + string(REPLACE ".po.in" "" LANG ${POIN_FILE}) + string(REPLACE "_" "-r" LANG ${LANG}) + set(LANG_RESOURCES ${LANG_RESOURCES} "${CMAKE_CURRENT_BINARY_DIR}/res/values-${LANG}/strings.xml") + compose_xslt_transform_command(TRANS "${CMAKE_CURRENT_SOURCE_DIR}/po2xml.xslt" "${CMAKE_CURRENT_SOURCE_DIR}/res/values/strings.xml" "${CMAKE_CURRENT_BINARY_DIR}/res/values-${LANG}/strings.xml" "po_file=${CMAKE_SOURCE_DIR}/po/${POIN_FILE}") + ADD_CUSTOM_COMMAND( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/res/values-${LANG}/strings.xml" + DEPENDS "${CMAKE_BINARY_DIR}/po/navit.pot" "${CMAKE_SOURCE_DIR}/po/${POIN_FILE}" "${CMAKE_CURRENT_SOURCE_DIR}/po2xml.xslt" "${CMAKE_CURRENT_SOURCE_DIR}/res/values/strings.xml" + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/res/values-${LANG} + ${TRANS} + ) + endforeach(POIN_FILE ${POIN_FILES}) - add_custom_command ( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/AndroidManifest.xml - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/AndroidManifest.xml.cmake - COMMAND ${CMAKE_COMMAND} -D SRC=${CMAKE_CURRENT_SOURCE_DIR}/AndroidManifest.xml.cmake - -D DST=${CMAKE_CURRENT_BINARY_DIR}/AndroidManifest.xml - -D NAME=ANDROID_VERSION_INT - -D ANDROID_VERSION_NAME=${PACKAGE_STRING} - -D ANDROID_API_VERSION=${ANDROID_API_VERSION} - -D ANDROID_PERMISSIONS:string="${ANDROID_PERMISSIONS_EXPANDED}" - -D STRIP_M="1" - -P ${PROJECT_SOURCE_DIR}/cmake/version.cmake - ) + add_custom_command ( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/AndroidManifest.xml + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/AndroidManifest.xml.cmake + COMMAND ${CMAKE_COMMAND} -D SRC=${CMAKE_CURRENT_SOURCE_DIR}/AndroidManifest.xml.cmake + -D DST=${CMAKE_CURRENT_BINARY_DIR}/AndroidManifest.xml + -D NAME=ANDROID_VERSION_INT + -D ANDROID_VERSION_NAME=${PACKAGE_STRING} + -D ANDROID_API_VERSION=${ANDROID_API_VERSION} + -D ANDROID_PERMISSIONS:string="${ANDROID_PERMISSIONS_EXPANDED}" + -D STRIP_M="1" + -P ${PROJECT_SOURCE_DIR}/cmake/version.cmake + ) - add_custom_command ( - OUTPUT build.xml - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/AndroidManifest.xml ${SRC_FILES} - COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} - COMMAND android update project -t android-${ANDROID_API_VERSION} -p ${CMAKE_CURRENT_BINARY_DIR} - ) + add_custom_command ( + OUTPUT build.xml + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/AndroidManifest.xml ${SRC_FILES} + COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} + COMMAND android update project -t android-${ANDROID_API_VERSION} -p ${CMAKE_CURRENT_BINARY_DIR} + ) - add_custom_target( android_resources - DEPENDS build.xml ${MODULES_NAME} ${NAVIT_SUPPORT_LIBS} ${LANG_RESOURCES} - COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/res/raw/ - COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/libs/${ANDROID_ARCH} - COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/navit/libnavit.so ${CMAKE_CURRENT_BINARY_DIR}/libs/${ANDROID_ARCH}/ - COMMAND ${CMAKE_COMMAND} - -D GLOB_EXP="${PROJECT_BINARY_DIR}/navit/navit*.xml" - -D DST=${CMAKE_CURRENT_BINARY_DIR}/res/raw - -P ${PROJECT_SOURCE_DIR}/cmake/copy_files.cmake - COMMAND ${CMAKE_COMMAND} - -D GLOB_EXP="${PROJECT_BINARY_DIR}/navit/icons/*.png" - -D DST=${CMAKE_CURRENT_BINARY_DIR}/res/drawable-nodpi - -D LOWER=1 - -P ${PROJECT_SOURCE_DIR}/cmake/copy_files.cmake - COMMAND ${CMAKE_COMMAND} - -D GLOB_EXP="${PROJECT_BINARY_DIR}/navit/*/*/.libs/lib[b-z]*.so" - -D DST=${CMAKE_CURRENT_BINARY_DIR}/libs/${ANDROID_ARCH} - -P ${PROJECT_SOURCE_DIR}/cmake/copy_files.cmake - COMMAND ${CMAKE_COMMAND} - -D GLOB_EXP="${PROJECT_BINARY_DIR}/po/*.mo" - -D DST=${CMAKE_CURRENT_BINARY_DIR}/res/raw - -D LOWER=1 - -P ${PROJECT_SOURCE_DIR}/cmake/copy_files.cmake - ) + add_custom_target( android_resources + DEPENDS build.xml ${MODULES_NAME} ${NAVIT_SUPPORT_LIBS} ${LANG_RESOURCES} + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/res/raw/ + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/libs/${ANDROID_ARCH} + COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/navit/libnavit.so ${CMAKE_CURRENT_BINARY_DIR}/libs/${ANDROID_ARCH}/ + COMMAND ${CMAKE_COMMAND} + -D GLOB_EXP="${PROJECT_BINARY_DIR}/navit/navit*.xml" + -D DST=${CMAKE_CURRENT_BINARY_DIR}/res/raw + -P ${PROJECT_SOURCE_DIR}/cmake/copy_files.cmake + COMMAND ${CMAKE_COMMAND} + -D GLOB_EXP="${PROJECT_BINARY_DIR}/navit/icons/*.png" + -D DST=${CMAKE_CURRENT_BINARY_DIR}/res/drawable-nodpi + -D LOWER=1 + -P ${PROJECT_SOURCE_DIR}/cmake/copy_files.cmake + COMMAND ${CMAKE_COMMAND} + -D GLOB_EXP="${PROJECT_BINARY_DIR}/navit/*/*/.libs/lib[b-z]*.so" + -D DST=${CMAKE_CURRENT_BINARY_DIR}/libs/${ANDROID_ARCH} + -P ${PROJECT_SOURCE_DIR}/cmake/copy_files.cmake + COMMAND ${CMAKE_COMMAND} + -D GLOB_EXP="${PROJECT_BINARY_DIR}/po/*.mo" + -D DST=${CMAKE_CURRENT_BINARY_DIR}/res/raw + -D LOWER=1 + -P ${PROJECT_SOURCE_DIR}/cmake/copy_files.cmake + ) - add_dependencies (android_resources images locales ${NAVIT_LIBNAME}) + add_dependencies (android_resources images locales ${NAVIT_LIBNAME}) - add_custom_target ( apkg - COMMAND ant debug - ) + add_custom_target ( apkg + COMMAND ant debug + ) - add_custom_target ( apkg-release - COMMAND ant release - ) + add_custom_target ( apkg-release + COMMAND ant release + ) - add_dependencies(apkg android_resources) - add_dependencies(apkg-release android_resources) + add_dependencies(apkg android_resources) + add_dependencies(apkg-release android_resources) endif(ANDROID AND NOT ${CMAKE_GENERATOR} STREQUAL Ninja) diff --git a/navit/binding/dbus/CMakeLists.txt b/navit/binding/dbus/CMakeLists.txt index ad6858346..b6378da14 100644 --- a/navit/binding/dbus/CMakeLists.txt +++ b/navit/binding/dbus/CMakeLists.txt @@ -2,9 +2,9 @@ module_add_library(binding_dbus binding_dbus.c) set(bindir ${CMAKE_INSTALL_PREFIX}/${BIN_DIR}) configure_file ( - "${CMAKE_CURRENT_SOURCE_DIR}/org.navit_project.navit.service.in" - "${CMAKE_CURRENT_BINARY_DIR}/org.navit_project.navit.service" -) + "${CMAKE_CURRENT_SOURCE_DIR}/org.navit_project.navit.service.in" + "${CMAKE_CURRENT_BINARY_DIR}/org.navit_project.navit.service" + ) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.navit_project.navit.service DESTINATION ${CMAKE_INSTALL_PREFIX}/share/dbus-1/services/) diff --git a/navit/binding/win32/CMakeLists.txt b/navit/binding/win32/CMakeLists.txt index 710a4dcf6..37b675873 100644 --- a/navit/binding/win32/CMakeLists.txt +++ b/navit/binding/win32/CMakeLists.txt @@ -1,5 +1,5 @@ if (USE_LIBGNUINTL AND NOT HAVE_GLIB) - ADD_DEPENDENCIES(support_glib intl_cmake) + ADD_DEPENDENCIES(support_glib intl_cmake) endif() module_add_library(binding_win32 binding_win32.c) diff --git a/navit/font/freetype/CMakeLists.txt b/navit/font/freetype/CMakeLists.txt index 88470e8ff..c8c945e68 100644 --- a/navit/font/freetype/CMakeLists.txt +++ b/navit/font/freetype/CMakeLists.txt @@ -1,15 +1,15 @@ module_add_library(font_freetype font_freetype.c) if (FRIBIDI_FOUND) - include_directories(${FRIBIDI_INCLUDE_DIRS}) - set_property( - TARGET font_freetype - APPEND PROPERTY COMPILE_DEFINITIONS USE_FRIBIDI=1 - ) - if (NOT FRIBIDI2_FOUND) - set_property( - TARGET font_freetype - APPEND PROPERTY COMPILE_DEFINITIONS FRIBIDIOLD=1 - ) - endif (NOT FRIBIDI2_FOUND) + include_directories(${FRIBIDI_INCLUDE_DIRS}) + set_property( + TARGET font_freetype + APPEND PROPERTY COMPILE_DEFINITIONS USE_FRIBIDI=1 + ) + if (NOT FRIBIDI2_FOUND) + set_property( + TARGET font_freetype + APPEND PROPERTY COMPILE_DEFINITIONS FRIBIDIOLD=1 + ) + endif (NOT FRIBIDI2_FOUND) endif (FRIBIDI_FOUND) diff --git a/navit/fonts/CMakeLists.txt b/navit/fonts/CMakeLists.txt index 28dedecd1..69fb716f3 100644 --- a/navit/fonts/CMakeLists.txt +++ b/navit/fonts/CMakeLists.txt @@ -1,13 +1,13 @@ add_custom_target( fonts ALL DEPENDS ${NAVIT_FONTS} - COMMAND ${CMAKE_COMMAND} - -D GLOB_EXP="${CMAKE_CURRENT_SOURCE_DIR}/*.ttf" #${NAVIT_FONTS}" - -D DST=${CMAKE_CURRENT_BINARY_DIR} - -P ${PROJECT_SOURCE_DIR}/cmake/copy_files.cmake -) + COMMAND ${CMAKE_COMMAND} + -D GLOB_EXP="${CMAKE_CURRENT_SOURCE_DIR}/*.ttf" #${NAVIT_FONTS}" + -D DST=${CMAKE_CURRENT_BINARY_DIR} + -P ${PROJECT_SOURCE_DIR}/cmake/copy_files.cmake + ) FILE(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/*.ttf") install( - FILES ${files} - DESTINATION ${SHARE_DIR}/fonts - PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE -) + FILES ${files} + DESTINATION ${SHARE_DIR}/fonts + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE + ) diff --git a/navit/graphics/CMakeLists.txt b/navit/graphics/CMakeLists.txt index 004accfc8..9e77d361d 100644 --- a/navit/graphics/CMakeLists.txt +++ b/navit/graphics/CMakeLists.txt @@ -4,8 +4,8 @@ add_subdirectory (ezxml) if (HAVE_API_WIN32_BASE) -add_subdirectory (glib) -add_subdirectory (win32) + add_subdirectory (glib) + add_subdirectory (win32) endif (HAVE_API_WIN32_BASE) add_subdirectory (zlib) diff --git a/navit/graphics/cocoa/CMakeLists.txt b/navit/graphics/cocoa/CMakeLists.txt index a4cd31d84..6e7d21e4a 100644 --- a/navit/graphics/cocoa/CMakeLists.txt +++ b/navit/graphics/cocoa/CMakeLists.txt @@ -1,6 +1,6 @@ if (USE_UIKIT) -set(graphics_cocoa_LIBS "-framework Foundation" "-framework UIKit" "-framework CoreGraphics" "-liconv") + set(graphics_cocoa_LIBS "-framework Foundation" "-framework UIKit" "-framework CoreGraphics" "-liconv") else() -set(graphics_cocoa_LIBS "-framework Cocoa" "-liconv") + set(graphics_cocoa_LIBS "-framework Cocoa" "-liconv") endif() module_add_library(graphics_cocoa graphics_cocoa.m) diff --git a/navit/graphics/opengl/CMakeLists.txt b/navit/graphics/opengl/CMakeLists.txt index 1b408e023..382be14c7 100644 --- a/navit/graphics/opengl/CMakeLists.txt +++ b/navit/graphics/opengl/CMakeLists.txt @@ -1,6 +1,6 @@ set(graphics_opengl_SOURCES graphics_opengl.c) if (USE_OPENGLES) - LIST(APPEND graphics_opengl_SOURCES graphics_opengl_x11.c graphics_opengl_egl.c) + LIST(APPEND graphics_opengl_SOURCES graphics_opengl_x11.c graphics_opengl_egl.c) endif (USE_OPENGLES) module_add_library(graphics_opengl ${graphics_opengl_SOURCES}) diff --git a/navit/graphics/qt5/CMakeLists.txt b/navit/graphics/qt5/CMakeLists.txt index ff359e88f..0ba6dbc62 100644 --- a/navit/graphics/qt5/CMakeLists.txt +++ b/navit/graphics/qt5/CMakeLists.txt @@ -15,20 +15,20 @@ set(HAVE_FREETYPE 0) # check if we have FREETYPE if(font/freetype) - set(HAVE_FREETYPE 1) + set(HAVE_FREETYPE 1) endif() # check if we have QML if(USE_QML) - set(QML 1) - qt5_add_resources(QT5_QRC "graphics_qt5.qrc") - set(GRAPHICS_QT5_ADDITIONAL ${GRAPHICS_QT5_ADDITIONAL} "QNavitQuick.cpp" ${QT5_QRC}) + set(QML 1) + qt5_add_resources(QT5_QRC "graphics_qt5.qrc") + set(GRAPHICS_QT5_ADDITIONAL ${GRAPHICS_QT5_ADDITIONAL} "QNavitQuick.cpp" ${QT5_QRC}) endif () #check if we have QWIDGET if(USE_QWIDGET) - set(QWIDGET 1) - set(GRAPHICS_QT5_ADDITIONAL ${GRAPHICS_QT5_ADDITIONAL} "QNavitWidget.cpp") + set(QWIDGET 1) + set(GRAPHICS_QT5_ADDITIONAL ${GRAPHICS_QT5_ADDITIONAL} "QNavitWidget.cpp") endif () module_add_library(graphics_qt5 graphics_qt5.cpp event_qt5.cpp ${GRAPHICS_QT5_ADDITIONAL}) diff --git a/navit/gui/qml/CMakeLists.txt b/navit/gui/qml/CMakeLists.txt index 05456d9bd..4f2f4a8ce 100644 --- a/navit/gui/qml/CMakeLists.txt +++ b/navit/gui/qml/CMakeLists.txt @@ -11,13 +11,13 @@ QT4_GENERATE_MOC(guiProxy.h ${CMAKE_CURRENT_BINARY_DIR}/guiProxy.moc) QT4_GENERATE_MOC(routeProxy.h ${CMAKE_CURRENT_BINARY_DIR}/routeProxy.moc) QT4_GENERATE_MOC(gui_qml.cpp ${CMAKE_CURRENT_BINARY_DIR}/gui_qml.moc) module_add_library(gui_qml gui_qml.cpp - ${CMAKE_CURRENT_BINARY_DIR}/proxy.moc - ${CMAKE_CURRENT_BINARY_DIR}/ngqpoint.moc - ${CMAKE_CURRENT_BINARY_DIR}/searchProxy.moc - ${CMAKE_CURRENT_BINARY_DIR}/bookmarksProxy.moc - ${CMAKE_CURRENT_BINARY_DIR}/vehicleProxy.moc - ${CMAKE_CURRENT_BINARY_DIR}/navitProxy.moc - ${CMAKE_CURRENT_BINARY_DIR}/guiProxy.moc - ${CMAKE_CURRENT_BINARY_DIR}/routeProxy.moc - ${CMAKE_CURRENT_BINARY_DIR}/gui_qml.moc -) + ${CMAKE_CURRENT_BINARY_DIR}/proxy.moc + ${CMAKE_CURRENT_BINARY_DIR}/ngqpoint.moc + ${CMAKE_CURRENT_BINARY_DIR}/searchProxy.moc + ${CMAKE_CURRENT_BINARY_DIR}/bookmarksProxy.moc + ${CMAKE_CURRENT_BINARY_DIR}/vehicleProxy.moc + ${CMAKE_CURRENT_BINARY_DIR}/navitProxy.moc + ${CMAKE_CURRENT_BINARY_DIR}/guiProxy.moc + ${CMAKE_CURRENT_BINARY_DIR}/routeProxy.moc + ${CMAKE_CURRENT_BINARY_DIR}/gui_qml.moc + ) diff --git a/navit/icons/CMakeLists.txt b/navit/icons/CMakeLists.txt index 362d81d8d..9817aa25e 100644 --- a/navit/icons/CMakeLists.txt +++ b/navit/icons/CMakeLists.txt @@ -1,74 +1,74 @@ macro(convert_to_png IMAGE_INPUT IMAGE_OUTPUT SCALE) - get_filename_component(FILE_EXT ${IMAGE_INPUT} EXT) - string(TOUPPER ${FILE_EXT} FILE_TYPE) - string(REGEX REPLACE "^\\." "" FILE_TYPE ${FILE_TYPE}) - if(${IMAGE_CONVERTER_${FILE_TYPE}} MATCHES "rsvg-convert") - if (${SCALE} GREATER 0) - set(SCALE_ARGS --width=${SCALE} --height=${SCALE}) - else() - set(SCALE_ARGS) - endif() - set(COMMAND_ARGS ${SCALE_ARGS} --output ${IMAGE_OUTPUT} ${IMAGE_INPUT}) - elseif(${IMAGE_CONVERTER_${FILE_TYPE}} MATCHES "convert") - if (${SCALE} GREATER 0) - set(SCALE_ARGS -resize ${SCALE}x${SCALE}) - else() - set(SCALE_ARGS) - endif() - set(COMMAND_ARGS -background none ${IMAGE_INPUT} ${SCALE_ARGS} ${IMAGE_OUTPUT}) - elseif(${IMAGE_CONVERTER_${FILE_TYPE}} MATCHES "ksvgtopng") - set (NEW_SCALE ${SCALE}) - if (${SCALE} EQUAL 0) - file(STRINGS ${IMAGE_INPUT} NEW_SCALE_LINE REGEX "[^-]width=\"[0-9pxt.]*\"") - string(REGEX MATCH "width=\"([0-9]*)[pxt]*\"" NEW_SCALE_LINE ${NEW_SCALE_LINE}) - set(NEW_SCALE ${CMAKE_MATCH_1}) - endif() - set(COMMAND_ARGS ${NEW_SCALE} ${NEW_SCALE} ${IMAGE_INPUT} ${IMAGE_OUTPUT}) - elseif(${IMAGE_CONVERTER_${FILE_TYPE}} MATCHES "inkscape") - if (${SCALE} GREATER 0) - set(SCALE_ARGS --export-width=${SCALE} --export-height=${SCALE}) - else() - set(SCALE_ARGS) - endif() - set(COMMAND_ARGS --without-gui --export-background-opacity=0 --export-png ${IMAGE_OUTPUT} ${SCALE_ARGS} ${IMAGE_INPUT}) - else() - message(FATAL_ERROR "no svg2png converter defined here.") - endif() + get_filename_component(FILE_EXT ${IMAGE_INPUT} EXT) + string(TOUPPER ${FILE_EXT} FILE_TYPE) + string(REGEX REPLACE "^\\." "" FILE_TYPE ${FILE_TYPE}) + if(${IMAGE_CONVERTER_${FILE_TYPE}} MATCHES "rsvg-convert") + if (${SCALE} GREATER 0) + set(SCALE_ARGS --width=${SCALE} --height=${SCALE}) + else() + set(SCALE_ARGS) + endif() + set(COMMAND_ARGS ${SCALE_ARGS} --output ${IMAGE_OUTPUT} ${IMAGE_INPUT}) + elseif(${IMAGE_CONVERTER_${FILE_TYPE}} MATCHES "convert") + if (${SCALE} GREATER 0) + set(SCALE_ARGS -resize ${SCALE}x${SCALE}) + else() + set(SCALE_ARGS) + endif() + set(COMMAND_ARGS -background none ${IMAGE_INPUT} ${SCALE_ARGS} ${IMAGE_OUTPUT}) + elseif(${IMAGE_CONVERTER_${FILE_TYPE}} MATCHES "ksvgtopng") + set (NEW_SCALE ${SCALE}) + if (${SCALE} EQUAL 0) + file(STRINGS ${IMAGE_INPUT} NEW_SCALE_LINE REGEX "[^-]width=\"[0-9pxt.]*\"") + string(REGEX MATCH "width=\"([0-9]*)[pxt]*\"" NEW_SCALE_LINE ${NEW_SCALE_LINE}) + set(NEW_SCALE ${CMAKE_MATCH_1}) + endif() + set(COMMAND_ARGS ${NEW_SCALE} ${NEW_SCALE} ${IMAGE_INPUT} ${IMAGE_OUTPUT}) + elseif(${IMAGE_CONVERTER_${FILE_TYPE}} MATCHES "inkscape") + if (${SCALE} GREATER 0) + set(SCALE_ARGS --export-width=${SCALE} --export-height=${SCALE}) + else() + set(SCALE_ARGS) + endif() + set(COMMAND_ARGS --without-gui --export-background-opacity=0 --export-png ${IMAGE_OUTPUT} ${SCALE_ARGS} ${IMAGE_INPUT}) + else() + message(FATAL_ERROR "no svg2png converter defined here.") + endif() - add_custom_command ( - OUTPUT ${IMAGE_OUTPUT} - DEPENDS ${IMAGE_INPUT} - COMMAND ${IMAGE_CONVERTER_${FILE_TYPE}} ${COMMAND_ARGS} - ) + add_custom_command ( + OUTPUT ${IMAGE_OUTPUT} + DEPENDS ${IMAGE_INPUT} + COMMAND ${IMAGE_CONVERTER_${FILE_TYPE}} ${COMMAND_ARGS} + ) endmacro() macro(add_scale_targets IMAGE_SRC IMAGE_NAME) - string(REPLACE "," ";" SCALES "${ARGN}") - set(add_scale_targets_is_first_scale 1) - foreach (CURRENT_SCALE ${SCALES}) - if(add_scale_targets_is_first_scale EQUAL 1) - set (IMAGE_DST ${CMAKE_CURRENT_BINARY_DIR}/${IMAGE_NAME}.png) - set(add_scale_targets_is_first_scale 0) - elseif (${CURRENT_SCALE} EQUAL 0) - set (IMAGE_DST ${CMAKE_CURRENT_BINARY_DIR}/${IMAGE_NAME}.png) - message_error( "Image size value of 0 to leave image unscaled can only be given as the first value in row, e.g. -D svg2png_scaling=0,16,32 " ) - else() - set (IMAGE_DST ${CMAKE_CURRENT_BINARY_DIR}/${IMAGE_NAME}_${CURRENT_SCALE}_${CURRENT_SCALE}.png) - endif() + string(REPLACE "," ";" SCALES "${ARGN}") + set(add_scale_targets_is_first_scale 1) + foreach (CURRENT_SCALE ${SCALES}) + if(add_scale_targets_is_first_scale EQUAL 1) + set (IMAGE_DST ${CMAKE_CURRENT_BINARY_DIR}/${IMAGE_NAME}.png) + set(add_scale_targets_is_first_scale 0) + elseif (${CURRENT_SCALE} EQUAL 0) + set (IMAGE_DST ${CMAKE_CURRENT_BINARY_DIR}/${IMAGE_NAME}.png) + message_error( "Image size value of 0 to leave image unscaled can only be given as the first value in row, e.g. -D svg2png_scaling=0,16,32 " ) + else() + set (IMAGE_DST ${CMAKE_CURRENT_BINARY_DIR}/${IMAGE_NAME}_${CURRENT_SCALE}_${CURRENT_SCALE}.png) + endif() - if(NOT CURRENT_SCALE EQUAL -1) - convert_to_png( - ${CMAKE_CURRENT_SOURCE_DIR}/${IMAGE_SRC} - ${IMAGE_DST} - ${CURRENT_SCALE} - ) - list(APPEND IMAGE_TARGETS ${IMAGE_DST}) - endif() - endforeach() + if(NOT CURRENT_SCALE EQUAL -1) + convert_to_png( + ${CMAKE_CURRENT_SOURCE_DIR}/${IMAGE_SRC} + ${IMAGE_DST} + ${CURRENT_SCALE} + ) + list(APPEND IMAGE_TARGETS ${IMAGE_DST}) + endif() + endforeach() endmacro() if(NOT DEFINED NAVIT_BINARY) - set(NAVIT_BINARY navit CACHE STRING "Navit binary name not defined") + set(NAVIT_BINARY navit CACHE STRING "Navit binary name not defined") endif() #patch binary name in desktop file configure_file(desktop_icons/navit.desktop.in desktop_icons/${PACKAGE}.desktop) @@ -81,59 +81,59 @@ install(FILES desktop_icons/256x256/navit.png DESTINATION share/icons/hicolor/2 #install(FILES bench.xpm DESTINATION ) if (USE_SVG OR SVG2PNG) - FILE(GLOB SVG_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.svg" "*.svgz") + FILE(GLOB SVG_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.svg" "*.svgz") - if(USE_SVG) - list(APPEND IMAGES_TO_COPY ${SVG_FILES}) - endif(USE_SVG) - if(SVG2PNG) - list(APPEND FILES_TO_PNG ${SVG_FILES}) - endif(SVG2PNG) + if(USE_SVG) + list(APPEND IMAGES_TO_COPY ${SVG_FILES}) + endif(USE_SVG) + if(SVG2PNG) + list(APPEND FILES_TO_PNG ${SVG_FILES}) + endif(SVG2PNG) endif() FILE(GLOB XPM_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.xpm") if(XPM2PNG) - foreach (IMAGE_SRC ${SVG_FILES}) - string(REGEX REPLACE ".[a-z]*\$" "" IMAGE ${IMAGE_SRC}) - list(APPEND SVG_FILES_BASENAMES ${IMAGE}) - endforeach() - foreach (IMAGE_SRC ${XPM_FILES}) - string(REGEX REPLACE ".[a-z]*\$" "" IMAGE ${IMAGE_SRC}) - list(FIND SVG_FILES_BASENAMES ${IMAGE} DUP_IMG) - if ( ${DUP_IMG} LESS 0 ) - list(APPEND FILES_TO_PNG ${IMAGE_SRC}) - else() - message(STATUS "image '${IMAGE}': XPM version skipped in favor of SVG") - endif() - endforeach() + foreach (IMAGE_SRC ${SVG_FILES}) + string(REGEX REPLACE ".[a-z]*\$" "" IMAGE ${IMAGE_SRC}) + list(APPEND SVG_FILES_BASENAMES ${IMAGE}) + endforeach() + foreach (IMAGE_SRC ${XPM_FILES}) + string(REGEX REPLACE ".[a-z]*\$" "" IMAGE ${IMAGE_SRC}) + list(FIND SVG_FILES_BASENAMES ${IMAGE} DUP_IMG) + if ( ${DUP_IMG} LESS 0 ) + list(APPEND FILES_TO_PNG ${IMAGE_SRC}) + else() + message(STATUS "image '${IMAGE}': XPM version skipped in favor of SVG") + endif() + endforeach() else() - list(APPEND IMAGES_TO_COPY ${XPM_FILES}) + list(APPEND IMAGES_TO_COPY ${XPM_FILES}) endif(XPM2PNG) foreach (IMAGE_SRC ${FILES_TO_PNG}) - string(REGEX REPLACE ".[a-z]*\$" "" IMAGE ${IMAGE_SRC}) + string(REGEX REPLACE ".[a-z]*\$" "" IMAGE ${IMAGE_SRC}) - if ( IMAGE_SRC MATCHES ".*svgz*" ) - if ( DEFINED svg2png_scaling_nav AND ${IMAGE} MATCHES "^nav_") - add_scale_targets(${IMAGE_SRC} ${IMAGE} ${svg2png_scaling_nav}) - elseif( DEFINED svg2png_scaling_flag AND ${IMAGE} MATCHES "^country_") - add_scale_targets(${IMAGE_SRC} ${IMAGE} ${svg2png_scaling_flag}) - elseif( DEFINED svg2png_scaling) - add_scale_targets(${IMAGE_SRC} ${IMAGE} ${svg2png_scaling}) - endif() - else() - add_scale_targets(${IMAGE_SRC} ${IMAGE} 0) - endif() + if ( IMAGE_SRC MATCHES ".*svgz*" ) + if ( DEFINED svg2png_scaling_nav AND ${IMAGE} MATCHES "^nav_") + add_scale_targets(${IMAGE_SRC} ${IMAGE} ${svg2png_scaling_nav}) + elseif( DEFINED svg2png_scaling_flag AND ${IMAGE} MATCHES "^country_") + add_scale_targets(${IMAGE_SRC} ${IMAGE} ${svg2png_scaling_flag}) + elseif( DEFINED svg2png_scaling) + add_scale_targets(${IMAGE_SRC} ${IMAGE} ${svg2png_scaling}) + endif() + else() + add_scale_targets(${IMAGE_SRC} ${IMAGE} 0) + endif() endforeach() foreach (IMAGE_FILE ${IMAGES_TO_COPY}) - add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${IMAGE_FILE}" - DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${IMAGE_FILE}" - COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/${IMAGE_FILE}" - "${CMAKE_CURRENT_BINARY_DIR}/${IMAGE_FILE}" - ) - list(APPEND IMAGE_TARGETS "${CMAKE_CURRENT_BINARY_DIR}/${IMAGE_FILE}") + add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${IMAGE_FILE}" + DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${IMAGE_FILE}" + COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/${IMAGE_FILE}" + "${CMAKE_CURRENT_BINARY_DIR}/${IMAGE_FILE}" + ) + list(APPEND IMAGE_TARGETS "${CMAKE_CURRENT_BINARY_DIR}/${IMAGE_FILE}") endforeach() add_custom_target(images ALL DEPENDS ${IMAGE_TARGETS}) @@ -141,7 +141,7 @@ add_custom_target(images_resource COMMAND mkdir -p ../resources/share/navit/xpm add_dependencies(images_resource images) install( - FILES ${IMAGE_TARGETS} - DESTINATION ${IMAGE_DIR} - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ -) + FILES ${IMAGE_TARGETS} + DESTINATION ${IMAGE_DIR} + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ + ) diff --git a/navit/map/garmin/CMakeLists.txt b/navit/map/garmin/CMakeLists.txt index b52c8c577..b60128a9c 100644 --- a/navit/map/garmin/CMakeLists.txt +++ b/navit/map/garmin/CMakeLists.txt @@ -4,9 +4,9 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR}) # add the command to generate the source code add_custom_command ( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/g2nbuiltin.h - COMMAND gentypes ${CMAKE_CURRENT_SOURCE_DIR}/garmintypes.txt ${CMAKE_CURRENT_BINARY_DIR}/g2nbuiltin.h - DEPENDS gentypes - ) + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/g2nbuiltin.h + COMMAND gentypes ${CMAKE_CURRENT_SOURCE_DIR}/garmintypes.txt ${CMAKE_CURRENT_BINARY_DIR}/g2nbuiltin.h + DEPENDS gentypes + ) module_add_library(map_garmin garmin.c gar2navit.c g2nbuiltin.h) diff --git a/navit/maps/CMakeLists.txt b/navit/maps/CMakeLists.txt index c3f8ae7c4..3bd7a8f44 100644 --- a/navit/maps/CMakeLists.txt +++ b/navit/maps/CMakeLists.txt @@ -1,44 +1,44 @@ if(SAMPLE_MAP) - set(SAMPLE_MAP_NAME osm_bbox_11.3,47.9,11.7,48.2) - set(maptool_args "--attr-debug-level=5") + set(SAMPLE_MAP_NAME osm_bbox_11.3,47.9,11.7,48.2) + set(maptool_args "--attr-debug-level=5") - GET_TARGET_PROPERTY(MAPTOOL_PATH maptool LOCATION) - add_custom_target(sample_map ALL DEPENDS ${SAMPLE_MAP_NAME}.xml) - add_custom_command ( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.xml - COMMAND ${CMAKE_COMMAND} -D TYPE=binfile -D DATA=${SAMPLE_MAP_NAME}.bin - -D DST=${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.xml - -P ${PROJECT_SOURCE_DIR}/cmake/navit_writemapxml.cmake - VERBATIM - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.bin - ) - if(DOWNLOAD_SAMPLE_MAP) - add_custom_command ( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.bin - COMMAND ${CMAKE_COMMAND} - -D URL=http://www.navit-project.org/maps/${SAMPLE_MAP_NAME}.bin - -D DST=${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.bin - -P ${PROJECT_SOURCE_DIR}/cmake/navit_download.cmake - VERBATIM - ) - else() - add_custom_command ( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.bin - COMMAND bzcat ${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.osm.bz2 - | ${MAPTOOL_PATH} ${maptool_args} ${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.bin - VERBATIM - DEPENDS maptool ${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.osm.bz2 - ) - add_custom_command ( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.osm.bz2 - COMMAND ${CMAKE_COMMAND} - -D URL=http://www.navit-project.org/maps/${SAMPLE_MAP_NAME}.osm.bz2 - -D DST=${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.osm.bz2 - -P ${PROJECT_SOURCE_DIR}/cmake/navit_download.cmake - VERBATIM - ) - endif() - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.bin - DESTINATION ${SHARE_DIR}/maps - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) + GET_TARGET_PROPERTY(MAPTOOL_PATH maptool LOCATION) + add_custom_target(sample_map ALL DEPENDS ${SAMPLE_MAP_NAME}.xml) + add_custom_command ( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.xml + COMMAND ${CMAKE_COMMAND} -D TYPE=binfile -D DATA=${SAMPLE_MAP_NAME}.bin + -D DST=${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.xml + -P ${PROJECT_SOURCE_DIR}/cmake/navit_writemapxml.cmake + VERBATIM + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.bin + ) + if(DOWNLOAD_SAMPLE_MAP) + add_custom_command ( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.bin + COMMAND ${CMAKE_COMMAND} + -D URL=http://www.navit-project.org/maps/${SAMPLE_MAP_NAME}.bin + -D DST=${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.bin + -P ${PROJECT_SOURCE_DIR}/cmake/navit_download.cmake + VERBATIM + ) + else() + add_custom_command ( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.bin + COMMAND bzcat ${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.osm.bz2 + | ${MAPTOOL_PATH} ${maptool_args} ${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.bin + VERBATIM + DEPENDS maptool ${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.osm.bz2 + ) + add_custom_command ( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.osm.bz2 + COMMAND ${CMAKE_COMMAND} + -D URL=http://www.navit-project.org/maps/${SAMPLE_MAP_NAME}.osm.bz2 + -D DST=${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.osm.bz2 + -P ${PROJECT_SOURCE_DIR}/cmake/navit_download.cmake + VERBATIM + ) + endif() + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${SAMPLE_MAP_NAME}.bin + DESTINATION ${SHARE_DIR}/maps + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) endif() diff --git a/navit/maptool/CMakeLists.txt b/navit/maptool/CMakeLists.txt index e208eeea5..b9df91dd4 100644 --- a/navit/maptool/CMakeLists.txt +++ b/navit/maptool/CMakeLists.txt @@ -1,20 +1,20 @@ if(BUILD_MAPTOOL) - add_definitions( -DMODULE=maptool ${NAVIT_COMPILE_FLAGS}) - include_directories(${CMAKE_CURRENT_SOURCE_DIR}) - SET(MAPTOOL_SOURCE boundaries.c buffer.c ch.c coastline.c itembin.c itembin_buffer.c misc.c osm.c osm_o5m.c osm_psql.c osm_relations.c sourcesink.c tempfile.c tile.c zip.c osm_xml.c) - if(NOT MSVC) - SET(MAPTOOL_SOURCE ${MAPTOOL_SOURCE} osm_protobuf.c osm_protobufdb.c generated-code/fileformat.pb-c.c generated-code/osmformat.pb-c.c google/protobuf-c/protobuf-c.c) - endif(NOT MSVC) - add_library (maptool_core ${MAPTOOL_SOURCE}) - add_executable (maptool maptool.c) - if(NOT MSVC) - SET(NAVIT_LIBS ${NAVIT_LIBS} m) - endif(NOT MSVC) - target_link_libraries(maptool maptool_core ${NAVIT_LIBNAME} ${NAVIT_LIBS}) + add_definitions( -DMODULE=maptool ${NAVIT_COMPILE_FLAGS}) + include_directories(${CMAKE_CURRENT_SOURCE_DIR}) + SET(MAPTOOL_SOURCE boundaries.c buffer.c ch.c coastline.c itembin.c itembin_buffer.c misc.c osm.c osm_o5m.c osm_psql.c osm_relations.c sourcesink.c tempfile.c tile.c zip.c osm_xml.c) + if(NOT MSVC) + SET(MAPTOOL_SOURCE ${MAPTOOL_SOURCE} osm_protobuf.c osm_protobufdb.c generated-code/fileformat.pb-c.c generated-code/osmformat.pb-c.c google/protobuf-c/protobuf-c.c) + endif(NOT MSVC) + add_library (maptool_core ${MAPTOOL_SOURCE}) + add_executable (maptool maptool.c) + if(NOT MSVC) + SET(NAVIT_LIBS ${NAVIT_LIBS} m) + endif(NOT MSVC) + target_link_libraries(maptool maptool_core ${NAVIT_LIBNAME} ${NAVIT_LIBS}) - install(TARGETS maptool - DESTINATION ${BIN_DIR} - PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + install(TARGETS maptool + DESTINATION ${BIN_DIR} + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) endif() diff --git a/navit/support/espeak/CMakeLists.txt b/navit/support/espeak/CMakeLists.txt index 6a20511e7..55f461a28 100644 --- a/navit/support/espeak/CMakeLists.txt +++ b/navit/support/espeak/CMakeLists.txt @@ -3,7 +3,7 @@ if(INTERNAL_ESPEAK_COMPLETE) set(ESPEAK_LIBRARY_ADDITIONAL speak_lib.c) endif() supportlib_add_library(support_espeak compiledict.c dictionary.c intonation.c readclause.c setlengths.c - numbers.c synth_mbrola.c synthdata.c synthesize.c translate.c tr_languages.c voices.c wavegen.c - phonemelist.c klatt.c speak_init.c ${ESPEAK_LIBRARY_ADDITIONAL}) + numbers.c synth_mbrola.c synthdata.c synthesize.c translate.c tr_languages.c voices.c wavegen.c + phonemelist.c klatt.c speak_init.c ${ESPEAK_LIBRARY_ADDITIONAL}) install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/espeak-data DESTINATION ${SHARE_DIR} PATTERN ".svn" EXCLUDE) diff --git a/navit/support/glib/CMakeLists.txt b/navit/support/glib/CMakeLists.txt index 322d5467e..56d1ae8d3 100644 --- a/navit/support/glib/CMakeLists.txt +++ b/navit/support/glib/CMakeLists.txt @@ -1,3 +1,3 @@ supportlib_add_library(support_glib fake.c galiasdef.c gatomic.c gerror.c ghash.c - glib_init.c glist.c gmem.c gmessages.c gprimes.c gprintf.c gslice.c gslist.c - gstrfuncs.c gstring.c gutf8.c gutils.c) + glib_init.c glist.c gmem.c gmessages.c gprimes.c gprintf.c gslice.c gslist.c + gstrfuncs.c gstring.c gutf8.c gutils.c) diff --git a/navit/vehicle/gpsd/CMakeLists.txt b/navit/vehicle/gpsd/CMakeLists.txt index 091df2f71..75c3866c4 100644 --- a/navit/vehicle/gpsd/CMakeLists.txt +++ b/navit/vehicle/gpsd/CMakeLists.txt @@ -1,8 +1,8 @@ module_add_library(vehicle_gpsd vehicle_gpsd.c) if (LIBGPS19_FOUND) - set_property( - TARGET vehicle_gpsd - APPEND PROPERTY COMPILE_DEFINITIONS HAVE_LIBGPS19=1 - ) + set_property( + TARGET vehicle_gpsd + APPEND PROPERTY COMPILE_DEFINITIONS HAVE_LIBGPS19=1 + ) endif (LIBGPS19_FOUND) diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt index b907e17d9..da02d43e8 100644 --- a/po/CMakeLists.txt +++ b/po/CMakeLists.txt @@ -1,84 +1,84 @@ FIND_PROGRAM(XGETTEXT xgettext) set(POTFILES - ${PROJECT_SOURCE_DIR}/navit/main.c - ${PROJECT_SOURCE_DIR}/navit/navigation.c - ${PROJECT_SOURCE_DIR}/navit/navit.c - ${PROJECT_SOURCE_DIR}/navit/popup.c - ${PROJECT_SOURCE_DIR}/navit/country.c - ${PROJECT_SOURCE_DIR}/navit/start_real.c - ${PROJECT_SOURCE_DIR}/navit/route.c - ${PROJECT_SOURCE_DIR}/navit/vehicle.c - ${PROJECT_SOURCE_DIR}/navit/bookmarks.c - ${PROJECT_SOURCE_DIR}/navit/gui/gtk/destination.c - ${PROJECT_SOURCE_DIR}/navit/gui/gtk/gui_gtk_action.c - ${PROJECT_SOURCE_DIR}/navit/gui/gtk/gui_gtk_poi.c - ${PROJECT_SOURCE_DIR}/navit/gui/gtk/gui_gtk_statusbar.c - ${PROJECT_SOURCE_DIR}/navit/gui/internal/gui_internal.c - ${PROJECT_SOURCE_DIR}/navit/gui/internal/gui_internal_bookmark.c - ${PROJECT_SOURCE_DIR}/navit/gui/internal/gui_internal_command.c - ${PROJECT_SOURCE_DIR}/navit/gui/internal/gui_internal_html.c - ${PROJECT_SOURCE_DIR}/navit/gui/internal/gui_internal_menu.c - ${PROJECT_SOURCE_DIR}/navit/gui/internal/gui_internal_poi.c - ${PROJECT_SOURCE_DIR}/navit/gui/internal/gui_internal_search.c - ${PROJECT_SOURCE_DIR}/navit/gui/internal/gui_internal_widget.c - ${PROJECT_SOURCE_DIR}/navit/osd/core/osd_core.c - ${CMAKE_CURRENT_BINARY_DIR}/navit_shipped.c - ${CMAKE_CURRENT_BINARY_DIR}/strings_xml.c -) + ${PROJECT_SOURCE_DIR}/navit/main.c + ${PROJECT_SOURCE_DIR}/navit/navigation.c + ${PROJECT_SOURCE_DIR}/navit/navit.c + ${PROJECT_SOURCE_DIR}/navit/popup.c + ${PROJECT_SOURCE_DIR}/navit/country.c + ${PROJECT_SOURCE_DIR}/navit/start_real.c + ${PROJECT_SOURCE_DIR}/navit/route.c + ${PROJECT_SOURCE_DIR}/navit/vehicle.c + ${PROJECT_SOURCE_DIR}/navit/bookmarks.c + ${PROJECT_SOURCE_DIR}/navit/gui/gtk/destination.c + ${PROJECT_SOURCE_DIR}/navit/gui/gtk/gui_gtk_action.c + ${PROJECT_SOURCE_DIR}/navit/gui/gtk/gui_gtk_poi.c + ${PROJECT_SOURCE_DIR}/navit/gui/gtk/gui_gtk_statusbar.c + ${PROJECT_SOURCE_DIR}/navit/gui/internal/gui_internal.c + ${PROJECT_SOURCE_DIR}/navit/gui/internal/gui_internal_bookmark.c + ${PROJECT_SOURCE_DIR}/navit/gui/internal/gui_internal_command.c + ${PROJECT_SOURCE_DIR}/navit/gui/internal/gui_internal_html.c + ${PROJECT_SOURCE_DIR}/navit/gui/internal/gui_internal_menu.c + ${PROJECT_SOURCE_DIR}/navit/gui/internal/gui_internal_poi.c + ${PROJECT_SOURCE_DIR}/navit/gui/internal/gui_internal_search.c + ${PROJECT_SOURCE_DIR}/navit/gui/internal/gui_internal_widget.c + ${PROJECT_SOURCE_DIR}/navit/osd/core/osd_core.c + ${CMAKE_CURRENT_BINARY_DIR}/navit_shipped.c + ${CMAKE_CURRENT_BINARY_DIR}/strings_xml.c + ) # Trick gettext to get translateable strings out of navit_shipped.xml ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/navit_shipped.c - DEPENDS ${PROJECT_SOURCE_DIR}/navit/navit_shipped.xml - COMMAND ${CMAKE_COMMAND} -D SRC=${PROJECT_SOURCE_DIR}/navit/navit_shipped.xml -D DST=${CMAKE_CURRENT_BINARY_DIR}/navit_shipped.c - -P ${PROJECT_SOURCE_DIR}/cmake/navit_xml_parser.cmake -) + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/navit_shipped.c + DEPENDS ${PROJECT_SOURCE_DIR}/navit/navit_shipped.xml + COMMAND ${CMAKE_COMMAND} -D SRC=${PROJECT_SOURCE_DIR}/navit/navit_shipped.xml -D DST=${CMAKE_CURRENT_BINARY_DIR}/navit_shipped.c + -P ${PROJECT_SOURCE_DIR}/cmake/navit_xml_parser.cmake + ) # Trick gettext to get translateable strings out of android strings.xml ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/strings_xml.c - DEPENDS ${PROJECT_SOURCE_DIR}/navit/android/res/values/strings.xml - COMMAND ${CMAKE_COMMAND} -D SRC=${PROJECT_SOURCE_DIR}/navit/android/res/values/strings.xml -D DST=${CMAKE_CURRENT_BINARY_DIR}/strings_xml.c - -P ${PROJECT_SOURCE_DIR}/cmake/strings_xml_parser.cmake -) + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/strings_xml.c + DEPENDS ${PROJECT_SOURCE_DIR}/navit/android/res/values/strings.xml + COMMAND ${CMAKE_COMMAND} -D SRC=${PROJECT_SOURCE_DIR}/navit/android/res/values/strings.xml -D DST=${CMAKE_CURRENT_BINARY_DIR}/strings_xml.c + -P ${PROJECT_SOURCE_DIR}/cmake/strings_xml_parser.cmake + ) ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/navit.pot - DEPENDS ${POTFILES} - COMMAND ${XGETTEXT} --no-location --default-domain=navit_tmp --add-comments --keyword=_ --keyword=_n --keyword=navit_nls_gettext --keyword=navit_nls_ngettext:1,2 ${POTFILES} - COMMAND ${CMAKE_COMMAND} -DMATCHES="CHARSET" -DREPLACE="utf-8" - -DSRC=${CMAKE_CURRENT_BINARY_DIR}/navit_tmp.po -DDST=${CMAKE_CURRENT_BINARY_DIR}/navit.pot - -P ${PROJECT_SOURCE_DIR}/cmake/replace.cmake -) + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/navit.pot + DEPENDS ${POTFILES} + COMMAND ${XGETTEXT} --no-location --default-domain=navit_tmp --add-comments --keyword=_ --keyword=_n --keyword=navit_nls_gettext --keyword=navit_nls_ngettext:1,2 ${POTFILES} + COMMAND ${CMAKE_COMMAND} -DMATCHES="CHARSET" -DREPLACE="utf-8" + -DSRC=${CMAKE_CURRENT_BINARY_DIR}/navit_tmp.po -DDST=${CMAKE_CURRENT_BINARY_DIR}/navit.pot + -P ${PROJECT_SOURCE_DIR}/cmake/replace.cmake + ) FILE(GLOB POIN_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.po.in") string(REPLACE ".po.in" "" LANGUAGES "${POIN_FILES}") foreach (LANG ${LANGUAGES}) - ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${LANG}.po - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/navit.pot ${CMAKE_CURRENT_SOURCE_DIR}/${LANG}.po.in - COMMAND ${CMAKE_COMMAND} -D SRC=${CMAKE_CURRENT_SOURCE_DIR}/${LANG}.po.in -D DST=${CMAKE_CURRENT_BINARY_DIR}/${LANG}.po.tmp -DPACKAGE_STRING=${PACKAGE_STRING} -P ${PROJECT_SOURCE_DIR}/cmake/navit_po_version.cmake - COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --no-fuzzy-matching --verbose --quiet -o "${CMAKE_CURRENT_BINARY_DIR}/${LANG}.po" "${CMAKE_CURRENT_BINARY_DIR}/${LANG}.po.tmp" ${CMAKE_CURRENT_BINARY_DIR}/navit.pot - COMMAND ${CMAKE_COMMAND} -E remove "${CMAKE_CURRENT_BINARY_DIR}/${LANG}.po.tmp" - ) + ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${LANG}.po + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/navit.pot ${CMAKE_CURRENT_SOURCE_DIR}/${LANG}.po.in + COMMAND ${CMAKE_COMMAND} -D SRC=${CMAKE_CURRENT_SOURCE_DIR}/${LANG}.po.in -D DST=${CMAKE_CURRENT_BINARY_DIR}/${LANG}.po.tmp -DPACKAGE_STRING=${PACKAGE_STRING} -P ${PROJECT_SOURCE_DIR}/cmake/navit_po_version.cmake + COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --no-fuzzy-matching --verbose --quiet -o "${CMAKE_CURRENT_BINARY_DIR}/${LANG}.po" "${CMAKE_CURRENT_BINARY_DIR}/${LANG}.po.tmp" ${CMAKE_CURRENT_BINARY_DIR}/navit.pot + COMMAND ${CMAKE_COMMAND} -E remove "${CMAKE_CURRENT_BINARY_DIR}/${LANG}.po.tmp" + ) endforeach(LANG ${LANGUAGES}) foreach (LANG ${LANGUAGES}) - ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${LANG}.mo - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${LANG}.po - COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} --check --verbose --statistics --output-file="${CMAKE_CURRENT_BINARY_DIR}/${LANG}.mo" "${CMAKE_CURRENT_BINARY_DIR}/${LANG}.po" - COMMAND ${CMAKE_COMMAND} -E make_directory "${PROJECT_BINARY_DIR}/locale/${LANG}/LC_MESSAGES" - COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_BINARY_DIR}/${LANG}.mo" "${PROJECT_BINARY_DIR}/locale/${LANG}/LC_MESSAGES/navit.mo" - ) - SET(MOFILES ${CMAKE_CURRENT_BINARY_DIR}/${LANG}.mo ${MOFILES}) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${LANG}.mo DESTINATION ${LOCALE_DIR}/${LANG}/LC_MESSAGES RENAME ${PACKAGE}.mo) + ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${LANG}.mo + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${LANG}.po + COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} --check --verbose --statistics --output-file="${CMAKE_CURRENT_BINARY_DIR}/${LANG}.mo" "${CMAKE_CURRENT_BINARY_DIR}/${LANG}.po" + COMMAND ${CMAKE_COMMAND} -E make_directory "${PROJECT_BINARY_DIR}/locale/${LANG}/LC_MESSAGES" + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_BINARY_DIR}/${LANG}.mo" "${PROJECT_BINARY_DIR}/locale/${LANG}/LC_MESSAGES/navit.mo" + ) + SET(MOFILES ${CMAKE_CURRENT_BINARY_DIR}/${LANG}.mo ${MOFILES}) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${LANG}.mo DESTINATION ${LOCALE_DIR}/${LANG}/LC_MESSAGES RENAME ${PACKAGE}.mo) endforeach(LANG ${LANGUAGES}) add_custom_target(locales ALL DEPENDS ${MOFILES}) -- cgit v1.2.1