Skip to content

Commit 47238e8

Browse files
committed
Github actions: Modernize / Remove vestiges of proj support
1 parent 711721c commit 47238e8

File tree

6 files changed

+85
-143
lines changed

6 files changed

+85
-143
lines changed

.github/actions/cmake/action.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ runs:
1212
-DBUILD_DATA_TESTS=ON \
1313
-DUSE_CPP_VERSION=${CPP_VERSION} \
1414
-DWITH_PROJ=${WITH_PROJ} \
15-
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
16-
-DPROTOZERO_INCLUDE_DIR=${GITHUB_WORKSPACE}/../protozero/include
15+
-DPROTOZERO_INCLUDE_DIR=${GITHUB_WORKSPACE}/../protozero/include \
16+
-DCMAKE_BUILD_TYPE=${BUILD_TYPE}
1717
shell: bash
1818
working-directory: build
1919

.github/workflows/ci.yml

+64-97
Original file line numberDiff line numberDiff line change
@@ -9,123 +9,96 @@ jobs:
99
strategy:
1010
fail-fast: false
1111
matrix:
12-
name: [Ubuntu-20, Ubuntu-22, Ubuntu-24, Debian-10, Debian-11, Debian-12, Debian-Testing, Debian-Experimental, Fedora-37, Fedora-38, Fedora-39, Fedora-40]
12+
image:
13+
- "ubuntu:20.04" # gcc 9.3.0, clang 10.0.0, cmake 3.16.3
14+
- "ubuntu:22.04" # gcc 12.2.0, clang 15.0.7, cmake 3.24.2
15+
- "ubuntu:24.04" # gcc 14.2.0, clang 18.1.3, cmake 3.28.3
16+
- "debian:buster" # gcc 8.3.0, clang 7.0.1, cmake 3.13.4
17+
- "debian:bullseye" # gcc 10.2.1, clang 11.0.1, cmake 3.18.4
18+
- "debian:bookworm" # gcc 12.2.0, clang 15.0.6, cmake 3.25.1
19+
- "debian:testing"
20+
- "debian:experimental"
21+
- "fedora:37"
22+
- "fedora:38"
23+
- "fedora:39"
24+
- "fedora:40"
25+
- "fedora:41"
1326
build_type: [Dev]
1427
cpp_compiler: [g++]
15-
cpp_version: [c++11]
28+
cpp_version: [c++14]
1629
include:
17-
- name: Ubuntu-20
18-
# Uses gcc 9.3.0, clang 10.0.0, cmake 3.16.3
19-
image: "ubuntu:20.04"
20-
ubuntu: 20
21-
- name: Ubuntu-22
22-
# Uses gcc 12.2.0, clang 15.0.7, cmake 3.24.2
23-
image: "ubuntu:22.04"
24-
ubuntu: 22
30+
- image: "ubuntu:22.04"
2531
CXXFLAGS: -Wno-stringop-overread
26-
- name: Ubuntu-24
27-
# Uses gcc 14.2.0, clang 18.1.3, cmake 3.28.3
28-
image: "ubuntu:24.04"
29-
ubuntu: 24
32+
- image: "ubuntu:24.04"
3033
CXXFLAGS: -Wno-stringop-overread -Wno-dangling-reference
31-
- name: Debian-10
32-
# Uses gcc 8.3.0, clang 7.0.1, cmake 3.13.4
33-
image: "debian:buster"
34-
- name: Debian-11
35-
# Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4
36-
image: "debian:bullseye"
37-
- name: Debian-11
38-
image: "debian:bullseye"
34+
- image: "debian:bullseye"
3935
cpp_version: c++17
40-
- name: Debian-11
41-
image: "debian:bullseye"
36+
- image: "debian:bullseye"
4237
cpp_version: c++20
43-
- name: Debian-11
44-
image: "debian:bullseye"
38+
- image: "debian:bullseye"
4539
c_compiler: clang
4640
cpp_compiler: clang++
47-
- name: Debian-11
48-
image: "debian:bullseye"
41+
- image: "debian:bullseye"
4942
c_compiler: clang
5043
cpp_compiler: clang++
5144
cpp_version: c++17
52-
- name: Debian-11
53-
image: "debian:bullseye"
45+
- image: "debian:bullseye"
5446
c_compiler: clang
5547
cpp_compiler: clang++
5648
cpp_version: c++20
57-
- name: Debian-11
58-
image: "debian:bullseye"
49+
- image: "debian:bullseye"
5950
build_type: RelWithDebInfo
60-
- name: Debian-11
61-
image: "debian:bullseye"
51+
- image: "debian:bullseye"
6252
c_compiler: clang
6353
cpp_compiler: clang++
6454
CXXFLAGS: -fsanitize=address,undefined -fno-sanitize-recover=all -fno-omit-frame-pointer
6555
LDFLAGS: -fsanitize=address,undefined
66-
- name: Debian-12
67-
# Uses gcc 12.2.0, clang 15.0.6, cmake 3.25.1
68-
image: "debian:bookworm"
56+
- image: "debian:bookworm"
6957
CXXFLAGS: -Wno-stringop-overread
70-
- name: Debian-12
71-
image: "debian:bookworm"
58+
- image: "debian:bookworm"
7259
cpp_version: c++17
7360
CXXFLAGS: -Wno-stringop-overread
74-
- name: Debian-12
75-
image: "debian:bookworm"
61+
- image: "debian:bookworm"
7662
cpp_version: c++20
7763
CXXFLAGS: -Wno-stringop-overread
78-
- name: Debian-12
79-
image: "debian:bookworm"
64+
- image: "debian:bookworm"
8065
c_compiler: clang
8166
cpp_compiler: clang++
82-
- name: Debian-12
83-
image: "debian:bookworm"
67+
- image: "debian:bookworm"
8468
c_compiler: clang
8569
cpp_compiler: clang++
8670
cpp_version: c++17
87-
- name: Debian-12
88-
image: "debian:bookworm"
71+
- image: "debian:bookworm"
8972
c_compiler: clang
9073
cpp_compiler: clang++
9174
cpp_version: c++20
92-
- name: Debian-12
93-
image: "debian:bookworm"
75+
- image: "debian:bookworm"
9476
build_type: RelWithDebInfo
9577
CXXFLAGS: -Wno-stringop-overread
96-
- name: Debian-12
97-
image: "debian:bookworm"
78+
- image: "debian:bookworm"
9879
c_compiler: clang
9980
cpp_compiler: clang++
10081
CXXFLAGS: -fsanitize=address,undefined -fno-sanitize-recover=all -fno-omit-frame-pointer
10182
LDFLAGS: -fsanitize=address,undefined
102-
- name: Debian-Testing
103-
image: "debian:testing"
83+
- image: "debian:testing"
10484
CXXFLAGS: -Wno-stringop-overread -Wno-dangling-reference
105-
- name: Debian-Testing
106-
image: "debian:testing"
85+
- image: "debian:testing"
10786
c_compiler: clang
10887
cpp_compiler: clang++
109-
- name: Debian-Experimental
110-
image: "debian:experimental"
88+
- image: "debian:experimental"
11189
CXXFLAGS: -Wno-stringop-overread -Wno-dangling-reference
112-
- name: Debian-Experimental
113-
image: "debian:experimental"
90+
- image: "debian:experimental"
11491
c_compiler: clang
11592
cpp_compiler: clang++
116-
- name: Fedora-37
117-
# Uses gcc 12.3.1, clang 15.0.7, cmake 3.26.4
118-
image: "fedora:37"
93+
- image: "fedora:37"
11994
CXXFLAGS: -Wno-stringop-overread
120-
- name: Fedora-38
121-
# Uses gcc 13.0.1, clang 16.0.5, cmake 3.26.4
122-
image: "fedora:38"
95+
- image: "fedora:38"
12396
CXXFLAGS: -Wno-stringop-overread -Wno-dangling-reference
124-
- name: Fedora-39
125-
image: "fedora:39"
97+
- image: "fedora:39"
12698
CXXFLAGS: -Wno-stringop-overread -Wno-dangling-reference
127-
- name: Fedora-40
128-
image: "fedora:40"
99+
- image: "fedora:40"
100+
CXXFLAGS: -Wno-stringop-overread -Wno-dangling-reference
101+
- image: "fedora:41"
129102
CXXFLAGS: -Wno-stringop-overread -Wno-dangling-reference
130103
container:
131104
image: ${{ matrix.image }}
@@ -137,7 +110,6 @@ jobs:
137110
CXXFLAGS: ${{ matrix.CXXFLAGS }}
138111
LDFLAGS: ${{ matrix.LDFLAGS }}
139112
CPP_VERSION: ${{ matrix.cpp_version }}
140-
WITH_PROJ: ON
141113
APT_LISTCHANGES_FRONTEND: none
142114
DEBIAN_FRONTEND: noninteractive
143115
steps:
@@ -159,7 +131,6 @@ jobs:
159131
libgdal-dev \
160132
libgeos++-dev \
161133
liblz4-dev \
162-
libproj-dev \
163134
libsparsehash-dev \
164135
make \
165136
ruby \
@@ -175,25 +146,24 @@ jobs:
175146
if: startsWith(matrix.image, 'fedora:')
176147
run: |
177148
dnf install --quiet --assumeyes \
178-
boost-devel \
179-
bzip2-devel \
180-
cmake \
181-
doxygen \
182-
expat-devel \
183-
gcc-c++ \
184-
gdal-devel \
185-
gdalcpp-static \
186-
geos-devel \
187-
git \
188-
graphviz \
189-
lz4-devel \
190-
make \
191-
proj-devel \
192-
ruby \
193-
rubygem-json \
194-
sparsehash-devel \
195-
spatialite-tools \
196-
zlib-devel
149+
boost-devel \
150+
bzip2-devel \
151+
cmake \
152+
doxygen \
153+
expat-devel \
154+
gcc-c++ \
155+
gdal-devel \
156+
gdalcpp-static \
157+
geos-devel \
158+
git \
159+
graphviz \
160+
lz4-devel \
161+
make \
162+
ruby \
163+
rubygem-json \
164+
sparsehash-devel \
165+
spatialite-tools \
166+
zlib-devel
197167
- uses: actions/checkout@v4
198168
with:
199169
submodules: true
@@ -209,7 +179,6 @@ jobs:
209179
CC: clang-18
210180
CXX: clang++-18
211181
BUILD_TYPE: Dev
212-
WITH_PROJ: ON
213182
steps:
214183
- uses: actions/checkout@v4
215184
with:
@@ -226,18 +195,17 @@ jobs:
226195
fail-fast: false
227196
matrix:
228197
os:
229-
- "macos-14"
230-
- "macos-15"
198+
- macos-14
199+
- macos-15
231200
build_type: [Dev]
232201
include:
233-
- os: "macos-14"
202+
- os: macos-14
234203
build_type: Release
235204
runs-on: ${{ matrix.os }}
236205
env:
237206
CC: clang
238207
CXX: clang++
239208
BUILD_TYPE: ${{ matrix.build_type }}
240-
WITH_PROJ: OFF
241209
steps:
242210
- uses: actions/checkout@v4
243211
with:
@@ -275,10 +243,9 @@ jobs:
275243
submodules: true
276244
- uses: ./.github/actions/install-windows
277245
- name: Install extra packages
278-
run: vcpkg install geos:x64-windows gdal:x64-windows proj:x64-windows
246+
run: vcpkg install geos:x64-windows gdal:x64-windows
279247
shell: bash
280248
- uses: ./.github/actions/install-protozero
281249
- uses: ./.github/actions/cmake-windows
282250
- uses: ./.github/actions/build-windows
283251
- uses: ./.github/actions/ctest-windows
284-

.github/workflows/clang-tidy.yml

+17-19
Original file line numberDiff line numberDiff line change
@@ -11,40 +11,38 @@ jobs:
1111
image: ["debian:bullseye", "debian:testing", "debian:experimental"]
1212
include:
1313
- image: "debian:bullseye"
14-
clang: 11
15-
- image: "debian:testing"
1614
clang: 15
17-
- image: "debian:experimental"
15+
- image: "debian:testing"
1816
clang: 19
17+
- image: "debian:experimental"
18+
clang: 20
1919
container:
2020
image: ${{ matrix.image }}
2121
env:
2222
BUILD_TYPE: Dev
2323
CC: clang-${{ matrix.clang }}
2424
CXX: clang++-${{ matrix.clang }}
25-
CPP_VERSION: c++11
26-
WITH_PROJ: ON
25+
CPP_VERSION: c++14
2726
APT_LISTCHANGES_FRONTEND: none
2827
DEBIAN_FRONTEND: noninteractive
2928
steps:
3029
- name: Prepare container (apt)
3130
run: |
3231
apt-get update -qq
3332
apt-get install -yq \
34-
clang-${{ matrix.clang }} \
35-
clang-tidy-${{ matrix.clang }} \
36-
cmake \
37-
git \
38-
libboost-dev \
39-
libbz2-dev \
40-
libexpat1-dev \
41-
libgdal-dev \
42-
libgeos++-dev \
43-
liblz4-dev \
44-
libproj-dev \
45-
libsparsehash-dev \
46-
make \
47-
zlib1g-dev
33+
clang-${{ matrix.clang }} \
34+
clang-tidy-${{ matrix.clang }} \
35+
cmake \
36+
git \
37+
libboost-dev \
38+
libbz2-dev \
39+
libexpat1-dev \
40+
libgdal-dev \
41+
libgeos++-dev \
42+
liblz4-dev \
43+
libsparsehash-dev \
44+
make \
45+
zlib1g-dev
4846
shell: bash
4947
- uses: actions/checkout@v4
5048
with:

