mirror of
https://github.com/osm2pgsql-dev/osm2pgsql.git
synced 2025-08-19 16:28:16 +00:00
CMake config: More modern way of defining the C++ version to use
We declare that we need to use C++17, but this can be overridden on the cmake command line with "-DCMAKE_CXX_STANDARD=20" or so. Fixes #1010.
This commit is contained in:
15
.github/workflows/ci.yml
vendored
15
.github/workflows/ci.yml
vendored
@ -92,7 +92,6 @@ jobs:
|
|||||||
LUAJIT_OPTION: OFF
|
LUAJIT_OPTION: OFF
|
||||||
POSTGRESQL_VERSION: 10
|
POSTGRESQL_VERSION: 10
|
||||||
POSTGIS_VERSION: 3
|
POSTGIS_VERSION: 3
|
||||||
CPP_VERSION: 17
|
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@ -111,7 +110,6 @@ jobs:
|
|||||||
LUAJIT_OPTION: OFF
|
LUAJIT_OPTION: OFF
|
||||||
POSTGRESQL_VERSION: 11
|
POSTGRESQL_VERSION: 11
|
||||||
POSTGIS_VERSION: 2.5
|
POSTGIS_VERSION: 2.5
|
||||||
CPP_VERSION: 17
|
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@ -129,7 +127,6 @@ jobs:
|
|||||||
LUAJIT_OPTION: ON
|
LUAJIT_OPTION: ON
|
||||||
POSTGRESQL_VERSION: 12
|
POSTGRESQL_VERSION: 12
|
||||||
POSTGIS_VERSION: 2.5
|
POSTGIS_VERSION: 2.5
|
||||||
CPP_VERSION: 17
|
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@ -148,7 +145,6 @@ jobs:
|
|||||||
LUAJIT_OPTION: ON
|
LUAJIT_OPTION: ON
|
||||||
POSTGRESQL_VERSION: 13
|
POSTGRESQL_VERSION: 13
|
||||||
POSTGIS_VERSION: 3
|
POSTGIS_VERSION: 3
|
||||||
CPP_VERSION: 17
|
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@ -166,7 +162,6 @@ jobs:
|
|||||||
LUAJIT_OPTION: OFF
|
LUAJIT_OPTION: OFF
|
||||||
POSTGRESQL_VERSION: 13
|
POSTGRESQL_VERSION: 13
|
||||||
POSTGIS_VERSION: 3
|
POSTGIS_VERSION: 3
|
||||||
CPP_VERSION: 17
|
|
||||||
USE_PROJ_LIB: 6
|
USE_PROJ_LIB: 6
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
|
|
||||||
@ -185,7 +180,6 @@ jobs:
|
|||||||
LUAJIT_OPTION: OFF
|
LUAJIT_OPTION: OFF
|
||||||
POSTGRESQL_VERSION: 13
|
POSTGRESQL_VERSION: 13
|
||||||
POSTGIS_VERSION: 3
|
POSTGIS_VERSION: 3
|
||||||
CPP_VERSION: 17
|
|
||||||
USE_PROJ_LIB: off
|
USE_PROJ_LIB: off
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
|
|
||||||
@ -204,7 +198,6 @@ jobs:
|
|||||||
LUAJIT_OPTION: OFF
|
LUAJIT_OPTION: OFF
|
||||||
POSTGRESQL_VERSION: 14
|
POSTGRESQL_VERSION: 14
|
||||||
POSTGIS_VERSION: 3
|
POSTGIS_VERSION: 3
|
||||||
CPP_VERSION: 17
|
|
||||||
USE_PROJ_LIB: 6
|
USE_PROJ_LIB: 6
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
|
|
||||||
@ -223,7 +216,6 @@ jobs:
|
|||||||
LUAJIT_OPTION: ON
|
LUAJIT_OPTION: ON
|
||||||
POSTGRESQL_VERSION: 13
|
POSTGRESQL_VERSION: 13
|
||||||
POSTGIS_VERSION: 2.5
|
POSTGIS_VERSION: 2.5
|
||||||
CPP_VERSION: 17
|
|
||||||
BUILD_TYPE: Release
|
BUILD_TYPE: Release
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@ -239,7 +231,6 @@ jobs:
|
|||||||
CXX: g++-10
|
CXX: g++-10
|
||||||
POSTGRESQL_VERSION: 13
|
POSTGRESQL_VERSION: 13
|
||||||
POSTGIS_VERSION: 2.5
|
POSTGIS_VERSION: 2.5
|
||||||
CPP_VERSION: 17
|
|
||||||
BUILD_TYPE: Release
|
BUILD_TYPE: Release
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@ -257,7 +248,6 @@ jobs:
|
|||||||
LUAJIT_OPTION: ON
|
LUAJIT_OPTION: ON
|
||||||
POSTGRESQL_VERSION: 14
|
POSTGRESQL_VERSION: 14
|
||||||
POSTGIS_VERSION: 3
|
POSTGIS_VERSION: 3
|
||||||
CPP_VERSION: 17
|
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@ -275,7 +265,6 @@ jobs:
|
|||||||
LUAJIT_OPTION: OFF
|
LUAJIT_OPTION: OFF
|
||||||
POSTGRESQL_VERSION: 14
|
POSTGRESQL_VERSION: 14
|
||||||
POSTGIS_VERSION: 3
|
POSTGIS_VERSION: 3
|
||||||
CPP_VERSION: 17
|
|
||||||
USE_PROJ_LIB: 6
|
USE_PROJ_LIB: 6
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
|
|
||||||
@ -294,7 +283,6 @@ jobs:
|
|||||||
LUAJIT_OPTION: OFF
|
LUAJIT_OPTION: OFF
|
||||||
POSTGRESQL_VERSION: 14
|
POSTGRESQL_VERSION: 14
|
||||||
POSTGIS_VERSION: 3
|
POSTGIS_VERSION: 3
|
||||||
CPP_VERSION: 17
|
|
||||||
USE_PROJ_LIB: off
|
USE_PROJ_LIB: off
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
|
|
||||||
@ -313,7 +301,6 @@ jobs:
|
|||||||
LUAJIT_OPTION: OFF
|
LUAJIT_OPTION: OFF
|
||||||
POSTGRESQL_VERSION: 14
|
POSTGRESQL_VERSION: 14
|
||||||
POSTGIS_VERSION: 3
|
POSTGIS_VERSION: 3
|
||||||
CPP_VERSION: 17
|
|
||||||
USE_PROJ_LIB: 6
|
USE_PROJ_LIB: 6
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
|
|
||||||
@ -333,7 +320,6 @@ jobs:
|
|||||||
LUAJIT_OPTION: ON
|
LUAJIT_OPTION: ON
|
||||||
POSTGRESQL_VERSION: 14
|
POSTGRESQL_VERSION: 14
|
||||||
POSTGIS_VERSION: 3
|
POSTGIS_VERSION: 3
|
||||||
CPP_VERSION: 17
|
|
||||||
BUILD_TYPE: Release
|
BUILD_TYPE: Release
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@ -350,7 +336,6 @@ jobs:
|
|||||||
EXTRA_FLAGS: -Wno-stringop-overread
|
EXTRA_FLAGS: -Wno-stringop-overread
|
||||||
POSTGRESQL_VERSION: 14
|
POSTGRESQL_VERSION: 14
|
||||||
POSTGIS_VERSION: 3
|
POSTGIS_VERSION: 3
|
||||||
CPP_VERSION: 17
|
|
||||||
BUILD_TYPE: Release
|
BUILD_TYPE: Release
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
cmake_minimum_required(VERSION 3.5.0)
|
cmake_minimum_required(VERSION 3.8.0)
|
||||||
|
|
||||||
project(osm2pgsql VERSION 1.8.1 LANGUAGES CXX C)
|
project(osm2pgsql VERSION 1.8.1 LANGUAGES CXX C)
|
||||||
|
|
||||||
@ -37,12 +37,8 @@ if (NOT CMAKE_BUILD_TYPE)
|
|||||||
set(CMAKE_BUILD_TYPE RelWithDebInfo)
|
set(CMAKE_BUILD_TYPE RelWithDebInfo)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (NOT "${CMAKE_CXX_STANDARD}")
|
# We don't want to use special compiler extensions because we want portability
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
|
||||||
endif()
|
|
||||||
message(STATUS "Building in C++${CMAKE_CXX_STANDARD} mode")
|
|
||||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
add_definitions(-D_CRT_SECURE_NO_WARNINGS -DNOMINMAX)
|
add_definitions(-D_CRT_SECURE_NO_WARNINGS -DNOMINMAX)
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
|
|
||||||
add_library(osm2pgsql_lib STATIC)
|
add_library(osm2pgsql_lib STATIC)
|
||||||
|
|
||||||
|
# Set the minimum required C++ version for the library and hence for all
|
||||||
|
# binaries that use it.
|
||||||
|
target_compile_features(osm2pgsql_lib PUBLIC cxx_std_17)
|
||||||
|
|
||||||
target_sources(osm2pgsql_lib PRIVATE
|
target_sources(osm2pgsql_lib PRIVATE
|
||||||
db-copy.cpp
|
db-copy.cpp
|
||||||
debug-output.cpp
|
debug-output.cpp
|
||||||
|
@ -36,6 +36,7 @@ add_definitions(-DTESTDATA_DIR=\"${osm2pgsql_SOURCE_DIR}/tests/data/\")
|
|||||||
add_definitions(-DOSM2PGSQLDATA_DIR=\"${osm2pgsql_SOURCE_DIR}/\")
|
add_definitions(-DOSM2PGSQLDATA_DIR=\"${osm2pgsql_SOURCE_DIR}/\")
|
||||||
|
|
||||||
add_library(catch_main_lib STATIC catch-main.cpp)
|
add_library(catch_main_lib STATIC catch-main.cpp)
|
||||||
|
target_compile_features(catch_main_lib PUBLIC cxx_std_17)
|
||||||
|
|
||||||
set_test(test-check-input LABELS NoDB)
|
set_test(test-check-input LABELS NoDB)
|
||||||
set_test(test-db-copy-thread)
|
set_test(test-db-copy-thread)
|
||||||
|
Reference in New Issue
Block a user