mirror of
https://github.com/aimrebirth/tools.git
synced 2026-04-14 17:33:25 +00:00
Fix injections file.
This commit is contained in:
parent
51b2076d1e
commit
be502b89bb
1 changed files with 136 additions and 136 deletions
272
sw.cpp
272
sw.cpp
|
|
@ -1,140 +1,140 @@
|
|||
#pragma sw require header org.sw.demo.lexxmark.winflexbison.bison
|
||||
|
||||
void build(Solution &s)
|
||||
{
|
||||
auto &tools = s.addProject("Polygon4.Tools", "master");
|
||||
tools += Git("https://github.com/aimrebirth/tools", "", "{v}");
|
||||
|
||||
auto cppstd = cpp23;
|
||||
|
||||
auto &common = tools.addStaticLibrary("common");
|
||||
{
|
||||
common += cppstd;
|
||||
common.setRootDirectory("src/common");
|
||||
common += ".*"_rr;
|
||||
common.Public += "pub.egorpugin.primitives.filesystem"_dep;
|
||||
common.Public += "pub.egorpugin.primitives.templates2"_dep;
|
||||
}
|
||||
|
||||
auto add_exe_base = [&](const String &name, String dirname = {}) -> decltype(auto)
|
||||
{
|
||||
if (dirname.empty())
|
||||
dirname = name;
|
||||
auto &t = tools.addExecutable(name);
|
||||
t.PackageDefinitions = true;
|
||||
t += cppstd;
|
||||
t.setRootDirectory("src/" + dirname);
|
||||
t += ".*"_rr; // to take .natvis files explicitly
|
||||
return t;
|
||||
};
|
||||
auto add_exe = [&](const String &name, const String &dirname = {}) -> decltype(auto)
|
||||
{
|
||||
auto &t = add_exe_base(name, dirname);
|
||||
t.Public += "pub.egorpugin.primitives.sw.main"_dep;
|
||||
return t;
|
||||
};
|
||||
auto add_exe_with_common = [&](const String &name, const String &dirname = {}) -> decltype(auto)
|
||||
{
|
||||
auto &t = add_exe(name, dirname);
|
||||
t.Public += common;
|
||||
return t;
|
||||
};
|
||||
auto add_exe_with_data_manager = [&](const String &name, const String &dirname = {}) -> decltype(auto)
|
||||
{
|
||||
auto &t = add_exe_with_common(name, dirname);
|
||||
t.Public += "pub.lzwdgc.Polygon4.DataManager-master"_dep;
|
||||
return t;
|
||||
};
|
||||
|
||||
add_exe_with_data_manager("db_add_language") += "pub.egorpugin.primitives.executor"_dep;
|
||||
add_exe_with_data_manager("db_extractor");
|
||||
add_exe_with_data_manager("db_extractor2") += "org.sw.demo.nlohmann.json.natvis"_dep;
|
||||
add_exe_with_data_manager("mmm_extractor");
|
||||
add_exe_with_data_manager("mmo_extractor");
|
||||
add_exe_with_common("mmo_extractor2");
|
||||
add_exe_with_common("mmp_extractor") += "org.sw.demo.intel.opencv.highgui"_dep;
|
||||
add_exe_with_common("mpj_loader");
|
||||
add_exe_with_common("paker");
|
||||
add_exe_with_common("script2txt");
|
||||
add_exe_with_common("txt2script");
|
||||
add_exe_with_common("tm_converter");
|
||||
add_exe_with_common("tm_converter2") +=
|
||||
"org.sw.demo.BenjaminDobell.s3tc_dxt_decompression-master"_dep,
|
||||
"org.sw.demo.intel.opencv.highgui"_dep
|
||||
;
|
||||
add_exe("name_generator");
|
||||
add_exe_with_common("save_loader");
|
||||
add_exe_with_common("bms_converter");
|
||||
add_exe_with_common("rgb_converter");
|
||||
add_exe_with_common("unpaker") +=
|
||||
"org.sw.demo.oberhumer.lzo.lzo"_dep,
|
||||
"org.sw.demo.xz_utils.lzma"_dep
|
||||
;
|
||||
|
||||
// not so simple targets
|
||||
auto &model = tools.addStaticLibrary("model");
|
||||
{
|
||||
model += cppstd;
|
||||
model.setRootDirectory("src/model");
|
||||
#pragma sw require header org.sw.demo.lexxmark.winflexbison.bison
|
||||
|
||||
void build(Solution &s)
|
||||
{
|
||||
auto &tools = s.addProject("Polygon4.Tools", "master");
|
||||
tools += Git("https://github.com/aimrebirth/tools", "", "{v}");
|
||||
|
||||
auto cppstd = cpp23;
|
||||
|
||||
auto &common = tools.addStaticLibrary("common");
|
||||
{
|
||||
common += cppstd;
|
||||
common.setRootDirectory("src/common");
|
||||
common += ".*"_rr;
|
||||
common.Public += "pub.egorpugin.primitives.filesystem"_dep;
|
||||
common.Public += "pub.egorpugin.primitives.templates2"_dep;
|
||||
}
|
||||
|
||||
auto add_exe_base = [&](const String &name, String dirname = {}) -> decltype(auto)
|
||||
{
|
||||
if (dirname.empty())
|
||||
dirname = name;
|
||||
auto &t = tools.addExecutable(name);
|
||||
t.PackageDefinitions = true;
|
||||
t += cppstd;
|
||||
t.setRootDirectory("src/" + dirname);
|
||||
t += ".*"_rr; // to take .natvis files explicitly
|
||||
return t;
|
||||
};
|
||||
auto add_exe = [&](const String &name, const String &dirname = {}) -> decltype(auto)
|
||||
{
|
||||
auto &t = add_exe_base(name, dirname);
|
||||
t.Public += "pub.egorpugin.primitives.sw.main"_dep;
|
||||
return t;
|
||||
};
|
||||
auto add_exe_with_common = [&](const String &name, const String &dirname = {}) -> decltype(auto)
|
||||
{
|
||||
auto &t = add_exe(name, dirname);
|
||||
t.Public += common;
|
||||
return t;
|
||||
};
|
||||
auto add_exe_with_data_manager = [&](const String &name, const String &dirname = {}) -> decltype(auto)
|
||||
{
|
||||
auto &t = add_exe_with_common(name, dirname);
|
||||
t.Public += "pub.lzwdgc.Polygon4.DataManager-master"_dep;
|
||||
return t;
|
||||
};
|
||||
|
||||
add_exe_with_data_manager("db_add_language") += "pub.egorpugin.primitives.executor"_dep;
|
||||
add_exe_with_data_manager("db_extractor");
|
||||
add_exe_with_data_manager("db_extractor2") += "org.sw.demo.nlohmann.json.natvis"_dep;
|
||||
add_exe_with_data_manager("mmm_extractor");
|
||||
add_exe_with_data_manager("mmo_extractor");
|
||||
add_exe_with_common("mmo_extractor2");
|
||||
add_exe_with_common("mmp_extractor") += "org.sw.demo.intel.opencv.highgui"_dep;
|
||||
add_exe_with_common("mpj_loader");
|
||||
add_exe_with_common("paker");
|
||||
add_exe_with_common("script2txt");
|
||||
add_exe_with_common("txt2script");
|
||||
add_exe_with_common("tm_converter");
|
||||
add_exe_with_common("tm_converter2") +=
|
||||
"org.sw.demo.BenjaminDobell.s3tc_dxt_decompression-master"_dep,
|
||||
"org.sw.demo.intel.opencv.highgui"_dep
|
||||
;
|
||||
add_exe("name_generator");
|
||||
add_exe_with_common("save_loader");
|
||||
add_exe_with_common("bms_converter");
|
||||
add_exe_with_common("rgb_converter");
|
||||
add_exe_with_common("unpaker") +=
|
||||
"org.sw.demo.oberhumer.lzo.lzo"_dep,
|
||||
"org.sw.demo.xz_utils.lzma"_dep
|
||||
;
|
||||
|
||||
// not so simple targets
|
||||
auto &model = tools.addStaticLibrary("model");
|
||||
{
|
||||
model += cppstd;
|
||||
model.setRootDirectory("src/model");
|
||||
model.Public += common,
|
||||
"org.sw.demo.unicode.icu.i18n"_dep,
|
||||
"org.sw.demo.eigen"_dep,
|
||||
"pub.egorpugin.primitives.yaml"_dep,
|
||||
"org.sw.demo.eigen"_dep,
|
||||
"pub.egorpugin.primitives.yaml"_dep,
|
||||
"pub.egorpugin.primitives.sw.settings"_dep
|
||||
;
|
||||
}
|
||||
|
||||
add_exe_with_common("mod_converter2") += model;
|
||||
|
||||
auto &language_switcher = tools.addExecutable("aim1.language_switcher");
|
||||
{
|
||||
auto &t = language_switcher;
|
||||
t += cppstd;
|
||||
t += "src/aim1_language_switcher/.*"_rr;
|
||||
t += "UNICODE"_def;
|
||||
t += "gdi32.lib"_slib, "ole32.lib"_slib, "user32.lib"_slib;
|
||||
if (auto L = t.getSelectedTool()->as<VisualStudioLinker*>(); L)
|
||||
L->Subsystem = vs::Subsystem::Windows;
|
||||
}
|
||||
|
||||
auto &aim1_mod_activator = add_exe_with_common("aim1.mod_activator", "aim1_mod_activator");
|
||||
aim1_mod_activator += "pub.egorpugin.primitives.pack"_dep;
|
||||
|
||||
auto &aim1_mod_maker = add_exe_with_common("aim1.mod_maker", "aim1_mod_maker"); // actually a library
|
||||
aim1_mod_maker.Public += "pub.egorpugin.primitives.command"_dep;
|
||||
aim1_mod_maker.Public += "org.sw.demo.nlohmann.json.natvis"_dep;
|
||||
aim1_mod_maker.Interface.ForceIncludeFiles.push_back("aim1_mod_maker.h");
|
||||
|
||||
auto &aim1_mod_maker_injections = aim1_mod_maker.addStaticLibrary("injections");
|
||||
aim1_mod_maker_injections.setRootDirectory("src/aim1_mod_maker");
|
||||
aim1_mod_maker_injections += "aim\\.exe\\..*\\.h"_rr;
|
||||
|
||||
auto &aim1_community_fix = tools.addExecutable("examples.mods.aim1.community_fix");
|
||||
{
|
||||
auto &t = aim1_community_fix;
|
||||
t.PackageDefinitions = true;
|
||||
t += cppstd;
|
||||
t += "examples/mods/aim1_community_fix/.*"_rr;
|
||||
t += aim1_mod_maker;
|
||||
}
|
||||
|
||||
add_exe("mod_reader") += model;
|
||||
|
||||
path sdk = "d:/arh/apps/Autodesk/FBX/FBX SDK/2019.0";
|
||||
if (fs::exists(sdk)) {
|
||||
auto &mod_converter = add_exe("mod_converter");
|
||||
mod_converter += model;
|
||||
mod_converter += "org.sw.demo.xmlsoft.libxml2"_dep; // fbx 2020 sdk requires libxml2
|
||||
mod_converter += IncludeDirectory(sdk / "include");
|
||||
String cfg = "release";
|
||||
if (mod_converter.getBuildSettings().Native.ConfigurationType == ConfigurationType::Debug)
|
||||
cfg = "debug";
|
||||
String arch = "x64";
|
||||
if (mod_converter.getBuildSettings().TargetOS.Arch == ArchType::x86)
|
||||
;
|
||||
}
|
||||
|
||||
add_exe_with_common("mod_converter2") += model;
|
||||
|
||||
auto &language_switcher = tools.addExecutable("aim1.language_switcher");
|
||||
{
|
||||
auto &t = language_switcher;
|
||||
t += cppstd;
|
||||
t += "src/aim1_language_switcher/.*"_rr;
|
||||
t += "UNICODE"_def;
|
||||
t += "gdi32.lib"_slib, "ole32.lib"_slib, "user32.lib"_slib;
|
||||
if (auto L = t.getSelectedTool()->as<VisualStudioLinker*>(); L)
|
||||
L->Subsystem = vs::Subsystem::Windows;
|
||||
}
|
||||
|
||||
auto &aim1_mod_activator = add_exe_with_common("aim1.mod_activator", "aim1_mod_activator");
|
||||
aim1_mod_activator += "pub.egorpugin.primitives.pack"_dep;
|
||||
|
||||
auto &aim1_mod_maker = add_exe_with_common("aim1.mod_maker", "aim1_mod_maker"); // actually a library
|
||||
aim1_mod_maker.Public += "pub.egorpugin.primitives.command"_dep;
|
||||
aim1_mod_maker.Public += "org.sw.demo.nlohmann.json.natvis"_dep;
|
||||
aim1_mod_maker.Interface.ForceIncludeFiles.push_back("aim1_mod_maker.h");
|
||||
|
||||
auto &aim1_mod_maker_injections = aim1_mod_maker.addStaticLibrary("injections");
|
||||
aim1_mod_maker_injections.setRootDirectory("src/aim1_mod_maker");
|
||||
aim1_mod_maker_injections += "aim\\.exe.*"_rr;
|
||||
|
||||
auto &aim1_community_fix = tools.addExecutable("examples.mods.aim1.community_fix");
|
||||
{
|
||||
auto &t = aim1_community_fix;
|
||||
t.PackageDefinitions = true;
|
||||
t += cppstd;
|
||||
t += "examples/mods/aim1_community_fix/.*"_rr;
|
||||
t += aim1_mod_maker;
|
||||
}
|
||||
|
||||
add_exe("mod_reader") += model;
|
||||
|
||||
path sdk = "d:/arh/apps/Autodesk/FBX/FBX SDK/2019.0";
|
||||
if (fs::exists(sdk)) {
|
||||
auto &mod_converter = add_exe("mod_converter");
|
||||
mod_converter += model;
|
||||
mod_converter += "org.sw.demo.xmlsoft.libxml2"_dep; // fbx 2020 sdk requires libxml2
|
||||
mod_converter += IncludeDirectory(sdk / "include");
|
||||
String cfg = "release";
|
||||
if (mod_converter.getBuildSettings().Native.ConfigurationType == ConfigurationType::Debug)
|
||||
cfg = "debug";
|
||||
String arch = "x64";
|
||||
if (mod_converter.getBuildSettings().TargetOS.Arch == ArchType::x86)
|
||||
arch = "x86";
|
||||
String md = "md";
|
||||
if (mod_converter.getBuildSettings().Native.MT)
|
||||
md = "mt";
|
||||
mod_converter += LinkLibrary(sdk / ("lib/vs2015/" + arch + "/" + cfg + "/libfbxsdk-" + md + ".lib"));
|
||||
}
|
||||
}
|
||||
String md = "md";
|
||||
if (mod_converter.getBuildSettings().Native.MT)
|
||||
md = "mt";
|
||||
mod_converter += LinkLibrary(sdk / ("lib/vs2015/" + arch + "/" + cfg + "/libfbxsdk-" + md + ".lib"));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue