// SPDX-License-Identifier: LGPL-3.0-only // SPDX-FileCopyrightText: Copyright (C) 2026 Catcrafts® import std; import Crafter.Build; #pragma crafter dependency "../tool" using namespace Crafter; // The consumer whose AGENTS.md the test watches. It names lib itself, reaches // base only through lib, and uses tool as host tooling. Its own // AGENTS.consumer.md is for its consumers and must never land in its own // AGENTS.md, not even through helper, a dependency whose project file sits // beside this one. testonly is only a test's dependency. extern "C" Configuration CrafterBuildProject(std::span) { Configuration cfg; cfg.path = "./"; cfg.name = "app"; cfg.outputName = "app"; cfg.type = ConfigurationType::Executable; // Against the working directory, as with `cd app && crafter-build`. cfg.dependencies = { LocalProject({ .projectFile = "../lib/project.cpp" }), LocalProject({ .projectFile = "helper.cpp" }), }; cfg.AddTest("t").Dependencies({ LocalProject({ .projectFile = "../testonly/project.cpp" }) }); return cfg; }