root/tags/release-1.0/CMakeLists.txt

Revision 58, 3.4 KB (checked in by anton, 3 years ago)

Trash removed from 1.0 tag

Line 
1CMAKE_MINIMUM_REQUIRED(VERSION 2.3)
2PROJECT(PGROUTING)
3
4#-----------------------------------------------------------------------------
5# PGROUTING version number.
6SET(PGROUTING_VERSION_MAJOR "1")
7SET(PGROUTING_VERSION_MINOR "0")
8SET(PGROUTING_VERSION_PATCH "0")
9
10SET(PGROUTING_VERSION_STRING "${PGROUTING_VERSION_MAJOR}.${PGROUTING_VERSION_MINOR}.${PGROUTING_VERSION_PATCH}-RC1")
11
12add_subdirectory(cmake)
13SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
14
15include (MacroLibrary)
16
17macro_optional_find_package(PostgreSQL)
18
19FIND_PACKAGE(Boost)
20IF(Boost_INCLUDE_DIRS)
21  MESSAGE("Boost headers were found here: ${Boost_INCLUDE_DIR}")
22ENDIF(Boost_INCLUDE_DIRS)
23
24EXEC_PROGRAM(pg_config
25 ARGS --pkglibdir
26 OUTPUT_VARIABLE LIB_DIR)
27
28IF(LIB_DIR)
29  MESSAGE("Output directory for libraries is set to ${LIB_DIR}")
30ELSE(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")
33ENDIF(LIB_DIR)
34
35if(PGROUTING_CORE_INCLUDE_DIR)
36   set(PGROUTING_CORE_FOUND TRUE)
37
38else(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
55endif(PGROUTING_CORE_INCLUDE_DIR)
56
57OPTION(WITH_TSP "Build TSP library" OFF)
58OPTION(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.
63SUBDIRS(core/src)
64
65IF(WITH_TSP)
66ADD_SUBDIRECTORY(extra/tsp/src)
67macro_optional_find_package(GAUL)
68ENDIF(WITH_TSP)
69
70IF(WITH_DD)
71ADD_SUBDIRECTORY(extra/driving_distance/src)
72macro_optional_find_package(CGAL)
73ENDIF(WITH_DD)
74
75#SET(LIBRARY_OUTPUT_PATH ${PGROUTING_BINARY_DIR}/lib)
76
77IF(UNIX)
78  SET(LIBRARY_OUTPUT_PATH ${LIB_DIR})
79  SET(SQL_INSTALL_PATH /usr/share/postlbs)
80ELSE(UNIX)
81  SET(LIBRARY_OUTPUT_PATH ${PGROUTING_BINARY_DIR}/lib)
82  SET(SQL_INSTALL_PATH ${PGROUTING_BINARY_DIR}/lib)
83ENDIF(UNIX)
84
85SET(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
88INCLUDE_DIRECTORIES(. ${PGROUTING_INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS}/boost)
89
90SET(CMAKE_C_FLAGS "-O2 -g")
91SET(CMAKE_CXX_FLAGS "-O2 -g")
92
93CONFIGURE_FILE(core/sql/routing_core.sql ${SQL_INSTALL_PATH}/routing_core.sql COPYONLY)
94CONFIGURE_FILE(core/sql/routing_core_wrappers.sql ${SQL_INSTALL_PATH}/routing_core_wrappers.sql COPYONLY)
95
96IF(WITH_TSP)
97CONFIGURE_FILE(extra/tsp/sql/routing_tsp.sql ${SQL_INSTALL_PATH}/routing_tsp.sql COPYONLY)
98CONFIGURE_FILE(extra/tsp/sql/routing_tsp_wrappers.sql ${SQL_INSTALL_PATH}/routing_tsp_wrappers.sql COPYONLY)
99ENDIF(WITH_TSP)
100
101IF(WITH_DD)
102CONFIGURE_FILE(extra/driving_distance/sql/routing_dd.sql ${SQL_INSTALL_PATH}/routing_dd.sql COPYONLY)
103CONFIGURE_FILE(extra/driving_distance/sql/routing_dd_wrappers.sql ${SQL_INSTALL_PATH}/routing_dd_wrappers.sql COPYONLY)
104ENDIF(WITH_DD)
Note: See TracBrowser for help on using the browser.