Fix:Build:Make map_shapefile build again on cmake
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Thu, 28 Jul 2011 18:46:38 +0000 (18:46 +0000)
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Thu, 28 Jul 2011 18:46:38 +0000 (18:46 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@4662 ffa7fe5e-494d-0410-b361-a75ebd5db220

navit/CMakeLists.txt
navit/cmake/navit_macros.cmake
navit/navit/CMakeLists.txt
navit/navit/map/shapefile/CMakeLists.txt
navit/navit/support/shapefile/CMakeLists.txt [new file with mode: 0644]

index 9cc06f0..e1105fb 100644 (file)
@@ -309,8 +309,11 @@ add_module(map/filter "Default" TRUE)
 if(NOT MSVC)
 add_module(map/mg "Default" TRUE)
 endif(NOT MSVC)
-# cp15 promised to fix the build against the internal libshapefile
-add_module(map/shapefile "Default" FALSE)
+add_module_plugin(support/shapefile "Default" TRUE)
+set(map_shapefile_INCLUDES "${CMAKE_SOURCE_DIR}/navit/support/shapefile")
+#set(map_shapefile_LIBRARY_DIRS "${CMAKE_BINARY_DIR}/navit/support/shapefile")
+set(map_shapefile_LIBS "support_shapefile")
+add_module(map/shapefile "Default" TRUE)
 add_module(map/textfile "Default" TRUE)
 add_module(map/csv "Default" TRUE)
 
@@ -556,7 +559,7 @@ endif(EXTRA_DEFINES)
 if (NOT NAVIT_DEPENDENCY_ERROR)
    message("\nSummary:\n")
 
-   set(SUMMARY_COMPONENTS ${ALL_PLUGINS} ${ALL_MODULES})
+   set(SUMMARY_COMPONENTS ${ALL_PLUGINS} ${ALL_MODULE_PLUGINS} ${ALL_MODULES})
    list(SORT SUMMARY_COMPONENTS)
 
    set(LAST_TYPE NONE)
index 4a8dd07..446905b 100644 (file)
@@ -39,12 +39,19 @@ macro(add_plugin PLUGIN_PATH REASON ENABLE)
    internal_set(${PLUGIN_PATH} ${REASON} ${ENABLE})
 endmacro()
 
+# module plugins are always linked static
+macro(add_module_plugin PLUGIN_PATH REASON ENABLE)
+   list(APPEND ALL_MODULE_PLUGINS ${PLUGIN_PATH})
+   internal_set(${PLUGIN_PATH} ${REASON} ${ENABLE})
+endmacro()
+
 macro(module_add_library MODULE_NAME )
+   LINK_DIRECTORIES(${${MODULE_NAME}_LIBRARY_DIRS}) 
    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})
-   SET_TARGET_PROPERTIES( ${MODULE_NAME} PROPERTIES COMPILE_FLAGS "${NAVIT_COMPILE_FLAGS}")
-   
+   SET_TARGET_PROPERTIES( ${MODULE_NAME} PROPERTIES COMPILE_FLAGS "${NAVIT_COMPILE_FLAGS} ${${MODULE_NAME}_FLAGS}")
+   INCLUDE_DIRECTORIES(${${MODULE_NAME}_INCLUDES}) 
    if (USE_PLUGINS)
        if (ANDROID)
            TARGET_LINK_LIBRARIES(${MODULE_NAME} ${NAVIT_LIBNAME})
index ce74f98..43a17dd 100644 (file)
@@ -57,7 +57,7 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/builtin.c.in ${CMAKE_CURRENT_BINARY_D
 include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/fib-1.1")
 
 # Add module paths
-foreach (CURRENT_MODULE ${ALL_PLUGINS} ${ALL_MODULES})
+foreach (CURRENT_MODULE ${ALL_PLUGINS} ${ALL_MODULE_PLUGINS} ${ALL_MODULES})
    if (${CURRENT_MODULE})
       add_subdirectory( "${CMAKE_CURRENT_SOURCE_DIR}/${CURRENT_MODULE}")
    endif()
index 7401f7e..906537a 100644 (file)
@@ -1,6 +1 @@
-set (map_shapefile_SRC shapefile.c)
-if (NOT HAVE_SYSTEM_SHAPEFILELIB)
-       set (map_shapefile_SRC ${map_shapefile_SRC} dbfopen.c shpopen.c shptree.c)
-endif()
-
-module_add_library(map_shapefile ${map_shapefile_SRC})
+module_add_library(map_shapefile shapefile.c)
diff --git a/navit/navit/support/shapefile/CMakeLists.txt b/navit/navit/support/shapefile/CMakeLists.txt
new file mode 100644 (file)
index 0000000..03c9643
--- /dev/null
@@ -0,0 +1 @@
+supportlib_add_library(support_shapefile dbfopen.c shpopen.c shptree.c)