summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt31
-rw-r--r--cmake/navit_macros.cmake21
-rw-r--r--navit/CMakeLists.txt9
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( "")