Skip to content

Moderinize hexer codebase#35

Merged
hobu merged 8 commits intomasterfrom
updates
Apr 15, 2026
Merged

Moderinize hexer codebase#35
hobu merged 8 commits intomasterfrom
updates

Conversation

@hobu
Copy link
Copy Markdown
Collaborator

@hobu hobu commented Apr 15, 2026

I saw #34 and decided the proper fix was to update the CMake configuration to use CONFIG find_package usage, so I asked Codex to do all this stuff instead.

Updates from Codex

  1. Modernized the top-level CMake configuration in CMakeLists.txt.

    • Raised cmake_minimum_required to 3.16...4.3 to remove current deprecation warnings.
    • Enabled CMAKE_FIND_PACKAGE_PREFER_CONFIG.
    • Added a real WITH_TESTS option and gated enable_testing() and add_subdirectory(test) behind it.
    • Replaced legacy GDAL variable-based usage with find_package(GDAL CONFIG REQUIRED) and GDAL::GDAL.
    • Added an explicit GDAL version check for 1.9.0 or newer.
  2. Updated the test build in test/CMakeLists.txt.

    • Switched GoogleTest integration from the vendored copy to FetchContent.
    • Configured GoogleTest to download from GitHub at configure time.
    • Linked tests against GTest::gtest and GDAL::GDAL.
    • Updated test registration to use $<TARGET_FILE:...>.
  3. Removed the vendored GoogleTest source tree under test/gtest/.

  4. Updated the local build helper script in hobu.sh.

    • Added stricter shell settings with set -euo pipefail.
    • Kept the build configured for the hexer conda environment.
    • Configured the project with Ninja and WITH_TESTS=ON.
    • Added the build step so the script now configures and compiles the project.
  5. Documented the example build flow in README.md.

    • Added a Building section.
    • Documented the example command conda run -n hexer ./hobu.sh.
    • Noted that the first configure downloads GoogleTest from GitHub.
  6. Added GitHub Actions CI in .github/workflows/ci.yml.

    • Added a matrix job for Linux, macOS ARM, and Windows.
    • Set up Miniforge/conda on all runners.
    • Installed cmake, ninja, and gdal.
    • Configured, built, and ran tests with CMake and CTest.
    • Added MSVC environment setup for Windows builds.

@hobu hobu merged commit bc22654 into master Apr 15, 2026
3 checks passed
@hobu hobu deleted the updates branch April 15, 2026 14:17
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.

1 participant