v2 nearly done
This commit is contained in:
parent
5e1fcd8590
commit
f13671b2be
24 changed files with 1467 additions and 314 deletions
51
project.cpp
Normal file
51
project.cpp
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
import std;
|
||||
import Crafter.Build;
|
||||
namespace fs = std::filesystem;
|
||||
using namespace Crafter;
|
||||
|
||||
extern "C" Configuration CrafterBuildProject(std::span<const std::string_view> args) {
|
||||
Configuration cfg;
|
||||
cfg.path = "./";
|
||||
cfg.name = "crafter.build";
|
||||
cfg.outputName = "crafter-build";
|
||||
cfg.target = "x86_64-pc-linux-gnu";
|
||||
cfg.type = ConfigurationType::Executable;
|
||||
|
||||
for (std::string_view arg : args) {
|
||||
if (arg == "--debug") cfg.debug = true;
|
||||
}
|
||||
|
||||
std::array<fs::path, 7> interfaces = {
|
||||
"interfaces/Crafter.Build",
|
||||
"interfaces/Crafter.Build-Shader",
|
||||
"interfaces/Crafter.Build-Platform",
|
||||
"interfaces/Crafter.Build-Interface",
|
||||
"interfaces/Crafter.Build-Implementation",
|
||||
"interfaces/Crafter.Build-External",
|
||||
"interfaces/Crafter.Build-Clang",
|
||||
};
|
||||
std::array<fs::path, 7> implementations = {
|
||||
"implementations/Crafter.Build-Shader",
|
||||
"implementations/Crafter.Build-Platform",
|
||||
"implementations/Crafter.Build-Interface",
|
||||
"implementations/Crafter.Build-Implementation",
|
||||
"implementations/Crafter.Build-External",
|
||||
"implementations/Crafter.Build-Clang",
|
||||
"implementations/main",
|
||||
};
|
||||
cfg.GetInterfacesAndImplementations(interfaces, implementations);
|
||||
|
||||
ExternalDependency& glslang = cfg.externalDependencies.emplace_back();
|
||||
glslang.name = "glslang";
|
||||
glslang.source.url = "https://github.com/KhronosGroup/glslang.git";
|
||||
glslang.source.branch = "main";
|
||||
glslang.builder = ExternalBuilder::CMake;
|
||||
glslang.options = { "-DENABLE_OPT=OFF" };
|
||||
glslang.includeDirs = { "" };
|
||||
glslang.libs = { "SPIRV", "GenericCodeGen", "glslang", "OSDependent", "MachineIndependent", "glslang-default-resource-limits" };
|
||||
|
||||
cfg.linkFlags.push_back("-Wl,--export-dynamic");
|
||||
cfg.linkFlags.push_back("-ldl");
|
||||
|
||||
return cfg;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue