diff options
-rw-r--r-- | CMakeLists.txt | 31 | ||||
-rw-r--r-- | cmake/navit_macros.cmake | 21 | ||||
-rw-r--r-- | navit/CMakeLists.txt | 9 |
3 files changed, 41 insertions, 20 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 755188be..62669ab5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -211,10 +211,11 @@ add_module(vehicle/maemo "Default" FALSE) add_module(vehicle/wince "Default" FALSE) # other features -set(USE_PLUGINS TRUE) -set(USE_ROUTING TRUE) -set(USE_SVG TRUE) -set(SVG2PNG TRUE) +add_feature(USE_PLUGINS "default" TRUE) +add_feature(USE_ROUTING "default" TRUE) +add_feature(USE_SVG "default" TRUE) +add_feature(SVG2PNG "default" TRUE) + IF(NOT svg2png_scaling) set(svg2png_scaling 32 48 96) ENDIF() @@ -225,8 +226,9 @@ IF(NOT svg2png_scaling_nav) set(svg2png_scaling_nav 32 48 96) ENDIF() -set(DBUS_USE_SYSTEM_BUS FALSE) -set(BUILD_MAPTOOL TRUE) +add_feature(DBUS_USE_SYSTEM_BUS "default" FALSE) +add_feature(BUILD_MAPTOOL "default" TRUE) + ### Platform specific settings if(WIN32 OR WINCE) @@ -283,15 +285,6 @@ endif() set(LOCALEDIR "${LOCALE_DIR}/locale") -foreach(PLUMO ${ALL_PLUGINS} ${ALL_MODULES} USE_PLUGINS USE_ROUTING BUILD_MAPTOOL USE_SVG SVG2PNG DBUS_USE_SYSTEM_BUS) - set(OLDVALUE ${${PLUMO}}) - OPTION(${PLUMO} "Enable/Disable module/plugin/support" ${${PLUMO}}) - if ( (OLDVALUE AND NOT ${PLUMO}) OR (${PLUMO} AND NOT OLDVALUE)) - set(${PLUMO}_REASON "User defined") - endif() -endforeach() - - # SVG2PNG conversion set (IMAGE_CONVERTER_PROGS rsvg-convert ksvgtopng ksvgtopng4) find_program(IMAGE_CONVERTER NAMES ${IMAGE_CONVERTER_PROGS}) @@ -303,6 +296,14 @@ if (SVG2PNG) endif(NOT IMAGE_CONVERTER) endif(SVG2PNG) +foreach(PLUMO ${ALL_PLUGINS} ${ALL_MODULES} ${ALL_FEATURES}) + set(OLDVALUE ${${PLUMO}}) + OPTION(${PLUMO} "Enable/Disable module/plugin/support" ${${PLUMO}}) + if ( (OLDVALUE AND NOT ${PLUMO}) OR (${PLUMO} AND NOT OLDVALUE)) + set(${PLUMO}_REASON "User defined") + endif() +endforeach() + # Plugins if(USE_PLUGINS) set(MODULE_BUILD_TYPE "MODULE") diff --git a/cmake/navit_macros.cmake b/cmake/navit_macros.cmake index 432839be..af25aae1 100644 --- a/cmake/navit_macros.cmake +++ b/cmake/navit_macros.cmake @@ -5,6 +5,17 @@ macro(set_with_reason VARIABLE REASON ENABLE) set(${VARIABLE_NAMES}_LIBS ${ARGN}) endmacro() +macro(add_feature FEATURE REASON ENABLE) + list(APPEND ALL_FEATURES ${FEATURE}) + set(${FEATURE} ${ENABLE}) + set(${FEATURE}_REASON ${REASON}) +endmacro() + +macro(cfg_feature FEATURE REASON ENABLE) + set(${FEATURE} ${ENABLE}) + set(${FEATURE}_REASON ${REASON}) +endmacro() + # modules may be linked static, or shared for import at runtime macro(add_module MODULE_PATH REASON) list(APPEND ALL_MODULES ${MODULE_PATH}) @@ -20,16 +31,16 @@ macro(add_plugin PLUGIN_PATH REASON) endmacro() macro(module_add_library MODULE_NAME ) - add_library(${MODULE_NAME} ${MODULE_BUILD_TYPE} ${ARGN}) + add_library(${MODULE_NAME} ${MODULE_BUILD_TYPE} ${ARGN}) SET_TARGET_PROPERTIES(${MODULE_NAME} PROPERTIES COMPILE_DEFINITIONS "MODULE=${MODULE_NAME}") TARGET_LINK_LIBRARIES(${MODULE_NAME} ${${MODULE_NAME}_LIBS}) - + if (USE_PLUGINS) SET_TARGET_PROPERTIES( ${MODULE_NAME} PROPERTIES COMPILE_FLAGS ${NAVIT_COMPILE_FLAGS}) - + # workaround to be compatible with old paths set_target_properties( ${MODULE_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.libs") - + TARGET_LINK_LIBRARIES(${MODULE_NAME} navit_core) install(TARGETS ${MODULE_NAME} DESTINATION ${LIB_DIR}/navit/${${MODULE_NAME}_TYPE} @@ -38,7 +49,7 @@ macro(module_add_library MODULE_NAME ) endmacro(module_add_library) macro(supportlib_add_library LIB_NAME ) - add_library(${LIB_NAME} ${ARGN}) + add_library(${LIB_NAME} ${ARGN}) if (USE_PLUGINS) SET_TARGET_PROPERTIES( ${LIB_NAME} PROPERTIES COMPILE_FLAGS ${NAVIT_COMPILE_FLAGS}) TARGET_LINK_LIBRARIES(${MODULE_NAME} navit_core) diff --git a/navit/CMakeLists.txt b/navit/CMakeLists.txt index 97c248c4..dbcea3d6 100644 --- a/navit/CMakeLists.txt +++ b/navit/CMakeLists.txt @@ -66,6 +66,15 @@ foreach ( MODULE_PATH ${ALL_MODULES}) endforeach() CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/builtin.c.in ${CMAKE_CURRENT_BINARY_DIR}/builtin.c) +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() message( "") |