Skip to content

Conversation

@sanak
Copy link
Member

@sanak sanak commented Nov 30, 2025

Fixes #323.

Changes proposed in this pull request:

Related PR: pgRouting/docker-pgrouting#75

@pgRouting/admins

Summary by CodeRabbit

  • New Features

    • Added a Debian CI workflow with matrixed builds across multiple PostgreSQL/PostGIS versions.
    • Expanded Ubuntu CI matrix and added building/installing the Osmium utility during CI.
  • Chores

    • Modernized CMake/project configuration and improved dependency discovery and status messaging.
    • Simplified install/linking behavior and refined version-parsing variable naming.
  • Bug Fixes

    • Standardized program entry/exit returns for clearer termination semantics.

✏️ Tip: You can customize this high-level summary in your review settings.

@sanak sanak self-assigned this Nov 30, 2025
@coderabbitai
Copy link

coderabbitai bot commented Nov 30, 2025

Walkthrough

Adds a Debian GitHub Actions workflow, extends Ubuntu CI to build the Osmium tool, modernizes tools/osmium CMake (PQXX discovery, CMake minimum/project update, Boost/PQXX handling), removes the old FindLibPQXX module, adjusts FindOsmium header check, and makes a small main() signature/return fix in Osmium source.

Changes

Cohort / File(s) Summary
GitHub Actions workflows
.github/workflows/debian.yml, .github/workflows/ubuntu.yml
New Debian workflow with Postgres/PostGIS/pqxx matrix and Docker-based builds; updated Ubuntu workflow to include pqxx matrix variants, additional system deps, and building/installing the Osmium tool during CI (multi-stage CMake + make steps).
tools/osmium top-level CMake
tools/osmium/CMakeLists.txt
Modernized CMake policy/project (cmake_minimum_required 3.12, PROJECT(... VERSION 3.0.0)), switched to find_package(PQXX), conditional C++ standard selection based on PQXX version, adjusted Boost/PQXX include/link handling, added _FILE_OFFSET_BITS and platform flags, file globbing for sources, and changed install destination to ${CMAKE_INSTALL_PREFIX}/bin.
Osmium CMake modules
tools/osmium/cmake/FindPQXX.cmake, tools/osmium/cmake/FindLibPQXX.cmake (removed), tools/osmium/cmake/FindOsmium.cmake
Added new FindPQXX.cmake exposing PQXX_INCLUDE_DIR/PQXX_LIBRARIES/PQXX_VERSION; removed legacy FindLibPQXX.cmake; updated FindOsmium.cmake to search for osmium/version.hpp instead of osmium/osm.hpp.
Root CMake module
cmake/FindPQXX.cmake
Renamed variable PQXX_VERSION_MAYOR → PQXX_VERSION_MAJOR and updated all references; fixed mark_as_advanced usage to reference PQXX_LIBRARIES and adjusted PQXX_VERSION composition/unset logic.
Osmium source small fix
tools/osmium/src/getrestrictions.cpp
Made main explicitly return int (int main(...)), replaced exit(1) with return 1, and added return 0 for normal termination.
Top-level CMake messaging
CMakeLists.txt
Fixed status message to use ${Boost_LIBRARIES} instead of ${boost_LIBRARIES}.

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120 minutes

  • Files/areas needing extra attention:
    • tools/osmium/CMakeLists.txt — PQXX version-to-C++ standard mapping, new include/link changes, and install path semantics.
    • New tools/osmium/cmake/FindPQXX.cmake — version parsing robustness across pqxx releases and exported variables/names.
    • Removal of tools/osmium/cmake/FindLibPQXX.cmake — search for residual references and ensure CI/tooling use the new module.
    • .github/workflows/debian.yml and updated ubuntu.yml — matrix include/exclude correctness and installation/build ordering (osmium vs main project).
    • cmake/FindPQXX.cmake rename adjustments — verify no downstream breakage from variable rename.

Poem

