Ticket #92: cmake.diff

File cmake.diff, 10.7 KB (added by takubo, 3 years ago)

patch for trunk(2007/1/7)

  • CMakeLists.txt

    === CMakeLists.txt
    ==================================================================
     
    55# PGROUTING version number. 
    66SET(PGROUTING_VERSION_MAJOR "1") 
    77SET(PGROUTING_VERSION_MINOR "0") 
    8 SET(PGROUTING_VERSION_PATCH "0") 
     8SET(PGROUTING_VERSION_PATCH "1") 
    99 
    10 SET(PGROUTING_VERSION_STRING "${PGROUTING_VERSION_MAJOR}.${PGROUTING_VERSION_MINOR}.${PGROUTING_VERSION_PATCH}-RC1") 
     10SET(PGROUTING_VERSION_STRING "${PGROUTING_VERSION_MAJOR}.${PGROUTING_VERSION_MINOR}.${PGROUTING_VERSION_PATCH}") 
    1111 
    1212add_subdirectory(cmake) 
    1313SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") 
     
    1515include (MacroLibrary) 
    1616 
    1717macro_optional_find_package(PostgreSQL) 
     18IF(NOT POSTGRESQL_FOUND) 
     19  MESSAGE(FATAL ERROR " Please check your Boost installation.")  
     20ENDIF(NOT POSTGRESQL_FOUND) 
    1821 
    1922FIND_PACKAGE(Boost) 
    2023IF(Boost_INCLUDE_DIRS) 
    2124  MESSAGE("Boost headers were found here: ${Boost_INCLUDE_DIR}") 
     25ELSE(Boost_INCLUDE_DIRS) 
     26  MESSAGE(FATAL ERROR " Please check your Boost installation ")  
    2227ENDIF(Boost_INCLUDE_DIRS) 
    2328 
    2429EXEC_PROGRAM(pg_config 
     
    5762OPTION(WITH_TSP "Build TSP library" OFF) 
    5863OPTION(WITH_DD "Build Driving distance library" OFF) 
    5964 
    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  
    7765IF(UNIX) 
    78   SET(LIBRARY_OUTPUT_PATH ${LIB_DIR}) 
     66  SET(LIBRARY_INSTALL_PATH ${LIB_DIR}) 
    7967  SET(SQL_INSTALL_PATH /usr/share/postlbs) 
    8068ELSE(UNIX) 
    81   SET(LIBRARY_OUTPUT_PATH ${PGROUTING_BINARY_DIR}/lib) 
     69  SET(LIBRARY_INSTALL_PATH ${PGROUTING_BINARY_DIR}/lib) 
    8270  SET(SQL_INSTALL_PATH ${PGROUTING_BINARY_DIR}/lib) 
    8371ENDIF(UNIX) 
    8472 
    8573SET(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 
    8674) 
    8775 
    88 INCLUDE_DIRECTORIES(. ${PGROUTING_INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS}/boost) 
     76INCLUDE_DIRECTORIES(. ${PGROUTING_INCLUDE_DIRECTORIES} ${POSTGRESQL_INCLUDE_DIR} ${Boost_INCLUDE_DIRS}) 
     77IF(WIN32) 
     78  INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${POSTGRESQL_INCLUDE_DIR}/port/win32) 
     79ENDIF(WIN32) 
    8980 
     81# we need link libpostgres.a on win32 env 
     82IF(WIN32) 
     83  LINK_DIRECTORIES(${LIB_DIR}) 
     84  LINK_LIBRARIES(postgres) 
     85ENDIF(WIN32) 
     86 
    9087SET(CMAKE_C_FLAGS "-O2 -g") 
    9188SET(CMAKE_CXX_FLAGS "-O2 -g") 
    9289 
    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) 
     90# Recurse into the subdirectories.  This does not actually 
     91# cause another cmake executable to run.  The same process will walk through 
     92# the project's entire directory structure. 
     93SUBDIRS(core) 
    9594 
    9695IF(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) 
     96  macro_optional_find_package(GAUL) 
     97  IF(NOT GAUL_FOUND) 
     98    message(FATAL ERROR " Please check your gaul installation, or set correct path to GAUL_INCLUDE_DIR and GAUL_LIBRARIES.") 
     99  ENDIF(NOT GAUL_FOUND) 
     100  INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${GAUL_INCLUDE_DIR}) 
     101  LINK_LIBRARIES(${GAUL_LIBRARIES}) 
     102  ADD_SUBDIRECTORY(extra/tsp) 
    99103ENDIF(WITH_TSP) 
    100104 
    101105IF(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) 
     106  macro_optional_find_package(CGAL) 
     107  IF(NOT CGAL_FOUND) 
     108    message(FATAL ERROR " Please check your CGAL installation, or set correct path to CGAL_INCLUDE_DIR and CGAL_LIBRARIES.") 
     109  ENDIF(NOT CGAL_FOUND) 
     110  INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${CGAL_INCLUDE_DIR}) 
     111  LINK_LIBRARIES(${CGAL_LIBRARIES}) 
     112  ADD_SUBDIRECTORY(extra/driving_distance) 
    104113ENDIF(WITH_DD) 
     114 
     115 
     116 
     117 
  • cmake/FindCGAL.cmake

    === cmake/FindCGAL.cmake
    ==================================================================
     
    1010 
    1111else(CGAL_INCLUDE_DIR AND CGAL_LIBRARIES) 
    1212 
    13  FIND_PATH(CGAL_INCLUDE_DIR basic.h 
    14       /usr/include/CGAL 
    15       /usr/local/include/CGAL 
    16       $ENV{ProgramFiles}/CGAL/*/include/CGAL 
    17       $ENV{SystemDrive}/CGAL/*/include/CGAL 
     13 FIND_PATH(CGAL_INCLUDE_DIR CGAL/basic.h 
     14      /usr/include 
     15      /usr/local/include 
     16      $ENV{ProgramFiles}/CGAL/*/include 
     17      $ENV{SystemDrive}/CGAL/*/include 
    1818      ) 
    1919 
    2020  find_library(CGAL_LIBRARIES NAMES CGAL libCGAL 
     
    2525     /usr/lib64 
    2626     /usr/local/lib64 
    2727     /usr/lib64/CGAL 
    28      $ENV{ProgramFiles}/CGAL/*/lib/ms 
    29      $ENV{SystemDrive}/CGAL/*/lib/ms 
     28     $ENV{ProgramFiles}/CGAL/*/lib 
     29     $ENV{SystemDrive}/CGAL/*/lib 
    3030     ) 
    3131       
    3232  if(CGAL_INCLUDE_DIR AND CGAL_LIBRARIES) 
  • cmake/FindGAUL.cmake

    === cmake/FindGAUL.cmake
    ==================================================================
     
    55#  GAUL_FOUND, If false, do not try to use GAUL. 
    66# 
    77 
    8 if(GAUL_LIBRARIES) 
     8if(GAUL_INCLUDE_DIR AND GAUL_LIBRARIES) 
    99   set(GAUL_FOUND TRUE) 
    1010 
    11 else(GAUL_LIBRARIES) 
     11else(GAUL_INCLUDE_DIR AND GAUL_LIBRARIES) 
    1212 
     13  FIND_PATH(GAUL_INCLUDE_DIR gaul.h 
     14      /usr/include 
     15      /usr/local/include 
     16      $ENV{ProgramFiles}/gaul/*/include 
     17      $ENV{SystemDrive}/gaul/*/include 
     18      ) 
     19 
    1320  find_library(GAUL_LIBRARIES NAMES gaul gaul_util libgaul libgaul_util 
    1421     PATHS 
    1522     /usr/lib 
     
    1825     /usr/lib64 
    1926     /usr/local/lib64 
    2027     /usr/lib64/gaul 
    21      $ENV{ProgramFiles}/GAUL/*/lib/ms 
    22      $ENV{SystemDrive}/GAUL/*/lib/ms 
     28     $ENV{ProgramFiles}/GAUL/*/lib/ 
     29     $ENV{SystemDrive}/GAUL/*/lib/ 
    2330     ) 
    2431       
    25   if(GAUL_LIBRARIES) 
     32  if(GAUL_INCLUDE_DIR AND GAUL_LIBRARIES) 
    2633    set(GAUL_FOUND TRUE) 
    2734    message(STATUS "Found GAUL: ${GAUL_LIBRARIES}") 
    28   else(GAUL_LIBRARIES) 
     35  else(GAUL_INCLUDE_DIR AND GAUL_LIBRARIES) 
    2936    set(GAUL_FOUND FALSE) 
    3037    message(STATUS "GAUL not found.") 
    31   endif(GAUL_LIBRARIES) 
     38  endif(GAUL_INCLUDE_DIR AND GAUL_LIBRARIES) 
    3239 
    33   mark_as_advanced(GAUL_LIBRARIES) 
     40  mark_as_advanced(GAUL_INCLUDE_DIR GAUL_LIBRARIES) 
    3441 
    35 endif(GAUL_LIBRARIES) 
     42endif(GAUL_INCLUDE_DIR AND GAUL_LIBRARIES) 
  • core/CMakeLists.txt

    === core/CMakeLists.txt
    ==================================================================
     
    1 SUBDIRS(src) 
     1SUBDIRS(src sql) 
     2 
  • core/sql/CMakeLists.txt

    === core/sql/CMakeLists.txt
    ==================================================================
     
     1INSTALL(FILES routing_core.sql DESTINATION ${SQL_INSTALL_PATH} ) 
     2INSTALL(FILES routing_core_wrappers.sql DESTINATION ${SQL_INSTALL_PATH} ) 
     3 
  • core/src/CMakeLists.txt

    === core/src/CMakeLists.txt
    ==================================================================
     
     1 
     2SET(LIBRARY_OUTPUT_PATH ../../lib/) 
    13ADD_LIBRARY(routing SHARED dijkstra.c astar.c shooting_star.c boost_wrapper.cpp astar_boost_wrapper.cpp shooting_star_boost_wrapper.cpp) 
     4INSTALL(TARGETS routing DESTINATION ${LIBRARY_INSTALL_PATH}) 
    25 
    36 
    4  
  • extra/driving_distance/CMakeLists.txt

    === extra/driving_distance/CMakeLists.txt
    ==================================================================
     
    1 SUBDIRS(src) 
     1SUBDIRS(src sql) 
  • extra/driving_distance/sql/CMakeLists.txt

    === extra/driving_distance/sql/CMakeLists.txt
    ==================================================================
     
     1INSTALL(FILES routing_dd.sql DESTINATION ${SQL_INSTALL_PATH}) 
     2INSTALL(FILES routing_dd_wrappers.sql DESTINATION ${SQL_INSTALL_PATH}) 
     3 
  • extra/driving_distance/src/CMakeLists.txt

    === extra/driving_distance/src/CMakeLists.txt
    ==================================================================
     
    1 EXEC_PROGRAM(pg_config 
    2  ARGS --libdir 
    3  OUTPUT_VARIABLE LIB_DIR) 
    4  
    5 IF(LIB_DIR) 
    6   MESSAGE("Output directory for libraries is set to ${LIB_DIR}") 
    7 ELSE(LIB_DIR) 
    8   SET(LIB_DIR ${PGROUTING_BINARY_DIR}/lib) 
    9   MESSAGE("pg_config not found, output directory for libraries is set to ${PGROUTING_BINARY_DIR}/lib") 
    10 ENDIF(LIB_DIR) 
    11  
    12 IF(UNIX) 
    13   SET(LIBRARY_OUTPUT_PATH ${LIB_DIR}) 
    14   SET(SQL_INSTALL_PATH /usr/share/postlbs) 
    15 ELSE(UNIX) 
    16   SET(LIBRARY_OUTPUT_PATH ${PGROUTING_BINARY_DIR}/lib) 
    17   SET(SQL_INSTALL_PATH ${PGROUTING_BINARY_DIR}/lib) 
    18 ENDIF(UNIX) 
    19  
     1SET(LIBRARY_OUTPUT_PATH ../../../lib/) 
    202ADD_LIBRARY(routing_dd SHARED alpha.c alpha_drivedist.cpp alpha.h boost_drivedist.cpp drivedist.c drivedist.h) 
     3INSTALL(TARGETS routing_dd DESTINATION ${LIBRARY_INSTALL_PATH}) 
    214 
    225 
    23  
    24  
  • extra/tsp/CMakeLists.txt

    === extra/tsp/CMakeLists.txt
    ==================================================================
     
    1 SUBDIRS(src) 
     1SUBDIRS(src sql) 
  • extra/tsp/sql/CMakeLists.txt

    === extra/tsp/sql/CMakeLists.txt
    ==================================================================
     
     1INSTALL(FILES routing_tsp.sql DESTINATION ${SQL_INSTALL_PATH}) 
     2INSTALL(FILES routing_tsp_wrappers.sql DESTINATION ${SQL_INSTALL_PATH}) 
     3 
  • extra/tsp/src/CMakeLists.txt

    === extra/tsp/src/CMakeLists.txt
    ==================================================================
     
    1 EXEC_PROGRAM(pg_config 
    2  ARGS --libdir 
    3  OUTPUT_VARIABLE LIB_DIR) 
    4  
    5 IF(LIB_DIR) 
    6   MESSAGE("Output directory for libraries is set to ${LIB_DIR}") 
    7 ELSE(LIB_DIR) 
    8   SET(LIB_DIR ${PGROUTING_BINARY_DIR}/lib) 
    9   MESSAGE("pg_config not found, output directory for libraries is set to ${PGROUTING_BINARY_DIR}/lib") 
    10 ENDIF(LIB_DIR) 
    11  
    12 IF(UNIX) 
    13   SET(LIBRARY_OUTPUT_PATH ${LIB_DIR}) 
    14   SET(SQL_INSTALL_PATH /usr/share/postlbs) 
    15 ELSE(UNIX) 
    16   SET(LIBRARY_OUTPUT_PATH ${PGROUTING_BINARY_DIR}/lib) 
    17   SET(SQL_INSTALL_PATH ${PGROUTING_BINARY_DIR}/lib) 
    18 ENDIF(UNIX) 
    19  
     1SET(LIBRARY_OUTPUT_PATH ../../../lib/) 
    202ADD_LIBRARY(routing_tsp SHARED tsp.c tsp.h tsp_solver.cpp) 
     3INSTALL(TARGETS routing_tsp DESTINATION ${LIBRARY_INSTALL_PATH}) 
     4