CMakeLists.txt

+1-7
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,6 @@ option(INSTALL_GDALCPP "also install gdalcpp headers" OFF)
8080

8181
option(WITH_PROFILING "add flags needed for profiling" OFF)
8282

83-
option(WITH_PROJ "build/test with proj" ON)
84-
8583

8684
#-----------------------------------------------------------------------------
8785
#
@@ -169,11 +167,7 @@ set(OSMIUM_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include")
169167

170168
include_directories(${OSMIUM_INCLUDE_DIR})
171169

172-
if(WITH_PROJ)
173-
find_package(Osmium COMPONENTS lz4 io gdal geos proj)
174-
else()
175-
find_package(Osmium COMPONENTS lz4 io gdal geos)
176-
endif()
170+
find_package(Osmium COMPONENTS lz4 io gdal geos)
177171

178172
# The find_package put the directory where it found the libosmium includes
179173
# into OSMIUM_INCLUDE_DIRS. We remove it again, because we want to make

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ A fast and flexible C++ library for working with OpenStreetMap data.
66

77
Libosmium works on Linux, macOS and Windows.
88

9-
[![Github Build Status](https://github.com/osmcode/libosmium/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/osmcode/libosmium/actions)
9+
[![Build Status](https://github.com/osmcode/libosmium/actions/workflows/ci.yml/badge.svg)](https://github.com/osmcode/libosmium/actions)
1010
[![Packaging status](https://repology.org/badge/tiny-repos/libosmium.svg)](https://repology.org/metapackage/libosmium)
1111

1212
Please see the [Libosmium manual](https://osmcode.org/libosmium/manual.html)

cmake/FindOsmium.cmake

-17
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
# io - include libraries needed for any type of input/output
3333
# geos - include if you want to use any of the GEOS functions
3434
# gdal - include if you want to use any of the OGR functions
35-
# proj - include if you want to use any of the Proj.4 functions
3635
# sparsehash - include if you use the sparsehash index (deprecated!)
3736
# lz4 - include support for LZ4 compression of PBF files
3837
#
@@ -205,22 +204,6 @@ if(Osmium_USE_GDAL)
205204
endif()
206205
endif()
207206

208-
#----------------------------------------------------------------------
209-
# Component 'proj'
210-
if(Osmium_USE_PROJ)
211-
find_path(PROJ_INCLUDE_DIR proj_api.h)
212-
find_library(PROJ_LIBRARY NAMES proj)
213-
214-
list(APPEND OSMIUM_EXTRA_FIND_VARS PROJ_INCLUDE_DIR PROJ_LIBRARY)
215-
if(PROJ_INCLUDE_DIR AND PROJ_LIBRARY)
216-
set(PROJ_FOUND 1)
217-
list(APPEND OSMIUM_LIBRARIES ${PROJ_LIBRARY})
218-
list(APPEND OSMIUM_INCLUDE_DIRS ${PROJ_INCLUDE_DIR})
219-
else()
220-
message(WARNING "Osmium: PROJ.4 library is required but not found, please install it or configure the paths.")
221-
endif()
222-
endif()
223-
224207
#----------------------------------------------------------------------
225208
# Component 'sparsehash'
226209
if(Osmium_USE_SPARSEHASH)

0 commit comments

Comments
 (0)