🐰
I hopped through CMake with nimble paws,
swapped old finds for newer laws.
CI learned Debian's clever tune,
PQXX sparkles, Osmium hums soon.
Carrots, builds, and midnight code — hooray! 🥕

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main objective of fixing the osmium tool build process across multiple CI environments and CMake configurations.
Linked Issues check ✅ Passed The PR comprehensively addresses issue #323 by updating CMake configurations, adding Debian CI, syncing osmium tool settings, and fixing build dependencies.
Out of Scope Changes check ✅ Passed All changes are directly related to fixing the osmium tool build: updating CI workflows, CMake modules, CMakeLists configurations, and correcting variable naming issues.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix-tools-osmium-build

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🧹 Nitpick comments (1)
.github/workflows/ubuntu.yml (1)

92-96: Consider moving cmake configuration to a dedicated step.

The osmium tool cmake configuration is embedded within the "Configure compiler" step. While functional, separating it into its own step would improve readability and make CI logs easier to debug.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0c9f44f and 8afedaa.

📒 Files selected for processing (7)
  • .github/workflows/debian.yml (1 hunks)
  • .github/workflows/ubuntu.yml (3 hunks)
  • tools/osmium/CMakeLists.txt (2 hunks)
  • tools/osmium/cmake/FindLibPQXX.cmake (0 hunks)
  • tools/osmium/cmake/FindOsmium.cmake (1 hunks)
  • tools/osmium/cmake/FindPQXX.cmake (1 hunks)
  • tools/osmium/src/getrestrictions.cpp (2 hunks)
