/[zanavi_public1]/navit/navit/CMakeLists.txt
ZANavi

Contents of /navit/navit/CMakeLists.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (show annotations) (download)
Fri Oct 28 21:19:04 2011 UTC (12 years, 5 months ago) by zoff99
File MIME type: text/plain
File size: 5750 byte(s)
import files
1 include_directories( "${PROJECT_BINARY_DIR}")
2 include_directories( "${PROJECT_SOURCE_DIR}")
3 include_directories( "${CMAKE_CURRENT_SOURCE_DIR}")
4 include_directories( "${CMAKE_CURRENT_BINARY_DIR}")
5 include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/support")
6
7 # navit cre
8 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
9 event.c file.c graphics.c gui.c item.c layout.c log.c main.c map.c
10 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
11 profile.c projection.c roadprofile.c route.c routech.c search.c speech.c start_real.c sunriset.c transform.c track.c
12 util.c vehicle.c vehicleprofile.c xmlconfig.c )
13
14 if(NOT USE_PLUGINS)
15 list(APPEND NAVIT_SRC ${CMAKE_CURRENT_BINARY_DIR}/builtin.c)
16 endif(NOT USE_PLUGINS)
17
18 if (${HAVE_GLIB})
19 list(APPEND NAVIT_SRC event_glib.c)
20 endif()
21
22 if(ANDROID)
23 list(APPEND NAVIT_SRC android.c)
24 set(NAVIT_LIBNAME navit)
25 else()
26 set(NAVIT_LIBNAME navit_core)
27 endif()
28
29
30 foreach ( PLUGIN_PATH ${ALL_PLUGINS})
31 if (${PLUGIN_PATH})
32 include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/${PLUGIN_PATH}")
33
34 string(REPLACE "/" "_" MODULE_INC ${PLUGIN_PATH})
35 list(APPEND NAVIT_SUPPORT_LIBS ${MODULE_INC})
36 endif()
37 endforeach()
38
39 foreach ( MODULE_PATH ${ALL_MODULES})
40 if ( ${MODULE_PATH} )
41 include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE_PATH}")
42
43 string(REPLACE "/" "_" MODULE_INC ${MODULE_PATH})
44 list(APPEND MODULES_PROTOTYPE "\nvoid\tmodule_${MODULE_INC}_init(void)")
45 list(APPEND MODULES_FUNC "\nmodule_${MODULE_INC}_init()")
46
47 if (NOT USE_PLUGINS)
48 list(APPEND MODULES_NAME ${MODULE_INC})
49 else()
50 string(REGEX REPLACE "(^[^/]*)/.*" "\\1" ${MODULE_INC}_TYPE ${MODULE_PATH})
51 endif()
52 endif()
53 endforeach()
54
55 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/builtin.c.in ${CMAKE_CURRENT_BINARY_DIR}/builtin.c)
56
57 include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/fib-1.1")
58
59 # Add module paths
60 foreach (CURRENT_MODULE ${ALL_PLUGINS} ${ALL_MODULES})
61 if (${CURRENT_MODULE})
62 add_subdirectory( "${CMAKE_CURRENT_SOURCE_DIR}/${CURRENT_MODULE}")
63 endif()
64 endforeach()
65
66 add_subdirectory (fib-1.1)
67
68 if(NOT ANDROID)
69 if(WIN32 OR WINCE AND NOT WIN_OMIT_RESOURCES)
70 add_executable (navit start.c ${CMAKE_CURRENT_SOURCE_DIR}/gui/win32/resources/resource.rc)
71 else()
72 add_executable (navit start.c)
73 endif()
74
75 target_link_libraries (navit ${NAVIT_LIBNAME})
76 set_target_properties(navit PROPERTIES COMPILE_DEFINITIONS "MODULE=${MODULE_NAME}")
77 endif()
78
79 if (SHARED_LIBNAVIT)
80 add_library (${NAVIT_LIBNAME} SHARED ${NAVIT_SRC} )
81 else(SHARED_LIBNAVIT)
82 add_library (${NAVIT_LIBNAME} STATIC ${NAVIT_SRC} )
83 endif(SHARED_LIBNAVIT)
84 if(NOT MSVC)
85 SET(NAVIT_LIBS ${NAVIT_LIBS} m)
86 endif(NOT MSVC)
87 target_link_libraries(${NAVIT_LIBNAME} ${MODULES_NAME} ${NAVIT_SUPPORT_LIBS} fib ${NAVIT_LIBS} )
88 set_target_properties(${NAVIT_LIBNAME} PROPERTIES COMPILE_DEFINITIONS "MODULE=navit;LIBDIR=\"${CMAKE_INSTALL_PREFIX}/${LIB_DIR}\";PREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
89 if (DEFINED NAVIT_COMPILE_FLAGS)
90 set_target_properties(${NAVIT_LIBNAME} PROPERTIES COMPILE_FLAGS "${NAVIT_COMPILE_FLAGS}")
91 endif()
92
93 # Subversion revision
94 ADD_CUSTOM_TARGET(
95 version
96 ${CMAKE_COMMAND} -D SRC=${CMAKE_CURRENT_SOURCE_DIR}/version.h.in
97 -D DST=${CMAKE_CURRENT_BINARY_DIR}/version.h
98 -D NAME=SVN_VERSION
99 -P ${PROJECT_SOURCE_DIR}/cmake/version.cmake
100 )
101
102 macro(process_xslt SRC_XML DEST_XML XSL_OPTIONS)
103 set(XSLT_COMMANDS COMMAND ${CMAKE_COMMAND} -E copy ${SRC_XML} ${DEST_XML}
104 COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/navit/navit.dtd ${CMAKE_CURRENT_BINARY_DIR}/navit.dtd)
105 if(XSL_PROCESSING AND XSLTS)
106 string(REPLACE "," ";" XSLTS "${XSLTS}")
107 foreach(tmp ${XSLTS})
108 set (XSLT_FILE "${PROJECT_SOURCE_DIR}/navit/xslt/${tmp}.xslt")
109 list(APPEND XSLT_FILES "${XSLT_FILE}")
110 list(APPEND XSLT_COMMANDS COMMAND ${CMAKE_COMMAND} -E echo Applying ${tmp}.xslt)
111 list(APPEND XSLT_COMMANDS COMMAND ${SAXON} ${DEST_XML} ${XSLT_FILE} ${XSL_OPTIONS} > ${DEST_XML}.tmp)
112 list(APPEND XSLT_COMMANDS COMMAND ${CMAKE_COMMAND} -E rename ${DEST_XML}.tmp ${DEST_XML})
113 endforeach()
114 endif()
115 ADD_CUSTOM_COMMAND(
116 OUTPUT ${DEST_XML}
117 DEPENDS ${SRC_XML} ${XSLT_FILES}
118 ${XSLT_COMMANDS}
119 )
120 endmacro()
121
122 if(ANDROID)
123 process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml ${CMAKE_CURRENT_BINARY_DIR}/navithdpi.xml OSD_SIZE=2)
124 process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml ${CMAKE_CURRENT_BINARY_DIR}/navitmdpi.xml OSD_SIZE=1.33)
125 process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml ${CMAKE_CURRENT_BINARY_DIR}/navitldpi.xml OSD_SIZE=1 ICON_MEDIUM=48)
126 add_custom_target( navit_config_xml ALL DEPENDS navithdpi.xml navitmdpi.xml navitldpi.xml)
127 else()
128 process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml ${CMAKE_CURRENT_BINARY_DIR}/navit.xml "")
129 add_custom_target( navit_config_xml ALL DEPENDS navit.xml)
130 endif()
131
132 ADD_DEPENDENCIES(${NAVIT_LIBNAME} version)
133 if (USE_LIBGNUINTL AND NOT HAVE_GLIB)
134 ADD_DEPENDENCIES(support_glib intl_cmake)
135 endif()
136
137
138 add_subdirectory (maptool)
139 add_subdirectory (xpm)
140 add_subdirectory (maps)
141 add_subdirectory (android)
142
143 install(TARGETS navit
144 DESTINATION ${BIN_DIR}
145 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
146
147 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/navit.xml
148 DESTINATION ${SHARE_DIR}
149 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)

   
Visit the ZANavi Wiki