Crafter.Build/tests/DependencyNotes/fixture/lib/project.cpp

21 lines
771 B
C++
Raw Normal View History

// SPDX-License-Identifier: LGPL-3.0-only
// SPDX-FileCopyrightText: Copyright (C) 2026 Catcrafts®
import std;
import Crafter.Build;
#pragma crafter dependency "../libtool"
using namespace Crafter;
// What app depends on. It builds against base, which app only reaches
// through it. libtool is lib's own host tooling: it says nothing about using
// lib, so its notes must not reach app.
extern "C" Configuration CrafterBuildProject(std::span<const std::string_view>) {
Configuration cfg;
cfg.path = "./";
cfg.name = "lib";
cfg.outputName = "lib";
cfg.type = ConfigurationType::LibraryStatic;
// Loaded from lib/, so this resolves against it.
cfg.dependencies = { LocalProject({ .projectFile = "../base/project.cpp" }) };
return cfg;
}