💤 Files with no reviewable changes (1)
  • tools/osmium/cmake/FindLibPQXX.cmake
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (164)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (18, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (18, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (18, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (18, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (18, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (18, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (18, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (18, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (18, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (18, 3, Release, ubuntu-latest, g++-11)
🔇 Additional comments (10)
.github/workflows/debian.yml (3)

64-65: Verify Debian package compatibility for libpqxx dependency.

Installing both libpqxx-dev (a metapackage) and a specific versioned package like libpqxx-6.4 could potentially create package conflicts in Debian/Ubuntu systems. The -dev metapackage typically depends on a specific runtime version, which may conflict with the explicitly pinned version.

Please confirm whether this dependency combination is intentional and works correctly across the test matrix. You can verify by:

  1. Checking Debian package relationships to see if libpqxx-dev hard-pins a specific runtime version
  2. Running a test build locally with a similar Docker image to confirm no apt resolver conflicts
  3. Reviewing package documentation for the versions specified in the matrix (6.4, 7.10)

Alternatively, if the goal is to pin a specific pqxx version for compatibility testing, consider whether installing only the versioned package (and letting it pull required dev headers transitively) would be simpler.


51-69: Good practice: Comprehensive dependency coverage for osmium tooling.

The workflow correctly installs all required build dependencies including libosmium2-dev and related libraries (libexpat, zlib). This should provide the headers needed to resolve the std::conditional_t type errors mentioned in issue #323.


71-92: No changes needed—workflows and install targets are properly configured.

The Debian workflow's Configure and Build steps for osmium tooling match the Ubuntu workflow exactly, and the osmium CMakeLists.txt correctly defines the install target for the getrestrictions binary (INSTALL(TARGETS getrestrictions ...) at lines 95–97). Both workflows safely invoke make install.

tools/osmium/src/getrestrictions.cpp (2)

46-52: LGTM! Proper main function signature and return handling.

The changes correctly fix the clang compilation error by using the standard int main(int argc, char *argv[]) signature and replacing exit(1) with return 1 for consistent exit handling.


136-136: Explicit return statement added.

Good practice to explicitly return 0 for successful program termination.

.github/workflows/ubuntu.yml (2)

31-35: Good use of matrix includes for version-specific dependencies.

The matrix includes correctly map OS versions to their respective libpqxx versions (7.8 for ubuntu-latest, 6.4 for ubuntu-22.04), ensuring compatibility across different Ubuntu releases.


74-78: Required dependencies for osmium tool build.

The added dependencies (libpqxx, libexpat, libosmium2-dev, zlib1g-dev) are necessary for building the osmium tool.

tools/osmium/cmake/FindOsmium.cmake (1)

68-71: Consistent header detection with version extraction.

Searching for osmium/version.hpp instead of osmium/osm.hpp aligns with the version extraction logic at lines 75-80, which already reads from version.hpp. This provides a more consistent and reliable detection mechanism.

tools/osmium/cmake/FindPQXX.cmake (1)

56-62: PQXX discovery module looks good overall.

The module correctly uses FindPackageHandleStandardArgs with version support. The discovery logic is solid.

tools/osmium/CMakeLists.txt (1)

48-54: Good version-aware C++ standard selection.

The logic to set C++17 for libpqxx >= 7.0.0 and C++14 for older versions correctly handles the API compatibility requirements between different libpqxx major versions.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (2)
tools/osmium/CMakeLists.txt (2)

28-28: Consider listing sources explicitly instead of using FILE(GLOB ...).

CMake documentation discourages FILE(GLOB) for collecting sources because new files won't trigger a reconfigure. However, this is a minor tool and the pattern is commonly used, so this is acceptable if you're aware of the trade-off.


96-96: Install path uses CMAKE_INSTALL_PREFIX directly.

Using ${CMAKE_INSTALL_PREFIX}/bin works but is less idiomatic than using bin alone, which CMake will automatically prefix. This is fine as-is but could be simplified.

-    RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin"
+    RUNTIME DESTINATION bin
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8afedaa and 40a9e65.

📒 Files selected for processing (3)
  • cmake/FindPQXX.cmake (2 hunks)
  • tools/osmium/CMakeLists.txt (2 hunks)
  • tools/osmium/cmake/FindPQXX.cmake (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • tools/osmium/cmake/FindPQXX.cmake
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (139)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Debian postgis (15, 3.5)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Debian postgis (17, 3.5)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (18, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Debian postgis (15, 3.5)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Debian postgis (17, 3.5)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (18, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Debian postgis (15, 3.5)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Debian postgis (17, 3.5)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (18, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Debian postgis (15, 3.5)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Debian postgis (17, 3.5)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (18, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Debian postgis (15, 3.5)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Debian postgis (17, 3.5)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (18, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Debian postgis (15, 3.5)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Debian postgis (17, 3.5)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (18, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Debian postgis (15, 3.5)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (18, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Debian postgis (15, 3.5)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (18, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Debian postgis (15, 3.5)
  • GitHub Check: Debian postgis (14, 3.5)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (18, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Debian postgis (15, 3.5)
  • GitHub Check: Debian postgis (14, 3.5)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, g++-11)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (15, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (18, 3, Debug, ubuntu-latest, clang)
🔇 Additional comments (9)
cmake/FindPQXX.cmake (2)

31-31: LGTM!

Correctly aligns mark_as_advanced with the actual variable name PQXX_LIBRARIES defined at line 27.


40-48: Good fix for the typo.

The correction from PQXX_VERSION_MAYOR to PQXX_VERSION_MAJOR fixes a naming inconsistency that would have caused version parsing issues.

tools/osmium/CMakeLists.txt (7)

1-10: LGTM!

Good modernization of CMake configuration:

  • Minimum version 3.12 is appropriate for the features used.
  • Project declaration with explicit VERSION and LANGUAGES is best practice.

15-18: LGTM!

Clean migration from LibPQXX to the unified PQXX finder module, consistent with cmake/FindPQXX.cmake.


48-54: LGTM!

The C++ standard conditional logic based on PQXX version is correct—PQXX 7.0+ requires C++17, while earlier versions work with C++14. The PQXX_DISCONNECT definition for older versions is appropriate for API compatibility.


56-57: Good fix removing the conflicting -std=c++0x flag.

The previous review concern about conflicting C++ standard flags has been addressed. The code now relies on CMAKE_CXX_STANDARD (lines 50/53) for standard selection.


71-71: Good fix using the singular form.

The previous review concern about PQXX_INCLUDE_DIRS vs PQXX_INCLUDE_DIR has been addressed. This now correctly matches the variable defined in FindPQXX.cmake.


99-101: Good fix using the correct target name.

The previous review concern about the wrong target name (osm2pgrouting vs getrestrictions) has been addressed. The Windows socket libraries are now correctly linked to the getrestrictions target.


39-39: BOOST_MINIMUM_VERSION is undefined and should be either defined or removed.

The variable BOOST_MINIMUM_VERSION is referenced at line 39 but is never defined in this file or anywhere else in the repository. When undefined, CMake substitutes an empty string, causing find_package(Boost) to search without a minimum version constraint. Either define BOOST_MINIMUM_VERSION to enforce a minimum Boost version, or remove it from the find_package() call if no version constraint is needed.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
tools/osmium/CMakeLists.txt (1)

13-13: Consider aligning SHARE_DIR with top-level CMakeLists pattern.

Line 13 uses a hardcoded path "/usr/share/getrestrictions", while the top-level CMakeLists.txt uses "${CMAKE_INSTALL_PREFIX}/share/osm2pgrouting". If this tool is meant to be relocatable and respect CMAKE_INSTALL_PREFIX (e.g., for non-system installations or cross-compilation), consider updating to:

-SET(SHARE_DIR "/usr/share/getrestrictions")
+SET(SHARE_DIR "${CMAKE_INSTALL_PREFIX}/share/getrestrictions")

This is a minor portability concern and may be intentional if this tool is always installed to /usr; verify with the project maintainers.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 40a9e65 and 8ac5668.

📒 Files selected for processing (2)
  • CMakeLists.txt (1 hunks)
  • tools/osmium/CMakeLists.txt (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (106)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Debian postgis (17, 3.5)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Debian postgis (17, 3.5)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Debian postgis (17, 3.5)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (17, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (17, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (17, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (17, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (17, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (17, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (17, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (17, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (17, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (17, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (17, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (17, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Ubuntu psql (14, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Release, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, clang)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-22.04, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, gcc-latest)
  • GitHub Check: Ubuntu psql (13, 3, Debug, ubuntu-latest, g++-11)
  • GitHub Check: Ubuntu psql (17, 3, Debug, ubuntu-22.04, clang)
  • GitHub Check: Ubuntu psql (17, 3, Release, ubuntu-latest, gcc-latest)
🔇 Additional comments (5)
CMakeLists.txt (1)

71-71: ✓ Correct variable case in Boost status message.

The message now correctly references ${Boost_LIBRARIES} (capital B) instead of the invalid ${boost_LIBRARIES}, ensuring the status message displays the actual Boost libraries. This aligns with CMake's FindBoost module conventions and is consistent with line 86 where the same variable is used in linking.

tools/osmium/CMakeLists.txt (4)

1-28: ✓ Modernized CMake setup and correct PQXX integration.

The CMake configuration now uses version 3.12, modern PROJECT declaration, and updated dependency discovery through the new PQXX module (replacing LIBPQXX). The project and executable names are consistent (both getrestrictions), and all required packages are discovered correctly.


48-66: ✓ C++ standard logic and compiler flags corrected.

The obsolete -std=c++0x flag has been removed (line 56), and the project now relies on modern CMAKE_CXX_STANDARD set by PQXX version logic (C++17 for PQXX ≥7.0.0, else C++14). Debug flags now include -g for symbol generation. This resolves past review feedback about conflicting C++ standard flags.


71-77: ✓ Status messages use correct variable names.

All debugging messages now reference the correct variables: PQXX_INCLUDE_DIR (singular, not plural) and Boost_LIBRARIES (capital B). These match the outputs from find_package() calls and will display actual values instead of empty strings.


85-101: ✓ Executable linking and Windows support corrected.

The executable getrestrictions is correctly defined, linked with all required libraries (PQXX, PostgreSQL, EXPAT, Boost, Osmium), and Windows socket libraries (wsock32, ws2_32) are properly linked to the correct target name. This resolves past critical issues around target naming consistency.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Building "tools/osmium" failed on Debian Trixie environment

2 participants