Skip to content

chore(build): drop pre-project GNUInstallDirs include and add SQLite3::SQLite3 shim#28

Merged
olantwin merged 1 commit into
mainfrom
chore/cmake-warnings
Jun 5, 2026
Merged

chore(build): drop pre-project GNUInstallDirs include and add SQLite3::SQLite3 shim#28
olantwin merged 1 commit into
mainfrom
chore/cmake-warnings

Conversation

@olantwin
Copy link
Copy Markdown
Contributor

@olantwin olantwin commented Jun 5, 2026

Summary

Two unrelated but trivial CMake dev warnings that surfaced on every CI configure step. No behaviour change.

  • CMakeLists.txt:5include(GNUInstallDirs) ran before project(...), which trips a 'no target architecture is known' warning (GNUInstallDirs cannot pick a libdir until a language is enabled). The second include later in the file (after project(... LANGUAGES CXX)) is correctly placed and already provides the install-dir variables used downstream — the pre-project include was redundant.
  • apps/CMakeLists.txt:15 — CMake 4.3 renamed the FindSQLite3 target to SQLite3::SQLite3 and marked the old name SQLite::SQLite3 deprecated, so every target_link_libraries resolution against it fired a dev warning. Switch the linkage to SQLite3::SQLite3 and add the alias-shim recommended by the FindSQLite3 docs so the build still works on older CMake (< 4.3) that only ships SQLite::SQLite3.

Test plan

  • Configure with conda CMake 4.3 (pixi toolchain) — no CMake Warning (dev) lines from these two files
  • Configure with the CVMFS toolchain CMake (still ships SQLite::SQLite3 only) — the shim provides SQLite3::SQLite3 as an alias, so the link succeeds
  • Build + 25/25 ctest tests still pass (the segfault under fix(Calorimeter): avoid std::format to work around libstdc++ ABI clash #27 is unrelated to this PR)

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jun 5, 2026

Warning

Review limit reached

@olantwin, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 11 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: bb5c3db5-46c9-4294-9408-f4036ae27bc2

📥 Commits

Reviewing files that changed from the base of the PR and between cb46f78 and 92dcf84.

📒 Files selected for processing (2)
  • CMakeLists.txt
  • apps/CMakeLists.txt
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/cmake-warnings

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.

@olantwin olantwin force-pushed the chore/cmake-warnings branch from c60d341 to 716bad4 Compare June 5, 2026 07:38
…::SQLite3 shim

Two unrelated but trivial CMake dev warnings surfaced on every CI
configure step:

- The top-level CMakeLists.txt included GNUInstallDirs before
  project(), which trips a 'no target architecture is known' warning
  because GNUInstallDirs cannot pick a libdir until a language is
  enabled. The second include later in the file (after
  project(... LANGUAGES CXX)) is correctly placed and already
  provides the install-dir variables used downstream — the
  pre-project include was redundant.

- apps/CMakeLists.txt linked against SQLite::SQLite3. CMake 4.3
  renamed the FindSQLite3 target to SQLite3::SQLite3 and marked the
  old name deprecated, so every target_link_libraries call against
  it fired a dev warning. Switch the linkage to SQLite3::SQLite3 and
  add the alias-shim recommended by the FindSQLite3 docs so the build
  still works on older CMake (< 4.3) that only ships SQLite::SQLite3.

No behaviour change.
@olantwin olantwin force-pushed the chore/cmake-warnings branch from 716bad4 to 92dcf84 Compare June 5, 2026 07:42
@olantwin olantwin changed the title chore(build): drop pre-project GNUInstallDirs include and rename SQLite target chore(build): drop pre-project GNUInstallDirs include and add SQLite3::SQLite3 shim Jun 5, 2026
@olantwin olantwin merged commit 342dee7 into main Jun 5, 2026
3 checks passed
@olantwin olantwin deleted the chore/cmake-warnings branch June 5, 2026 07:47
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