33 lines
1.1 KiB
C++
33 lines
1.1 KiB
C++
|
|
import std;
|
||
|
|
import Crafter.Build;
|
||
|
|
namespace fs = std::filesystem;
|
||
|
|
using namespace Crafter;
|
||
|
|
|
||
|
|
extern "C" Configuration CrafterBuildProject(std::span<const std::string_view>) {
|
||
|
|
static auto ShaderLib = std::make_unique<Configuration>();
|
||
|
|
ShaderLib->path = "./lib/";
|
||
|
|
ShaderLib->name = "ShaderLib";
|
||
|
|
ShaderLib->outputName = "ShaderLib";
|
||
|
|
ShaderLib->target = "x86_64-pc-linux-gnu";
|
||
|
|
ShaderLib->type = ConfigurationType::LibraryStatic;
|
||
|
|
{
|
||
|
|
std::array<fs::path, 1> ifaces = { "ShaderLib" };
|
||
|
|
std::array<fs::path, 0> impls = {};
|
||
|
|
ShaderLib->GetInterfacesAndImplementations(ifaces, impls);
|
||
|
|
}
|
||
|
|
ShaderLib->shaders.emplace_back("./lib/triangle.glsl", "main", ShaderType::Vertex);
|
||
|
|
|
||
|
|
Configuration app;
|
||
|
|
app.path = "./";
|
||
|
|
app.name = "shader-dep-app";
|
||
|
|
app.outputName = "shader-dep-app";
|
||
|
|
app.target = "x86_64-pc-linux-gnu";
|
||
|
|
app.type = ConfigurationType::Executable;
|
||
|
|
app.dependencies = { ShaderLib.get() };
|
||
|
|
{
|
||
|
|
std::array<fs::path, 0> ifaces = {};
|
||
|
|
std::array<fs::path, 1> impls = { "main" };
|
||
|
|
app.GetInterfacesAndImplementations(ifaces, impls);
|
||
|
|
}
|
||
|
|
return app;
|
||
|
|
}
|