diff options
Diffstat (limited to 'navit/CMakeLists.txt')
-rw-r--r-- | navit/CMakeLists.txt | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/navit/CMakeLists.txt b/navit/CMakeLists.txt new file mode 100644 index 000000000..d477b972e --- /dev/null +++ b/navit/CMakeLists.txt @@ -0,0 +1,111 @@ +include_directories( "${PROJECT_BINARY_DIR}") +include_directories( "${CMAKE_CURRENT_SOURCE_DIR}") +include_directories( "${CMAKE_CURRENT_BINARY_DIR}") +include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/support") + +message("" ) +message("Summary:\n") + +foreach ( PLUGIN_PATH ${ALL_PLUGINS}) + if (${${PLUGIN_PATH}}) + message("Enabled ${PLUGIN_PATH} ( ${${PLUGIN_PATH}_REASON} )") + + include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/${PLUGIN_PATH}") + + string(REPLACE "/" "_" MODULE_INC ${PLUGIN_PATH}) + list(APPEND NAVIT_SUPPORT_LIBS ${MODULE_INC}) + else() + message("Disabled ${PLUGIN_PATH} ( ${${PLUGIN_PATH}_REASON} )") + endif() +endforeach() + +foreach ( MODULE_PATH ${ALL_MODULES}) + if (${${MODULE_PATH}}) + message("Enabled ${MODULE_PATH} ( ${${MODULE_PATH}_REASON} )") + + include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE_PATH}") + + string(REPLACE "/" "_" MODULE_INC ${MODULE_PATH}) + list(APPEND MODULES_PROTOTYPE "void\tmodule_${MODULE_INC}_init(void)\;\\n") + list(APPEND MODULES_FUNC "module_${MODULE_INC}_init()\;\\n") + + if (NOT USE_PLUGINS) + list(APPEND MODULES_NAME ${MODULE_INC}) + endif() + else() + message("Disabled ${MODULE_PATH} ( ${${MODULE_PATH}_REASON} )") + endif() +endforeach() + +message( "") + +include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/fib-1.1") + +# Add module paths +foreach (CURRENT_MODULE ${ALL_PLUGINS} ${ALL_MODULES}) + if (${${CURRENT_MODULE}}) + add_subdirectory( "${CMAKE_CURRENT_SOURCE_DIR}/${CURRENT_MODULE}") + endif() +endforeach() + +add_subdirectory (fib-1.1) + +# navit cre +set(NAVIT_SRC announcement.c atom.c attr.c cache.c callback.c command.c compass.c config_.c coord.c country.c data_window.c debug.c + event.c file.c graphics.c gui.c item.c layout.c log.c main.c map.c + linguistics.c mapset.c maptype.c menu.c messages.c bookmarks.c navit.c navigation.c osd.c param.c phrase.c plugin.c popup.c + profile.c projection.c roadprofile.c route.c routech.c search.c speech.c start_real.c sunriset.c transform.c track.c + util.c vehicle.c vehicleprofile.c xmlconfig.c ) + +if(NOT USE_PLUGINS) + list(APPEND NAVIT_SRC builtin.c) +endif(NOT USE_PLUGINS) + +if (${HAVE_GLIB}) + list(APPEND NAVIT_SRC event_glib.c) +endif() + +add_library (navit_core ${NAVIT_SRC} ) +target_link_libraries(navit_core ${MODULES_NAME} ${NAVIT_SUPPORT_LIBS} fib) # support_glib support_zlib support_win32 support_libpng support_wordexp +set_target_properties(navit_core PROPERTIES COMPILE_DEFINITIONS "MODULE=navit;LIBDIR=\"${CMAKE_INSTALL_PREFIX}/${LIB_DIR}\";PREFIX=\"${CMAKE_INSTALL_PREFIX}\"") +set_target_properties(navit_core PROPERTIES COMPILE_FLAGS ${NAVIT_COMPILE_FLAGS}) + +# Subversion revision +ADD_CUSTOM_TARGET( + version + cd ${CMAKE_CURRENT_SOURCE_DIR} && ${CMAKE_COMMAND} -D SRC=${CMAKE_CURRENT_SOURCE_DIR}/version.h.in + -D DST=${CMAKE_CURRENT_BINARY_DIR}/version.h + -P ${PROJECT_SOURCE_DIR}/cmake/version.cmake +) + +ADD_CUSTOM_COMMAND( + OUTPUT builtin.c + COMMAND echo -e \"${MODULES_PROTOTYPE}\" > ${CMAKE_CURRENT_BINARY_DIR}/builtin.c + COMMAND echo -e \"extern void builtin_init(void)\;\\nvoid builtin_init(void) {\" >> ${CMAKE_CURRENT_BINARY_DIR}/builtin.c + COMMAND echo -e \"${MODULES_FUNC}\" >> ${CMAKE_CURRENT_BINARY_DIR}/builtin.c + COMMAND echo -e "\"}\"" >> ${CMAKE_CURRENT_BINARY_DIR}/builtin.c +) + +ADD_CUSTOM_COMMAND( + OUTPUT navit.xml + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml ${CMAKE_CURRENT_BINARY_DIR}/navit.xml +) + + +#configure_file (${CMAKE_CURRENT_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/version.h) +ADD_DEPENDENCIES(navit_core version) + +add_executable (navit start.c navit.xml) +target_link_libraries (navit navit_core ${NAVIT_LIBS} m) +set_target_properties(navit PROPERTIES COMPILE_DEFINITIONS "MODULE=${MODULE_NAME}") + +add_subdirectory (xpm) + +install(TARGETS navit + 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 OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) |