From 806b6ace5fc0a8b083c73c273d3e14f41135a6af Mon Sep 17 00:00:00 2001 From: rikky Date: Mon, 2 May 2011 20:07:10 +0000 Subject: [PATCH] Fix:build/cmake:Added building of garmin plugin and some fixes to use same install path as autotools build. thanks pini git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@4465 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- navit/CMakeLists.txt | 19 ++++++++++++++----- navit/Toolchain/mingw32.cmake | 3 +-- navit/navit/CMakeLists.txt | 2 +- navit/navit/font/freetype/CMakeLists.txt | 18 +++++++++++++++++- navit/navit/map/garmin/CMakeLists.txt | 14 ++++++++++++++ navit/navit/vehicle/file/CMakeLists.txt | 3 +++ navit/navit/vehicle/gpsd/CMakeLists.txt | 8 +++++++- navit/navit/vehicle/gpsd/vehicle_gpsd.c | 2 +- navit/navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c | 2 +- navit/navit/xpm/CMakeLists.txt | 8 ++++---- 10 files changed, 63 insertions(+), 16 deletions(-) create mode 100644 navit/navit/map/garmin/CMakeLists.txt diff --git a/navit/CMakeLists.txt b/navit/CMakeLists.txt index 5e88727..f5e1d69 100644 --- a/navit/CMakeLists.txt +++ b/navit/CMakeLists.txt @@ -49,6 +49,7 @@ add_module(speech/dbus "dbus-glib-1 not found" FALSE) add_module(vehicle/gpsd_dbus "dbus-glib-1 not found" FALSE) add_module(speech/speech_dispatcher "speech_dispatcher lib not found" FALSE) add_module(autoload/osso "Default" FALSE) +add_module(map/garmin "Garmin library not found" FALSE) add_feature(ENABLE_NLS "default" TRUE) INCLUDE (CPack) @@ -80,9 +81,11 @@ find_package(Qt4 COMPONENTS QtCore QtGui QtXml QtDeclarative QtSvg OPTIONAL) find_package(PkgConfig) if(PKG_CONFIG_FOUND) pkg_check_modules(QUESOGLC quesoglc) - pkg_check_modules(LIBGPSD libgpsd) + pkg_check_modules(LIBGPS libgps) pkg_check_modules(LIBLOCATION liblocation) pkg_check_modules(LIBOSSO libosso) + pkg_check_modules(LIBGPS19 libgps>=2.90) + pkg_check_modules(LIBGARMIN libgarmin) endif(PKG_CONFIG_FOUND) #Simple checks CHECK_INCLUDE_FILES(wordexp.h HAVE_WORDEXP) @@ -158,8 +161,10 @@ if (NOT Glib_FOUND) 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_LIBRARIES}") + set_with_reason(font/freetype "freetype found" TRUE "${FREETYPE_LIBRARY};${FONTCONFIG_LIBRARIES};${FRIBIDI_LIBRARIES}") add_subdirectory( "${CMAKE_CURRENT_SOURCE_DIR}/navit/fonts") else(FREETYPE_FOUND) MESSAGE("No freetype library found, graphics modules may not be available") @@ -222,14 +227,18 @@ if(SDL_FOUND AND SDLIMAGE_FOUND AND FREETYPE_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 (HAVE_LIBGPS) - set_with_reason(vehicle/gpsd "gpsd lib found" TRUE) -endif(HAVE_LIBGPS) +if (LIBGPS_FOUND) + set_with_reason(vehicle/gpsd "gpsd lib found" TRUE ${LIBGPS_LIBRARIES}) +endif(LIBGPS_FOUND) if (GYPSY_FOUND) set_with_reason(vehicle/gypsy "gypsy lib found" TRUE) endif(GYPSY_FOUND) +if (LIBGARMIN_FOUND) + set_with_reason(map/garmin "Garmin library found" TRUE ${LIBGARMIN_LIBRARIES}) +endif(LIBGARMIN_FOUND) + if(DBusGLib_FOUND) include_directories(${DBusGLib_INCLUDE_DIRS}) set_with_reason(binding/dbus "dbus-glib-1 found" TRUE ${DBusGLib_LIBRARIES}) diff --git a/navit/Toolchain/mingw32.cmake b/navit/Toolchain/mingw32.cmake index cfab92d..89c7eb0 100644 --- a/navit/Toolchain/mingw32.cmake +++ b/navit/Toolchain/mingw32.cmake @@ -12,8 +12,7 @@ EXECUTE_PROCESS( OUTPUT_VARIABLE CMAKE_FIND_ROOT_PATH ) -# Does not work - don't know why -SET(ENV{PKG_CONFIG_SYSROOT_DIR} ${CMAKE_FIND_ROOT_PATH}) +set(PKG_CONFIG_EXECUTABLE "mingw32-pkg-config") set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) diff --git a/navit/navit/CMakeLists.txt b/navit/navit/CMakeLists.txt index 6e304ae..8771d7c 100644 --- a/navit/navit/CMakeLists.txt +++ b/navit/navit/CMakeLists.txt @@ -146,4 +146,4 @@ install(TARGETS navit install(FILES ${CMAKE_CURRENT_BINARY_DIR}/navit.xml DESTINATION ${SHARE_DIR} - PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) diff --git a/navit/navit/font/freetype/CMakeLists.txt b/navit/navit/font/freetype/CMakeLists.txt index 3701874..0c06ee9 100644 --- a/navit/navit/font/freetype/CMakeLists.txt +++ b/navit/navit/font/freetype/CMakeLists.txt @@ -1,2 +1,18 @@ -module_add_library(font_freetype font_freetype.c) +module_add_library(font_freetype font_freetype.c) +if (FRIBIDI_FOUND) + set_property( + TARGET font_freetype + APPEND PROPERTY COMPILE_DEFINITIONS USE_FRIBIDI=1 + ) + set_property( + TARGET font_freetype + APPEND PROPERTY COMPILE_FLAGS "-I${FRIBIDI_INCLUDE_DIRS}" + ) + 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/navit/map/garmin/CMakeLists.txt b/navit/navit/map/garmin/CMakeLists.txt new file mode 100644 index 0000000..7b04954 --- /dev/null +++ b/navit/navit/map/garmin/CMakeLists.txt @@ -0,0 +1,14 @@ +add_executable(gentypes gentypes.c) + +# 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 + ) + +module_add_library(map_garmin garmin.c gar2navit.c g2nbuiltin.h) +set_property( + TARGET map_garmin + APPEND PROPERTY COMPILE_FLAGS "-I${CMAKE_CURRENT_BINARY_DIR}" +) diff --git a/navit/navit/vehicle/file/CMakeLists.txt b/navit/navit/vehicle/file/CMakeLists.txt index 3f14275..764f412 100644 --- a/navit/navit/vehicle/file/CMakeLists.txt +++ b/navit/navit/vehicle/file/CMakeLists.txt @@ -1,4 +1,7 @@ module_add_library(vehicle_file vehicle_file.c) +set (vehicle_pipe_TYPE ${vehicle_file_TYPE}) +set (vehicle_serial_TYPE ${vehicle_file_TYPE}) +set (vehicle_socket_TYPE ${vehicle_file_TYPE}) module_add_library(vehicle_pipe vehicle_pipe.c) module_add_library(vehicle_serial vehicle_serial.c) module_add_library(vehicle_socket vehicle_socket.c) diff --git a/navit/navit/vehicle/gpsd/CMakeLists.txt b/navit/navit/vehicle/gpsd/CMakeLists.txt index 913bc13..091df2f 100644 --- a/navit/navit/vehicle/gpsd/CMakeLists.txt +++ b/navit/navit/vehicle/gpsd/CMakeLists.txt @@ -1,2 +1,8 @@ -module_add_library(vehicle_gpsd vehicle_gpsd.c) +module_add_library(vehicle_gpsd vehicle_gpsd.c) +if (LIBGPS19_FOUND) + set_property( + TARGET vehicle_gpsd + APPEND PROPERTY COMPILE_DEFINITIONS HAVE_LIBGPS19=1 + ) +endif (LIBGPS19_FOUND) diff --git a/navit/navit/vehicle/gpsd/vehicle_gpsd.c b/navit/navit/vehicle/gpsd/vehicle_gpsd.c index 4559399..7d1ad9e 100644 --- a/navit/navit/vehicle/gpsd/vehicle_gpsd.c +++ b/navit/navit/vehicle/gpsd/vehicle_gpsd.c @@ -405,7 +405,7 @@ vehicle_gpsd_position_attr_get(struct vehicle_priv *priv, return 1; } -struct vehicle_methods vehicle_gpsd_methods = { +static struct vehicle_methods vehicle_gpsd_methods = { vehicle_gpsd_destroy, vehicle_gpsd_position_attr_get, }; diff --git a/navit/navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c b/navit/navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c index 8f83a35..79ff13b 100644 --- a/navit/navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c +++ b/navit/navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c @@ -210,7 +210,7 @@ vehicle_gpsd_dbus_set_attr(struct vehicle_priv *priv, struct attr *attr) return vehicle_gpsd_dbus_set_attr_do(priv, attr, 0); } -struct vehicle_methods vehicle_gpsd_methods = { +static struct vehicle_methods vehicle_gpsd_methods = { vehicle_gpsd_dbus_destroy, vehicle_gpsd_dbus_position_attr_get, vehicle_gpsd_dbus_set_attr, diff --git a/navit/navit/xpm/CMakeLists.txt b/navit/navit/xpm/CMakeLists.txt index 942a833..000c317 100644 --- a/navit/navit/xpm/CMakeLists.txt +++ b/navit/navit/xpm/CMakeLists.txt @@ -52,9 +52,9 @@ macro(add_scale_targets IMAGE_SRC IMAGE_NAME) endforeach() endmacro() -#install(FILES desktop_icons/navit.desktop DESTINATION share/applications) -#install(FILES desktop_icons/22x22/navit.png DESTINATION share/icons/hicolor/22x22/apps) -#install(FILES desktop_icons/128x128/navit.png DESTINATION share/icons/hicolor/128x128/apps) +install(FILES desktop_icons/navit.desktop DESTINATION share/applications) +install(FILES desktop_icons/22x22/navit.png DESTINATION share/icons/hicolor/22x22/apps) +install(FILES desktop_icons/128x128/navit.png DESTINATION share/icons/hicolor/128x128/apps) #install(FILES bench.xpm DESTINATION ) if (USE_SVG OR SVG2PNG) @@ -97,5 +97,5 @@ add_custom_target(images ALL DEPENDS ${IMAGE_TARGETS}) install( FILES ${IMAGE_TARGETS} DESTINATION ${IMAGE_DIR} - PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ ) -- 2.7.4