mirror of
https://github.com/ModOrganizer2/mob.git
synced 2026-07-27 14:07:05 -07:00
Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ed871319af | ||
|
|
eba5bf49bd | ||
|
|
a308e75cf8 | ||
|
|
f99e777433 |
@@ -21,6 +21,79 @@ host =
|
|||||||
super = cmake_common modorganizer* githubpp
|
super = cmake_common modorganizer* githubpp
|
||||||
plugins = check_fnis bsapacker bsa_extractor diagnose_basic installer_* plugin_python preview_base preview_bsa tool_* game_*
|
plugins = check_fnis bsapacker bsa_extractor diagnose_basic installer_* plugin_python preview_base preview_bsa tool_* game_*
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
sevenz =
|
||||||
|
zlib =
|
||||||
|
gtest =
|
||||||
|
libbsarch = directxtex
|
||||||
|
libloot =
|
||||||
|
openssl =
|
||||||
|
bzip2 =
|
||||||
|
directxtex =
|
||||||
|
cmake_common =
|
||||||
|
python = openssl
|
||||||
|
lz4 =
|
||||||
|
spdlog =
|
||||||
|
boost =
|
||||||
|
boost_di =
|
||||||
|
sip = python
|
||||||
|
pyqt = sip
|
||||||
|
pybind11 =
|
||||||
|
usvfs = gtest boost
|
||||||
|
stylesheets =
|
||||||
|
licenses =
|
||||||
|
explorerpp =
|
||||||
|
cmake_common =
|
||||||
|
archive = 7z
|
||||||
|
uibase = cmake_common boost spdlog gtest
|
||||||
|
basic_games = python
|
||||||
|
bsa_extractor = uibase bsatk
|
||||||
|
bsapacker = uibase libbsarch
|
||||||
|
bsatk = boost zlib lz4
|
||||||
|
check_fnis = uibase
|
||||||
|
diagnose_basic = uibase
|
||||||
|
esptk = boost
|
||||||
|
fnistool = python
|
||||||
|
form43_checker = python
|
||||||
|
game_gamebryo = uibase zlib lz4
|
||||||
|
game_enderal = game_gamebryo
|
||||||
|
game_enderalse = game_gamebryo
|
||||||
|
game_fallout3 = game_gamebryo
|
||||||
|
game_fallout4 = game_gamebryo
|
||||||
|
game_fallout4vr = game_gamebryo
|
||||||
|
game_fallout76 = game_gamebryo
|
||||||
|
game_falloutnv = game_gamebryo
|
||||||
|
game_morrowind = game_gamebryo
|
||||||
|
game_nehrim = game_gamebryo
|
||||||
|
game_oblivion = game_gamebryo
|
||||||
|
game_skyrim = game_gamebryo
|
||||||
|
game_skyrimse = game_gamebryo
|
||||||
|
game_skyrimvr = game_gamebryo
|
||||||
|
game_starfield = game_gamebryo
|
||||||
|
game_ttw = game_gamebryo
|
||||||
|
githubpp =
|
||||||
|
helper =
|
||||||
|
installer_bain = uibase
|
||||||
|
installer_bundle = uibase
|
||||||
|
installer_fomod = uibase
|
||||||
|
installer_fomod_csharp = uibase
|
||||||
|
installer_manual = uibase
|
||||||
|
installer_omod = uibase
|
||||||
|
installer_quick = uibase
|
||||||
|
installer_wizard = python
|
||||||
|
lootcli = libloot
|
||||||
|
modorganizer = uibase githubpp bsatk esptk archive usvfs lootcli
|
||||||
|
nxmhandler = uibase
|
||||||
|
plugin_python = uibase python pybind11
|
||||||
|
preview_base = uibase
|
||||||
|
preview_bsa = uibase bsatk
|
||||||
|
preview_dds = uibase
|
||||||
|
script_extender_plugin_checker = python
|
||||||
|
tool_configurator = python
|
||||||
|
tool_inibakery = uibase
|
||||||
|
tool_inieditor = uibase
|
||||||
|
|
||||||
|
|
||||||
[task]
|
[task]
|
||||||
enabled = true
|
enabled = true
|
||||||
mo_org = ModOrganizer2
|
mo_org = ModOrganizer2
|
||||||
@@ -101,6 +174,7 @@ boost = 1.85.0
|
|||||||
boost_vs = 14.3
|
boost_vs = 14.3
|
||||||
fmt = 10.2.1
|
fmt = 10.2.1
|
||||||
gtest = main
|
gtest = main
|
||||||
|
directxtex = main
|
||||||
libloot = 0.22.4
|
libloot = 0.22.4
|
||||||
lz4 = v1.9.4
|
lz4 = v1.9.4
|
||||||
nmm = 0.71.2
|
nmm = 0.71.2
|
||||||
@@ -116,7 +190,7 @@ spdlog = v1.14.1
|
|||||||
qt = 6.7.0
|
qt = 6.7.0
|
||||||
qt_vs = 2019
|
qt_vs = 2019
|
||||||
zlib = v1.3.1
|
zlib = v1.3.1
|
||||||
libbsarch = 0.0.9
|
libbsarch = 0.0.10
|
||||||
usvfs = master
|
usvfs = master
|
||||||
explorerpp = 1.4.0
|
explorerpp = 1.4.0
|
||||||
ss_paper_lad_6788 = 7.2
|
ss_paper_lad_6788 = 7.2
|
||||||
|
|||||||
+2
-1
@@ -33,7 +33,8 @@ namespace mob {
|
|||||||
.add_task<libbsarch>()
|
.add_task<libbsarch>()
|
||||||
.add_task<libloot>()
|
.add_task<libloot>()
|
||||||
.add_task<openssl>()
|
.add_task<openssl>()
|
||||||
.add_task<bzip2>();
|
.add_task<bzip2>()
|
||||||
|
.add_task<directxtex>();
|
||||||
|
|
||||||
add_task<parallel_tasks>()
|
add_task<parallel_tasks>()
|
||||||
.add_task<tasks::python>()
|
.add_task<tasks::python>()
|
||||||
|
|||||||
@@ -0,0 +1,80 @@
|
|||||||
|
#include "pch.h"
|
||||||
|
#include "tasks.h"
|
||||||
|
|
||||||
|
namespace mob::tasks {
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
msbuild create_msbuild_tool(arch a, config config,
|
||||||
|
msbuild::ops o = msbuild::build)
|
||||||
|
{
|
||||||
|
return std::move(msbuild(o).architecture(a).configuration(config).solution(
|
||||||
|
directxtex::source_path() / "DirectXTex" /
|
||||||
|
"DirectXTex_Desktop_2022.vcxproj"));
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
directxtex::directxtex() : basic_task("directxtex") {}
|
||||||
|
|
||||||
|
std::string directxtex::version()
|
||||||
|
{
|
||||||
|
return conf().version().get("directxtex");
|
||||||
|
}
|
||||||
|
|
||||||
|
bool directxtex::prebuilt()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
fs::path directxtex::source_path()
|
||||||
|
{
|
||||||
|
return conf().path().build() / "DirectXTex";
|
||||||
|
}
|
||||||
|
|
||||||
|
void directxtex::do_clean(clean c)
|
||||||
|
{
|
||||||
|
if (is_set(c, clean::reclone)) {
|
||||||
|
git_wrap::delete_directory(cx(), source_path());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_set(c, clean::rebuild)) {
|
||||||
|
run_tool(create_msbuild_tool(arch::x64, config::release, msbuild::clean));
|
||||||
|
run_tool(create_msbuild_tool(arch::x64, config::debug, msbuild::clean));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void directxtex::do_fetch()
|
||||||
|
{
|
||||||
|
run_tool(make_git()
|
||||||
|
.url(make_git_url("microsoft", "DirectXTex"))
|
||||||
|
.branch(version())
|
||||||
|
.root(source_path()));
|
||||||
|
}
|
||||||
|
|
||||||
|
void directxtex::do_build_and_install()
|
||||||
|
{
|
||||||
|
op::create_directories(cx(), directxtex::source_path() / "Include");
|
||||||
|
op::create_directories(cx(), directxtex::source_path() / "Lib" / "Debug");
|
||||||
|
op::create_directories(cx(), directxtex::source_path() / "Lib" / "Release");
|
||||||
|
|
||||||
|
// DO NOT run these in parallel because both generate files that are shared
|
||||||
|
// between release and debug
|
||||||
|
run_tool(create_msbuild_tool(arch::x64, config::release));
|
||||||
|
run_tool(create_msbuild_tool(arch::x64, config::debug));
|
||||||
|
|
||||||
|
const auto binary_path =
|
||||||
|
source_path() / "DirectXTex" / "Bin" / "Desktop_2022" / "x64";
|
||||||
|
|
||||||
|
for (const auto& header : {"DDS.h", "DirectXTex.h", "DirectXTex.inl "}) {
|
||||||
|
op::copy_file_to_dir_if_better(cx(), source_path() / "DirectXTex" / header,
|
||||||
|
source_path() / "Include");
|
||||||
|
}
|
||||||
|
op::copy_file_to_dir_if_better(cx(), binary_path / "Debug" / "DirectXTex.lib",
|
||||||
|
source_path() / "Lib" / "Debug");
|
||||||
|
op::copy_file_to_dir_if_better(cx(), binary_path / "Release" / "DirectXTex.lib",
|
||||||
|
source_path() / "Lib" / "Release");
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace mob::tasks
|
||||||
@@ -226,6 +226,7 @@ namespace mob::tasks {
|
|||||||
gtest::build_path(arch::x64, c == config::debug ? config::debug
|
gtest::build_path(arch::x64, c == config::debug ? config::debug
|
||||||
: config::release))
|
: config::release))
|
||||||
.def("OPENSSL_ROOT_DIR", openssl::source_path())
|
.def("OPENSSL_ROOT_DIR", openssl::source_path())
|
||||||
|
.def("DIRECTXTEX_ROOT", directxtex::source_path())
|
||||||
.root(root));
|
.root(root));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -77,6 +77,20 @@ namespace mob::tasks {
|
|||||||
void do_fetch() override;
|
void do_fetch() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class directxtex : public basic_task<directxtex> {
|
||||||
|
public:
|
||||||
|
directxtex();
|
||||||
|
|
||||||
|
static std::string version();
|
||||||
|
static bool prebuilt();
|
||||||
|
static fs::path source_path();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void do_clean(clean c) override;
|
||||||
|
void do_fetch() override;
|
||||||
|
void do_build_and_install() override;
|
||||||
|
};
|
||||||
|
|
||||||
class explorerpp : public basic_task<explorerpp> {
|
class explorerpp : public basic_task<explorerpp> {
|
||||||
public:
|
public:
|
||||||
explorerpp();
|
explorerpp();
|
||||||
|
|||||||
Reference in New Issue
Block a user