pgRouting

root/tags/release-1.0-rc1/CMakeLists.txt

Revision 37, 3.3 kB (checked in by anton, 1 year ago)

Cmake files fixed

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 EXEC_PROGRAM(pg_config
20  ARGS --pkglibdir
21  OUTPUT_VARIABLE LIB_DIR)
22
23 IF(LIB_DIR)
24   MESSAGE("Output directory for libraries is set to ${LIB_DIR}")
25 ELSE(LIB_DIR)
26   SET(LIB_DIR ${PGROUTING_BINARY_DIR}/lib)
27   MESSAGE("pg_config not found, output directory for libraries is set to ${PGROUTING_BINARY_DIR}/lib")
28 ENDIF(LIB_DIR)
29
30 if(PGROUTING_CORE_INCLUDE_DIR)
31    set(PGROUTING_CORE_FOUND TRUE)
32
33 else(PGROUTING_CORE_INCLUDE_DIR)
34  FIND_PATH(PGROUTING_CORE_INCLUDE_DIR dijkstra.h
35       PATHS
36       ${CMAKE_CURRENT_SOURCE_DIR}/core/src
37       )
38
39   if(PGROUTING_CORE_INCLUDE_DIR)
40     set(PGROUTING_CORE_FOUND TRUE)
41     message(STATUS "Found PGROUTING_CORE core: ${PGROUTING_CORE_INCLUDE_DIR}")
42     INCLUDE_DIRECTORIES(${PGROUTING_CORE_INCLUDE_DIR})
43   else(PGROUTING_CORE_INCLUDE_DIR)
44     set(PGROUTING_CORE_FOUND FALSE)
45     message(STATUS "PGROUTING_CORE core not found.")
46   endif(PGROUTING_CORE_INCLUDE_DIR)
47
48   mark_as_advanced(PGROUTING_CORE_INCLUDE_DIR)
49
50 endif(PGROUTING_CORE_INCLUDE_DIR)
51
52 OPTION(WITH_TSP "Build TSP library" OFF)
53 OPTION(WITH_DD "Build Driving distance library" OFF)
54
55 # Recurse into the subdirectories.  This does not actually
56 # cause another cmake executable to run.  The same process will walk through
57 # the project's entire directory structure.
58 SUBDIRS(core/src)
59
60 IF(WITH_TSP)
61 ADD_SUBDIRECTORY(extra/tsp/src)
62 macro_optional_find_package(GAUL)
63 ENDIF(WITH_TSP)
64
65 IF(WITH_DD)
66 ADD_SUBDIRECTORY(extra/driving_distance/src)
67 macro_optional_find_package(CGAL)
68 ENDIF(WITH_DD)
69
70 #SET(LIBRARY_OUTPUT_PATH ${PGROUTING_BINARY_DIR}/lib)
71
72 IF(UNIX)
73   SET(LIBRARY_OUTPUT_PATH ${LIB_DIR})
74   SET(SQL_INSTALL_PATH /usr/share/postlbs)
75 ELSE(UNIX)
76   SET(LIBRARY_OUTPUT_PATH ${PGROUTING_BINARY_DIR}/lib)
77   SET(SQL_INSTALL_PATH ${PGROUTING_BINARY_DIR}/lib)
78 ENDIF(UNIX)
79
80 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
81 )
82
83 INCLUDE_DIRECTORIES(. ${PGROUTING_INCLUDE_DIRECTORIES})
84
85 SET(CMAKE_CXX_FLAGS=-O2 -g -Wall -fpic)
86
87 CONFIGURE_FILE(core/sql/routing_core.sql ${SQL_INSTALL_PATH}/routing_core.sql COPYONLY)
88 CONFIGURE_FILE(core/sql/routing_core_wrappers.sql ${SQL_INSTALL_PATH}/routing_core_wrappers.sql COPYONLY)
89
90 IF(WITH_TSP)
91 CONFIGURE_FILE(extra/tsp/sql/routing_tsp.sql ${SQL_INSTALL_PATH}/routing_tsp.sql COPYONLY)
92 CONFIGURE_FILE(extra/tsp/sql/routing_tsp_wrappers.sql ${SQL_INSTALL_PATH}/routing_tsp_wrappers.sql COPYONLY)
93 ENDIF(WITH_TSP)
94
95 IF(WITH_DD)
96 CONFIGURE_FILE(extra/driving_distance/sql/routing_dd.sql ${SQL_INSTALL_PATH}/routing_dd.sql COPYONLY)
97 CONFIGURE_FILE(extra/driving_distance/sql/routing_dd_wrappers.sql ${SQL_INSTALL_PATH}/routing_dd_wrappers.sql COPYONLY)
98 ENDIF(WITH_DD)
Note: See TracBrowser for help on using the browser.