pgRouting

root/tags/release-1.0/CMakeLists.txt

Revision 58, 3.4 kB (checked in by anton, 1 year ago)

Trash removed from 1.0 tag

Line 
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.3)
2 PROJECT(PGROUTING)
3
4 #-----------------------------------------------------------------------------
5 # PGROUTING version number.
6 SET(PGROUTING_VERSION_MAJOR "1")
7 SET(PGROUTING_VERSION_MINOR "0")
8 SET(PGROUTING_VERSION_PATCH "0")
9
10 SET(PGROUTING_VERSION_STRING "${PGROUTING_VERSION_MAJOR}.${PGROUTING_VERSION_MINOR}.${PGROUTING_VERSION_PATCH}-RC1")
11
12 add_subdirectory(cmake)
13 SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
14
15 include (MacroLibrary)
16
17 macro_optional_find_package(PostgreSQL)
18
19 FIND_PACKAGE(Boost)
20 IF(Boost_INCLUDE_DIRS)
21   MESSAGE("Boost headers were found here: ${Boost_INCLUDE_DIR}")
22 ENDIF(Boost_INCLUDE_DIRS)
23
24 EXEC_PROGRAM(pg_config
25  ARGS --pkglibdir
26  OUTPUT_VARIABLE LIB_DIR)
27
28 IF(LIB_DIR)
29   MESSAGE("Output directory for libraries is set to ${LIB_DIR}")
30 ELSE(LIB_DIR)
31   SET(LIB_DIR ${PGROUTING_BINARY_DIR}/lib)
32   MESSAGE("pg_config not found, output directory for libraries is set to ${PGROUTING_BINARY_DIR}/lib")
33 ENDIF(LIB_DIR)
34
35 if(PGROUTING_CORE_INCLUDE_DIR)
36    set(PGROUTING_CORE_FOUND TRUE)
37
38 else(PGROUTING_CORE_INCLUDE_DIR)
39  FIND_PATH(PGROUTING_CORE_INCLUDE_DIR dijkstra.h
40       PATHS
41       ${CMAKE_CURRENT_SOURCE_DIR}/core/src
42       )
43
44   if(PGROUTING_CORE_INCLUDE_DIR)
45     set(PGROUTING_CORE_FOUND TRUE)
46     message(STATUS "Found PGROUTING_CORE core: ${PGROUTING_CORE_INCLUDE_DIR}")
47     INCLUDE_DIRECTORIES(${PGROUTING_CORE_INCLUDE_DIR})
48   else(PGROUTING_CORE_INCLUDE_DIR)
49     set(PGROUTING_CORE_FOUND FALSE)
50     message(STATUS "PGROUTING_CORE core not found.")
51   endif(PGROUTING_CORE_INCLUDE_DIR)
52
53   mark_as_advanced(PGROUTING_CORE_INCLUDE_DIR)
54
55 endif(PGROUTING_CORE_INCLUDE_DIR)
56
57 OPTION(WITH_TSP "Build TSP library" OFF)
58 OPTION(WITH_DD "Build Driving distance library" OFF)
59
60 # Recurse into the subdirectories.  This does not actually
61 # cause another cmake executable to run.  The same process will walk through
62 # the project's entire directory structure.
63 SUBDIRS(core/src)
64
65 IF(WITH_TSP)
66 ADD_SUBDIRECTORY(extra/tsp/src)
67 macro_optional_find_package(GAUL)
68 ENDIF(WITH_TSP)
69
70 IF(WITH_DD)
71 ADD_SUBDIRECTORY(extra/driving_distance/src)
72 macro_optional_find_package(CGAL)
73 ENDIF(WITH_DD)
74
75 #SET(LIBRARY_OUTPUT_PATH ${PGROUTING_BINARY_DIR}/lib)
76
77 IF(UNIX)
78   SET(LIBRARY_OUTPUT_PATH ${LIB_DIR})
79   SET(SQL_INSTALL_PATH /usr/share/postlbs)
80 ELSE(UNIX)
81   SET(LIBRARY_OUTPUT_PATH ${PGROUTING_BINARY_DIR}/lib)
82   SET(SQL_INSTALL_PATH ${PGROUTING_BINARY_DIR}/lib)
83 ENDIF(UNIX)
84
85 SET(PGROUTING_INCLUDE_DIRECTORIES ${PGROUTING_SOURCE_DIR}/core ${PGROUTING_SOURCE_DIR}/core/src ${PGROUTING_SOURCE_DIR}/extra ${PGROUTING_SOURCE_DIR}/extra/tsp ${PGROUTING_SOURCE_DIR}/extra/tsp/src ${PGROUTING_SOURCE_DIR}/extra/driving_distance ${PGROUTING_SOURCE_DIR}/extra/driving_distance/src
86 )
87
88 INCLUDE_DIRECTORIES(. ${PGROUTING_INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS}/boost)
89
90 SET(CMAKE_C_FLAGS "-O2 -g")
91 SET(CMAKE_CXX_FLAGS "-O2 -g")
92
93 CONFIGURE_FILE(core/sql/routing_core.sql ${SQL_INSTALL_PATH}/routing_core.sql COPYONLY)
94 CONFIGURE_FILE(core/sql/routing_core_wrappers.sql ${SQL_INSTALL_PATH}/routing_core_wrappers.sql COPYONLY)
95
96 IF(WITH_TSP)
97 CONFIGURE_FILE(extra/tsp/sql/routing_tsp.sql ${SQL_INSTALL_PATH}/routing_tsp.sql COPYONLY)
98 CONFIGURE_FILE(extra/tsp/sql/routing_tsp_wrappers.sql ${SQL_INSTALL_PATH}/routing_tsp_wrappers.sql COPYONLY)
99 ENDIF(WITH_TSP)
100
101 IF(WITH_DD)
102 CONFIGURE_FILE(extra/driving_distance/sql/routing_dd.sql ${SQL_INSTALL_PATH}/routing_dd.sql COPYONLY)
103 CONFIGURE_FILE(extra/driving_distance/sql/routing_dd_wrappers.sql ${SQL_INSTALL_PATH}/routing_dd_wrappers.sql COPYONLY)
104 ENDIF(WITH_DD)
Note: See TracBrowser for help on using the browser.