Skip to content

Remove the smoke utility and the leftover demo application - #13

Merged
sassi67 merged 1 commit into
mainfrom
chore/remove-smoke-and-demo-app
Aug 24, 2026
Merged

sassi67 merged 1 commit into
mainfrom
chore/remove-smoke-and-demo-app

Conversation

@sassi67

@sassi67 sassi67 commented Aug 24, 2026

Copy link
Copy Markdown
Owner

Summary

Final cleanup of the scaffolding inherited from the ModernCpp template, leaving only the code that serves the IIS module.

  • Removed smoke.h/smoke.cpp and smoke_test.cpp — placeholder code with no relation to the module. This empties src/utils/, and a CMake target with zero sources is a hard error, so the IISNativeModuleUtils target goes with them.
  • Removed src/main.cpp and the IISNativeModuleApp target — see the evaluation below. src/CMakeLists.txt is now a pure aggregator for core and module.
  • Test target simplified — drops the IISNativeModuleUtils link and its explicit ../src include directory; the <core/...> includes resolve through the PUBLIC include directory IISNativeModuleCore already exports.
  • CLAUDE.md updated to match: no app/utils targets, and the single-test example now names a TestCore case instead of the deleted smoke test.

Why src/main.cpp was safe to remove

It could not have survived the smoke removal regardless — its entire body was fmt::printing the smoke greeting. Everything else pointed the same way:

  • The IISNativeModuleApp target it backed was linked by nothing.
  • It is named nowhere in CI, which just builds everything and runs ctest.
  • It is absent from scripts/generate_coverage.bat, which only uses the test binary.
  • It is conceptually meaningless here: the deliverable is a DLL that IIS loads in-process, so a standalone main() has no role.

Note for reviewers

fmt and spdlog are intentionally kept in vcpkg.json and the top-level find_package calls even though no target links them any more — they stay available for future logging/formatting work. CLAUDE.md records this so they aren't later pruned as "unused".

Test plan

Verified from a wiped _build/:

  • cmake --preset windows-x86-64-debug configures cleanly from scratch
  • Full build: 3 targets (down from 5), no errors, no warnings
  • All tests pass (2 TestCore cases; the smoke test is gone as intended)
  • dumpbin -exports confirms the DLL still exports RegisterModule undecorated

🤖 Generated with Claude Code

smoke.h/.cpp and its test were the placeholder carried over from the
ModernCpp template and had no relation to the IIS module. Removing
them empties src/utils, so the IISNativeModuleUtils target goes with
them.

src/main.cpp went too: its entire body was printing the smoke
greeting, so it could not survive smoke's removal, and the target it
backed (IISNativeModuleApp) was linked by nothing, named nowhere in
CI, and meaningless for an in-process module that IIS loads as a DLL.
src/CMakeLists.txt is now a pure aggregator for core and module.

The test target drops its IISNativeModuleUtils link and its explicit
../src include directory; the <core/...> includes resolve through the
PUBLIC include directory IISNativeModuleCore already exports.

fmt and spdlog stay declared in vcpkg.json even though nothing links
them now, so they remain available for future logging work.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@sassi67
sassi67 merged commit 6e3d6b3 into main Aug 24, 2026
2 checks passed
@sassi67
sassi67 deleted the chore/remove-smoke-and-demo-app branch August 24, 2026 17:23
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