1- PROJECT (getrestirction)
2- CMAKE_MINIMUM_REQUIRED (VERSION 3.2)
1+ cmake_minimum_required (VERSION 3.12 FATAL_ERROR)
32
43if ( ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR} )
54 message (FATAL_ERROR "In-source builds not allowed.
65 Please make a new directory (called a build directory) and run CMake from there.
76 You may need to remove CMakeCache.txt." )
87endif ()
98
9+ PROJECT (getrestrictions VERSION 3.0.0
10+ LANGUAGES C CXX)
11+
1012LIST (APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR} /cmake" )
1113SET (SHARE_DIR "/usr/share/getrestrictions" )
1214
13- FIND_PACKAGE (PostgreSQL REQUIRED)
14- find_package (LibPQXX REQUIRED)
15- FIND_PACKAGE (EXPAT REQUIRED)
15+ find_package (PostgreSQL REQUIRED)
16+ find_package (PQXX REQUIRED)
17+ include_directories (${PQXX_INCLUDE_DIR} )
18+ find_package (EXPAT REQUIRED)
1619
1720
1821find_package (Osmium REQUIRED COMPONENTS io pbf xml)
@@ -22,53 +25,77 @@ endif()
2225include_directories (SYSTEM ${OSMIUM_INCLUDE_DIRS} )
2326
2427
28+ FILE (GLOB SRC "${CMAKE_SOURCE_DIR} /src/*.cpp" "${CMAKE_SOURCE_DIR} /src/*/*.cpp" )
2529
30+ #---------------------------------------------
31+ # C++ Compiler requirements
32+ #---------------------------------------------
33+ #---------------------------------------------
34+
35+ #---------------------------------------------
36+ # Boost
37+ #---------------------------------------------
38+ #---------------------------------------------
39+ find_package (Boost ${BOOST_MINIMUM_VERSION} REQUIRED COMPONENTS program_options)
40+ if (NOT Boost_VERSION_MACRO)
41+ set (Boost_VERSION_MACRO ${Boost_VERSION} )
42+ endif ()
43+ add_definitions (-DBoost_VERSION_MACRO=${Boost_VERSION_MACRO} )
44+ add_definitions (-DBOOST_ALLOW_DEPRECATED_HEADERS)
45+ include_directories (SYSTEM ${Boost_INCLUDE_DIRS} )
2646
2747
28-
29- FIND_PACKAGE (Boost)
30- if (Boost_INCLUDE_DIRS)
31- message (STATUS "Boost headers were found here: ${Boost_INCLUDE_DIRS} " )
32- else (Boost_INCLUDE_DIRS)
33- message (FATAL_ERROR " Please check your Boost installation " )
34- endif (Boost_INCLUDE_DIRS)
35-
36- FIND_PACKAGE (Boost COMPONENTS program_options REQUIRED)
37-
38- FILE (GLOB SRC "${CMAKE_SOURCE_DIR} /src/*.cpp" "${CMAKE_SOURCE_DIR} /src/*/*.cpp" )
48+ message (STATUS "PQXX_VERSION=${PQXX_VERSION} " )
49+ if (PQXX_VERSION VERSION_GREATER_EQUAL "7.0.0" )
50+ set (CMAKE_CXX_STANDARD 17)
51+ else ()
52+ add_definitions (-DPQXX_DISCONNECT)
53+ set (CMAKE_CXX_STANDARD 14)
54+ endif ()
3955
4056set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_FILE_OFFSET_BITS=64 -std=c++0x" )
4157set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -g -Wconversion -pedantic -Wextra -frounding-math -Wno-deprecated -fmax-errors=10" )
4258
59+ if (WIN32 AND MSVC )
60+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_DEPRECATE" )
61+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_SCL_SECURE_NO_DEPRECATE" )
62+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS" )
63+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_SCL_SECURE_NO_WARNINGS" )
64+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_NONSTDC_NO_DEPRECATE" )
65+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -EHsc" )
66+ endif ()
67+
68+ #--------------------------------------------------------
4369
4470set (OSM2PGROUTING_INCLUDE_DIRS "${CMAKE_SOURCE_DIR} /include" )
45- message (STATUS "LIBPQXX_INCLUDE_DIRS : ${LIBPQXX_INCLUDE_DIRS } " )
71+ message (STATUS "PQXX_INCLUDE_DIRS : ${PQXX_INCLUDE_DIRS } " )
4672message (STATUS "POSTGRESQL_INCLUDE_DIR: ${POSTGRESQL_INCLUDE_DIR} " )
4773message (STATUS "EXPAT_INCLUDE_DIRS: ${EXPAT_INCLUDE_DIRS} " )
4874message (STATUS "Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS} " )
4975message (STATUS "POSTGRESQL_LIBRARIES: ${POSTGRESQL_LIBRARIES} " )
5076message (STATUS "Boost_LIBRARIES: ${boost_LIBRARIES} " )
51- message (STATUS "LIBPQXX_LIBRARIES : ${LIBPQXX_LIBRARIES } " )
77+ message (STATUS "PQXX_LIBRARIES : ${PQXX_LIBRARIES } " )
5278
5379INCLUDE_DIRECTORIES (src
54- ${LIBPQXX_INCLUDE_DIRS}
5580 ${POSTGRESQL_INCLUDE_DIR}
5681 ${EXPAT_INCLUDE_DIRS}
57- ${Boost_INCLUDE_DIRS}
5882 ${OSM2PGROUTING_INCLUDE_DIRS}
5983 )
6084
6185ADD_EXECUTABLE (getrestrictions ${SRC} )
6286
6387TARGET_LINK_LIBRARIES (getrestrictions
64- ${LIBPQXX_LIBRARIES }
88+ ${PQXX_LIBRARIES }
6589 ${POSTGRESQL_LIBRARIES}
6690 ${EXPAT_LIBRARIES}
6791 ${Boost_LIBRARIES}
6892 ${OSMIUM_LIBRARIES}
6993 )
7094
7195INSTALL (TARGETS getrestrictions
72- RUNTIME DESTINATION "/usr /bin"
96+ RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX} /bin"
7397 )
7498
99+ if (WIN32 )
100+ target_link_libraries (osm2pgrouting wsock32 ws2_32)
101+ endif ()
0 commit comments