mirror of
https://github.com/ModOrganizer2/mob.git
synced 2026-07-27 14:07:05 -07:00
Compare commits
83
Commits
v2.4.2rc1.1
...
dev/cmake
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
63bbf443d9 | ||
|
|
7d1fdce8b5 | ||
|
|
45508c3d99 | ||
|
|
95fa410e45 | ||
|
|
fe14219400 | ||
|
|
b8fe18effa | ||
|
|
a9be58aaa3 | ||
|
|
35083f28e8 | ||
|
|
a433afe54f | ||
|
|
0b839834a5 | ||
|
|
932e639850 | ||
|
|
6a4f047a13 | ||
|
|
3f2aad38cd | ||
|
|
0039738ca2 | ||
|
|
93ec9f2409 | ||
|
|
862e6d3684 | ||
|
|
f9bb4a15d8 | ||
|
|
ad06c600ab | ||
|
|
25bcd55b3b | ||
|
|
a2e9b63b65 | ||
|
|
f0fdead031 | ||
|
|
cc5e49ba5c | ||
|
|
9df84177d1 | ||
|
|
7d38877fa4 | ||
|
|
abcd5aef03 | ||
|
|
a526409349 | ||
|
|
55b57aa44b | ||
|
|
a3857ae64b | ||
|
|
676a9c1911 | ||
|
|
9d9e3b38fb | ||
|
|
6712f78dd4 | ||
|
|
0266fc0133 | ||
|
|
19ec6fbf2e | ||
|
|
3f4eed9e2a | ||
|
|
3e8f5b83e2 | ||
|
|
b98e4ae653 | ||
|
|
57453530b4 | ||
|
|
fb0b446e13 | ||
|
|
e2493b5da2 | ||
|
|
e397eae7b1 | ||
|
|
a6f2cbee45 | ||
|
|
b7de6c4dfa | ||
|
|
a3c0c72644 | ||
|
|
8d70ec1ca6 | ||
|
|
e8c4835bc9 | ||
|
|
6cc1883492 | ||
|
|
80b002cffa | ||
|
|
7c677c142e | ||
|
|
5398952bad | ||
|
|
720cd53d3d | ||
|
|
8ce78c529d | ||
|
|
8a16685805 | ||
|
|
863364b7ac | ||
|
|
f1f9ec72cc | ||
|
|
936d0f7d37 | ||
|
|
ec573c1266 | ||
|
|
e2747c4163 | ||
|
|
327a9fbe17 | ||
|
|
f63066e123 | ||
|
|
875b99f861 | ||
|
|
e5e497f8c1 | ||
|
|
7dcce4bc85 | ||
|
|
066001efb1 | ||
|
|
995ab2dbba | ||
|
|
4cdcedf60c | ||
|
|
1bcda87303 | ||
|
|
1874e6287f | ||
|
|
af407c8ea8 | ||
|
|
196390e5f2 | ||
|
|
8af608de5a | ||
|
|
ed0f05a96e | ||
|
|
359f277dff | ||
|
|
99b6ad045c | ||
|
|
6681cb3a02 | ||
|
|
6997a6ef08 | ||
|
|
dc6f03a915 | ||
|
|
f5c0b3e223 | ||
|
|
ae95c2e643 | ||
|
|
3d7412f958 | ||
|
|
505ff0359a | ||
|
|
41ef172815 | ||
|
|
21c5c5ea28 | ||
|
|
6707a03289 |
@@ -1,6 +1,15 @@
|
|||||||
|
# mob-specific files
|
||||||
/build
|
/build
|
||||||
/vs/obj
|
/vs/obj
|
||||||
/vs/.vs
|
/vs/.vs
|
||||||
/vs/*.user
|
/vs/*.user
|
||||||
/mob.exe
|
/mob.exe
|
||||||
/mob.log
|
/mob.log
|
||||||
|
|
||||||
|
# Files built by mob
|
||||||
|
/*/build
|
||||||
|
/*/downloads
|
||||||
|
/*/install
|
||||||
|
/*/releases
|
||||||
|
/*/mob.ini
|
||||||
|
/*/mob.log
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
|
||||||
|
project(mob)
|
||||||
|
add_subdirectory(src)
|
||||||
|
|
||||||
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT mob)
|
||||||
+9
-30
@@ -1,40 +1,19 @@
|
|||||||
$root = $PSScriptRoot
|
$root = $PSScriptRoot
|
||||||
if (!$root) {
|
if (!$root) {
|
||||||
$root = "."
|
$root = "."
|
||||||
}
|
}
|
||||||
|
|
||||||
$installationPath = & $root\third-party\bin\vswhere.exe -products * -nologo -prerelease -latest -property installationPath
|
cmake -B build $root | Out-Null
|
||||||
if (! $?) {
|
cmake --build $root/build --config Release -- `
|
||||||
Write-Error "vswhere returned $LastExitCode"
|
"-p:UseMultiToolTask=true" `
|
||||||
exit $LastExitCode
|
"-noLogo" `
|
||||||
}
|
"-p:EnforceProcessCountAcrossBuilds=true" `
|
||||||
|
"-clp:ErrorsOnly;Verbosity=minimal"
|
||||||
if (! $installationPath) {
|
|
||||||
Write-Error "Empty installation path"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
$opts = ""
|
|
||||||
$opts += " $root\vs\mob.sln"
|
|
||||||
$opts += " -m"
|
|
||||||
$opts += " -p:Configuration=Release"
|
|
||||||
$opts += " -noLogo"
|
|
||||||
$opts += " -p:UseMultiToolTask=true"
|
|
||||||
$opts += " -p:EnforceProcessCountAcrossBuilds=true"
|
|
||||||
$opts += " -clp:ErrorsOnly;Verbosity=minimal"
|
|
||||||
|
|
||||||
$vsDevCmd = "$installationPath\Common7\Tools\VsDevCmd.bat"
|
|
||||||
if (!(Test-Path "$vsDevCmd")) {
|
|
||||||
Write-Error "VdDevCmd.bat not found at $vsDevCmd"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
& "${env:COMSPEC}" /c "`"$vsDevCmd`" -no_logo -arch=amd64 -host_arch=amd64 && msbuild $opts"
|
|
||||||
|
|
||||||
if (! $?) {
|
if (! $?) {
|
||||||
Write-Error "Build failed"
|
Write-Error "Build failed"
|
||||||
exit $LastExitCode
|
exit $LastExitCode
|
||||||
}
|
}
|
||||||
|
|
||||||
Copy-Item "$root\build\Release\x64\mob.exe" "$root\mob.exe"
|
Copy-Item "$root\build\src\Release\mob.exe" "$root\mob.exe"
|
||||||
echo "run ``.\mob -d prefix/path build`` to start building"
|
Write-Output "run ``.\mob -d prefix/path build`` to start building"
|
||||||
|
|||||||
+21
-21
@@ -1,22 +1,23 @@
|
|||||||
7-Zip source code
|
7-Zip
|
||||||
~~~~~~~~~~~~~~~~~
|
~~~~~
|
||||||
License for use and distribution
|
License for use and distribution
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
7-Zip Copyright (C) 1999-2019 Igor Pavlov.
|
7-Zip Copyright (C) 1999-2023 Igor Pavlov.
|
||||||
|
|
||||||
The licenses for files are:
|
The licenses for files are:
|
||||||
|
|
||||||
1) CPP/7zip/Compress/Rar* files: the "GNU LGPL" with "unRAR license restriction"
|
1) 7z.dll:
|
||||||
2) CPP/7zip/Compress/LzfseDecoder.cpp: the "BSD 3-clause License"
|
- The "GNU LGPL" as main license for most of the code
|
||||||
3) Some files are "public domain" files, if "public domain" status is stated in source file.
|
- The "GNU LGPL" with "unRAR license restriction" for some code
|
||||||
4) the "GNU LGPL" for all other files. If there is no license information in
|
- The "BSD 3-clause License" for some code
|
||||||
some source file, that file is under the "GNU LGPL".
|
2) All other files: the "GNU LGPL".
|
||||||
|
|
||||||
The "GNU LGPL" with "unRAR license restriction" means that you must follow both
|
|
||||||
"GNU LGPL" rules and "unRAR license restriction" rules.
|
|
||||||
|
|
||||||
|
Redistributions in binary form must reproduce related license information from this file.
|
||||||
|
|
||||||
|
Note:
|
||||||
|
You can use 7-Zip on any computer, including a computer in a commercial
|
||||||
|
organization. You don't need to register or pay for 7-Zip.
|
||||||
|
|
||||||
|
|
||||||
GNU LGPL information
|
GNU LGPL information
|
||||||
@@ -32,9 +33,8 @@
|
|||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
Lesser General Public License for more details.
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public
|
You can receive a copy of the GNU Lesser General Public License from
|
||||||
License along with this library; if not, write to the Free Software
|
http://www.gnu.org/
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
BSD 3-clause License
|
BSD 3-clause License
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
The "BSD 3-clause License" is used for the code in LzfseDecoder.cpp that implements LZFSE data decompression.
|
The "BSD 3-clause License" is used for the code in 7z.dll that implements LZFSE data decompression.
|
||||||
That code was derived from the code in the "LZFSE compression library" developed by Apple Inc,
|
That code was derived from the code in the "LZFSE compression library" developed by Apple Inc,
|
||||||
that also uses the "BSD 3-clause License":
|
that also uses the "BSD 3-clause License":
|
||||||
|
|
||||||
@@ -73,17 +73,17 @@
|
|||||||
unRAR license restriction
|
unRAR license restriction
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
The decompression engine for RAR archives was developed using source
|
The decompression engine for RAR archives was developed using source
|
||||||
code of unRAR program.
|
code of unRAR program.
|
||||||
All copyrights to original unRAR code are owned by Alexander Roshal.
|
All copyrights to original unRAR code are owned by Alexander Roshal.
|
||||||
|
|
||||||
The license for original unRAR code has the following restriction:
|
The license for original unRAR code has the following restriction:
|
||||||
|
|
||||||
The unRAR sources cannot be used to re-create the RAR compression algorithm,
|
The unRAR sources cannot be used to re-create the RAR compression algorithm,
|
||||||
which is proprietary. Distribution of modified unRAR sources in separate form
|
which is proprietary. Distribution of modified unRAR sources in separate form
|
||||||
or as a part of other software is permitted, provided that it is clearly
|
or as a part of other software is permitted, provided that it is clearly
|
||||||
stated in the documentation and source comments that the code may
|
stated in the documentation and source comments that the code may
|
||||||
not be used to develop a RAR (WinRAR) compatible archiver.
|
not be used to develop a RAR (WinRAR) compatible archiver.
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
|
|||||||
+23
-19
@@ -1,23 +1,27 @@
|
|||||||
Copyright (c) 2012 - 2016, Victor Zverovich
|
Copyright (c) 2012 - present, Victor Zverovich
|
||||||
|
|
||||||
All rights reserved.
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
The above copyright notice and this permission notice shall be
|
||||||
modification, are permitted provided that the following conditions are met:
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
1. Redistributions of source code must retain the above copyright notice, this
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
list of conditions and the following disclaimer.
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
this list of conditions and the following disclaimer in the documentation
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||||
and/or other materials provided with the distribution.
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
--- Optional exception to the license ---
|
||||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
As an exception, if, as a result of your compiling your source code, portions
|
||||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
of this Software are embedded into a machine-executable object form of such
|
||||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
source code, you may redistribute such embedded portions in such object form
|
||||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
without including the above copyright and permission notices.
|
||||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|||||||
@@ -59,6 +59,17 @@ direction to make these releases possible.
|
|||||||
B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
|
B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
|
||||||
===============================================================
|
===============================================================
|
||||||
|
|
||||||
|
Python software and documentation are licensed under the
|
||||||
|
Python Software Foundation License Version 2.
|
||||||
|
|
||||||
|
Starting with Python 3.8.6, examples, recipes, and other code in
|
||||||
|
the documentation are dual licensed under the PSF License Version 2
|
||||||
|
and the Zero-Clause BSD license.
|
||||||
|
|
||||||
|
Some software incorporated into Python is under different licenses.
|
||||||
|
The licenses are listed with code falling under that license.
|
||||||
|
|
||||||
|
|
||||||
PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
|
PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
|
||||||
--------------------------------------------
|
--------------------------------------------
|
||||||
|
|
||||||
@@ -252,3 +263,17 @@ FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|||||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
|
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
|
||||||
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
|
||||||
|
ZERO-CLAUSE BSD LICENSE FOR CODE IN THE PYTHON DOCUMENTATION
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
purpose with or without fee is hereby granted.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||||
|
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||||
|
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||||
|
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||||
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||||
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
|
PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
|||||||
+7
-6
@@ -1,11 +1,12 @@
|
|||||||
RIVERBANK COMPUTING LIMITED LICENSE AGREEMENT FOR SIP
|
RIVERBANK COMPUTING LIMITED LICENSE AGREEMENT FOR SIP
|
||||||
|
|
||||||
1. This LICENSE AGREEMENT is between Riverbank Computing Limited ("Riverbank"),
|
1. This LICENSE AGREEMENT ("the SIP License") is between Riverbank Computing
|
||||||
and the Individual or Organization ("Licensee") accessing and otherwise using
|
Limited ("Riverbank"), and the Individual or Organization ("Licensee")
|
||||||
SIP software in source or binary form and its associated documentation. SIP
|
accessing and otherwise using SIP software in source or binary form and its
|
||||||
comprises a software tool for generating Python bindings for software C and C++
|
associated documentation. SIP comprises a software tool for generating Python
|
||||||
libraries, and a Python extension module used at runtime by those generated
|
bindings for software C and C++ libraries, and a Python extension module used
|
||||||
bindings.
|
at runtime by those generated bindings. This License Agreement may also be
|
||||||
|
applied to other software packages written by Riverbank.
|
||||||
|
|
||||||
2. Subject to the terms and conditions of this License Agreement, Riverbank
|
2. Subject to the terms and conditions of this License Agreement, Riverbank
|
||||||
hereby grants Licensee a nonexclusive, royalty-free, world-wide license to
|
hereby grants Licensee a nonexclusive, royalty-free, world-wide license to
|
||||||
|
|||||||
@@ -20,3 +20,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
THE SOFTWARE.
|
THE SOFTWARE.
|
||||||
|
|
||||||
|
-- NOTE: Third party dependency used by this software --
|
||||||
|
This software depends on the fmt lib (MIT License),
|
||||||
|
and users must comply to its license: https://github.com/fmtlib/fmt/blob/master/LICENSE.rst
|
||||||
|
|
||||||
|
|||||||
+1
-6
@@ -1,7 +1,4 @@
|
|||||||
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
(C) 1995-2017 Jean-loup Gailly and Mark Adler
|
||||||
version 1.2.11, January 15th, 2017
|
|
||||||
|
|
||||||
Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
|
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -21,5 +18,3 @@
|
|||||||
|
|
||||||
Jean-loup Gailly Mark Adler
|
Jean-loup Gailly Mark Adler
|
||||||
jloup@gzip.org madler@alumni.caltech.edu
|
jloup@gzip.org madler@alumni.caltech.edu
|
||||||
|
|
||||||
*/
|
|
||||||
@@ -13,17 +13,22 @@ log_file = mob.log
|
|||||||
ignore_uncommitted = false
|
ignore_uncommitted = false
|
||||||
github_key =
|
github_key =
|
||||||
|
|
||||||
|
[cmake]
|
||||||
|
install_message = never
|
||||||
|
host =
|
||||||
|
|
||||||
[aliases]
|
[aliases]
|
||||||
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_*
|
||||||
|
|
||||||
[task]
|
[task]
|
||||||
enabled = true
|
enabled = true
|
||||||
mo_org = ModOrganizer2
|
mo_org = ModOrganizer2
|
||||||
mo_branch = master
|
mo_branch = master
|
||||||
no_pull = false
|
mo_fallback =
|
||||||
ignore_ts = false
|
no_pull = false
|
||||||
revert_ts = false
|
ignore_ts = false
|
||||||
|
revert_ts = false
|
||||||
|
|
||||||
git_url_prefix = https://github.com/
|
git_url_prefix = https://github.com/
|
||||||
git_shallow = true
|
git_shallow = true
|
||||||
@@ -58,10 +63,11 @@ cmake = cmake.exe
|
|||||||
perl = perl.exe
|
perl = perl.exe
|
||||||
devenv = devenv.exe
|
devenv = devenv.exe
|
||||||
msbuild = msbuild.exe
|
msbuild = msbuild.exe
|
||||||
|
nmake = nmake.exe
|
||||||
nuget = nuget.exe
|
nuget = nuget.exe
|
||||||
vswhere = vswhere.exe
|
vswhere = vswhere.exe
|
||||||
nasm = nasm.exe
|
nasm = nasm.exe
|
||||||
tx = tx.py37-x64.exe
|
tx = tx.exe
|
||||||
lrelease = lrelease.exe
|
lrelease = lrelease.exe
|
||||||
iscc = ISCC.exe
|
iscc = ISCC.exe
|
||||||
vcvars =
|
vcvars =
|
||||||
@@ -71,7 +77,7 @@ enabled = true
|
|||||||
key =
|
key =
|
||||||
team = mod-organizer-2-team
|
team = mod-organizer-2-team
|
||||||
project = mod-organizer-2
|
project = mod-organizer-2
|
||||||
url = https://www.transifex.com
|
url = https://app.transifex.com
|
||||||
minimum = 60
|
minimum = 60
|
||||||
force = false
|
force = false
|
||||||
configure = true
|
configure = true
|
||||||
@@ -86,40 +92,42 @@ python = true
|
|||||||
usvfs = false
|
usvfs = false
|
||||||
|
|
||||||
[versions]
|
[versions]
|
||||||
vs = 16
|
vs = 17
|
||||||
vs_year = 2019
|
vs_year = 2022
|
||||||
vs_toolset = 14.2
|
vs_toolset = 14.3
|
||||||
sdk = 10.0.19041.0
|
sdk = 10.0.22621.0
|
||||||
sevenz = 19.00
|
sevenz = 23.01
|
||||||
boost = 1.75.0
|
boost = 1.82.0
|
||||||
boost_vs = 14.2
|
boost_vs = 14.3
|
||||||
fmt = 7.1.3
|
fmt = 8.1.1
|
||||||
gtest = master
|
gtest = main
|
||||||
libloot = 0.16.1
|
libloot = 0.19.4
|
||||||
libloot_hash = gd8c9b98
|
lz4 = v1.9.4
|
||||||
libloot_branch = 0.16.1
|
|
||||||
lz4 = v1.9.3
|
|
||||||
nmm = 0.71.2
|
nmm = 0.71.2
|
||||||
openssl = 1.1.1i
|
openssl = 1.1.1u
|
||||||
pyqt = 5.15.2
|
pyqt = 6.5.1
|
||||||
pyqt_builder = 1.7.0
|
pyqt_builder = 1.15.1
|
||||||
pyqt_sip = 12.8.1
|
pyqt_sip = 13.5.1
|
||||||
python = v3.8.7
|
python = v3.10.12
|
||||||
bzip2 = 1.0.6
|
pybind11 = v2.10.4
|
||||||
sip = 5.5.0
|
bzip2 = 1.0.8
|
||||||
spdlog = v1.8.2
|
sip = 6.7.1
|
||||||
qt = 5.15.2
|
spdlog = v1.10.0
|
||||||
|
qt = 6.5.1
|
||||||
qt_vs = 2019
|
qt_vs = 2019
|
||||||
zlib = 1.2.11
|
zlib = v1.2.13
|
||||||
libbsarch = 0.0.8
|
libbsarch = 0.0.9
|
||||||
usvfs = master
|
usvfs = qt6
|
||||||
explorerpp = 1.3.5
|
explorerpp = 1.3.5
|
||||||
|
|
||||||
ss_paper_lad_6788 = 7.0
|
ss_paper_lad_6788 = 7.0
|
||||||
ss_paper_automata_6788 = 3.0
|
ss_paper_automata_6788 = 3.0
|
||||||
ss_paper_mono_6788 = 2.2
|
ss_paper_mono_6788 = 2.2
|
||||||
ss_dark_mode_1809_6788 = 3.0
|
ss_dark_mode_1809_6788 = 3.0
|
||||||
ss_morrowind_trosski = 1.0
|
ss_morrowind_trosski = 1.1
|
||||||
|
ss_skyrim_trosski = v1.1
|
||||||
|
ss_fallout3_trosski = v1.1
|
||||||
|
ss_fallout4_trosski = v1.1
|
||||||
|
|
||||||
[paths]
|
[paths]
|
||||||
third_party =
|
third_party =
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
--- CPP/7zip/7zip.mak Mon Jun 23 11:56:48 2014
|
|
||||||
+++ CPP/7zip/7zip.mak Mon Apr 27 15:38:13 2020
|
|
||||||
@@ -1,5 +1,4 @@
|
|
||||||
-OBJS = \
|
|
||||||
- $O\StdAfx.obj \
|
|
||||||
+OBJS_NEEDING_PCH = \
|
|
||||||
$(CURRENT_OBJS) \
|
|
||||||
$(COMMON_OBJS) \
|
|
||||||
$(WIN_OBJS) \
|
|
||||||
@@ -26,9 +25,11 @@
|
|
||||||
$(ZIP_OBJS) \
|
|
||||||
$(COMPRESS_OBJS) \
|
|
||||||
$(CRYPTO_OBJS) \
|
|
||||||
- $(C_OBJS) \
|
|
||||||
+ $(C_OBJS)
|
|
||||||
+
|
|
||||||
+OBJS = $(OBJS_NEEDING_PCH) \
|
|
||||||
$(ASM_OBJS) \
|
|
||||||
- $O\resource.res \
|
|
||||||
+ $O\resource.res
|
|
||||||
|
|
||||||
!include "../../../Build.mak"
|
|
||||||
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
--- CPP/Build.mak Thu Feb 21 07:50:31 2019
|
|
||||||
+++ CPP/Build.mak Tue Apr 28 21:24:54 2020
|
|
||||||
@@ -16,7 +16,7 @@
|
|
||||||
|
|
||||||
|
|
||||||
!IF "$(PLATFORM)" == "x64"
|
|
||||||
-MY_ML = ml64 -Dx64 -WX
|
|
||||||
+MY_ML = ml64 -Dx64 -WX -nologo
|
|
||||||
!ELSEIF "$(PLATFORM)" == "arm"
|
|
||||||
MY_ML = armasm -WX
|
|
||||||
!ELSE
|
|
||||||
@@ -137,6 +137,8 @@
|
|
||||||
|
|
||||||
all: $(PROGPATH)
|
|
||||||
|
|
||||||
+$(OBJS_NEEDING_PCH): $O\StdAfx.obj
|
|
||||||
+
|
|
||||||
clean:
|
|
||||||
-del /Q $(PROGPATH) $O\*.exe $O\*.dll $O\*.obj $O\*.lib $O\*.exp $O\*.res $O\*.pch $O\*.asm
|
|
||||||
|
|
||||||
@@ -146,7 +148,7 @@
|
|
||||||
if not exist "$O/asm" mkdir "$O/asm"
|
|
||||||
|
|
||||||
$(PROGPATH): $O $O/asm $(OBJS) $(DEF_FILE)
|
|
||||||
- link $(LFLAGS) -out:$(PROGPATH) $(OBJS) $(LIBS)
|
|
||||||
+ link $(LFLAGS) -out:$(PROGPATH) $O\StdAfx.obj $(OBJS) $(LIBS)
|
|
||||||
|
|
||||||
!IFNDEF NO_DEFAULT_RES
|
|
||||||
$O\resource.res: $(*B).rc
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
--- tools/build/src/engine/vswhere_usability_wrapper.cmd Wed Dec 4 23:03:07 2019
|
|
||||||
+++ tools/build/src/engine/vswhere_usability_wrapper.cmd Wed Apr 29 20:23:25 2020
|
|
||||||
@@ -30,7 +30,7 @@
|
|
||||||
|
|
||||||
REM Visual Studio 2019 (16.X, toolset 14.2)
|
|
||||||
set VSWHERE_LMT=-version "[16.0,17.0)"
|
|
||||||
-SET VSWHERE_ARGS=-latest -products * %VSWHERE_REQ% %VSWHERE_PRP% %VSWHERE_LMT%
|
|
||||||
+SET VSWHERE_ARGS=-latest -prerelease -products * %VSWHERE_REQ% %VSWHERE_PRP% %VSWHERE_LMT%
|
|
||||||
for /f "usebackq tokens=*" %%i in (`vswhere %VSWHERE_ARGS%`) do (
|
|
||||||
endlocal
|
|
||||||
echo Found with vswhere %%i
|
|
||||||
@@ -27,21 +27,37 @@
|
|||||||
## Quick start
|
## Quick start
|
||||||
```
|
```
|
||||||
> git clone https://github.com/ModOrganizer2/mob
|
> git clone https://github.com/ModOrganizer2/mob
|
||||||
|
> cd mob
|
||||||
> bootstrap
|
> bootstrap
|
||||||
> mob -d c:\somewhere build
|
> mob -d c:\somewhere build
|
||||||
```
|
```
|
||||||
|
|
||||||
## Slow start
|
## Slow start
|
||||||
- Install Qt 5.15.2 ([Installer](http://download.qt.io/official_releases/online_installers/qt-unified-windows-x86-online.exe))
|
- Install Qt 6.5.1 ([Installer](https://download.qt.io/official_releases/online_installers/qt-unified-windows-x64-online.exe)) and select these components:
|
||||||
- MSVC 2019 64-bit
|
- MSVC 2019 64-bit
|
||||||
- Qt WebEngine
|
- Additional Libraries:
|
||||||
- Optional: Sources, Debug Information Files
|
- Qt WebEngine (display nexus pages)
|
||||||
- Install Visual Studio 2019 ([Installer](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=16))
|
- Qt Image Formats (display images in image tab and preview)
|
||||||
|
- Qt Positioning (required by QtWebEngine)
|
||||||
|
- Qt Serial Port (required by Qt Core)
|
||||||
|
- Qt Web Channel (required by QtWebEngine)
|
||||||
|
- Qt WebSockets (Nexus api/download)
|
||||||
|
- Optional:
|
||||||
|
- Qt Source Files
|
||||||
|
- Qt Debug Files
|
||||||
|
- Install Visual Studio 2022 ([Installer](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&channel=Release&version=VS2022&source=VSLandingPage&cid=2030&passive=false))
|
||||||
- Desktop development with C++
|
- Desktop development with C++
|
||||||
- Git for Windows (if you don't have git already installed)
|
- Desktop .NET desktop development (needed by OMOD and FOMOD installers)
|
||||||
- .NET Framework 3.5 development tools
|
- Individual Components:
|
||||||
- .NET Framework 4.6 targeting pack
|
- .Net Framework 4.8 SDK
|
||||||
- .NET Framework 4.6.1 targeting pack and SDK
|
- .Net Framework 4.7.2 targeting pack (OMOD targets 4.8 but VS still requires the package for other .Net components)
|
||||||
|
- Windows Universal C Runtime
|
||||||
|
- C++ ATL for latest v143 build Tools (x86 & x64)
|
||||||
|
- C++ /CLI support for v143 build Tools (Latest) (for OMOD and FOMOD installers)
|
||||||
|
- Windows 11 SDK (get latest)
|
||||||
|
- C++ Build Tools core features
|
||||||
|
- Optional:
|
||||||
|
- Git for Windows (if you don't have git already installed)
|
||||||
- Start a shell
|
- Start a shell
|
||||||
- If you have git in your path, a regular cmd shell works.
|
- If you have git in your path, a regular cmd shell works.
|
||||||
- If not, start the _x64 Native Tools Command Prompt for VS 2019_, it'll use Git for Windows installed above.
|
- If not, start the _x64 Native Tools Command Prompt for VS 2019_, it'll use Git for Windows installed above.
|
||||||
@@ -113,6 +129,8 @@ Unless otherwise stated, applies to any task that is a git repo.
|
|||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| `mo_org` | string | The organisation name when pulling from Github. Only applies to ModOrganizer projects, plus NCC and usvfs. |
|
| `mo_org` | string | The organisation name when pulling from Github. Only applies to ModOrganizer projects, plus NCC and usvfs. |
|
||||||
| `mo_branch` | string | The branch name when pulling from Github. Only applies to ModOrganizer projects, plus NCC and usvfs. |
|
| `mo_branch` | string | The branch name when pulling from Github. Only applies to ModOrganizer projects, plus NCC and usvfs. |
|
||||||
|
| `mo_master` | string | The fallback branch name when pulling from Github. Only applies to ModOrganizer projects, plus NCC and usvfs.
|
||||||
|
This branch is used when `mo_branch` does not exists. If this value is empty, the fallback mechanism is disabled (default behavior). |
|
||||||
| `no_pull` | bool | If a repo is already cloned, a `git pull` will be done on it every time `mob build` is run. Set to `false` to never pull and build with whatever is in there. |
|
| `no_pull` | bool | If a repo is already cloned, a `git pull` will be done on it every time `mob build` is run. Set to `false` to never pull and build with whatever is in there. |
|
||||||
| `ignore_ts` | bool | Marks all the `.ts` files in a repo with `--assume-unchanged`. Note that `mob git ignore-ts off` can be used to revert it. |
|
| `ignore_ts` | bool | Marks all the `.ts` files in a repo with `--assume-unchanged`. Note that `mob git ignore-ts off` can be used to revert it. |
|
||||||
| `git_url_prefix` | string | When cloning a repo, the URL will be `$(git_url_prefix)mo_org/repo.git`. |
|
| `git_url_prefix` | string | When cloning a repo, the URL will be `$(git_url_prefix)mo_org/repo.git`. |
|
||||||
@@ -165,7 +183,7 @@ The versions for all the tasks.
|
|||||||
### `[paths]`
|
### `[paths]`
|
||||||
The only path that's required is `prefix`, which is where `mob` will put everything. Within this directory will be `build/`, `downloads/` and `install/`. Everything else is derived from it.
|
The only path that's required is `prefix`, which is where `mob` will put everything. Within this directory will be `build/`, `downloads/` and `install/`. Everything else is derived from it.
|
||||||
|
|
||||||
If `mob` is unable to find the Qt installation directory, it can be specified in `qt_install`. This directory should contain `bin/`, `include/`, etc. It's typically something like `C:\Qt\5.14.2\msvc2017_64\`. The other path `qt_bin` will be derived from it, it's just `$qt_install/bin/`.
|
If `mob` is unable to find the Qt installation directory, it can be specified in `qt_install`. This directory should contain `bin/`, `include/`, etc. It's typically something like `C:\Qt\6.5.1\msvc2019_64\`. The other path `qt_bin` will be derived from it, it's just `$qt_install/bin/`.
|
||||||
|
|
||||||
|
|
||||||
## Command line
|
## Command line
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
|
||||||
|
file(GLOB_RECURSE source_files *.cpp)
|
||||||
|
file(GLOB RECURSE header_files *.h)
|
||||||
|
|
||||||
|
add_executable(mob ${source_files})
|
||||||
|
set_target_properties(mob PROPERTIES CXX_STANDARD 20)
|
||||||
|
|
||||||
|
target_compile_definitions(mob PUBLIC NOMINMAX)
|
||||||
|
target_compile_options(mob PUBLIC "/MT")
|
||||||
|
target_include_directories(mob PUBLIC ${CMAKE_SOURCE_DIR}/third-party/include)
|
||||||
|
target_link_libraries(mob PUBLIC
|
||||||
|
wsock32 ws2_32 crypt32 wldap32 dbghelp shlwapi version
|
||||||
|
optimized ${CMAKE_SOURCE_DIR}/third-party/lib/libcurl.lib
|
||||||
|
debug ${CMAKE_SOURCE_DIR}/third-party/lib/libcurl-d.lib
|
||||||
|
optimized ${CMAKE_SOURCE_DIR}/third-party/lib/zlib.lib
|
||||||
|
debug ${CMAKE_SOURCE_DIR}/third-party/lib/zlibd.lib)
|
||||||
|
|
||||||
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
PREFIX src
|
||||||
|
FILES ${source_files} ${header_files})
|
||||||
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT mob)
|
||||||
@@ -53,7 +53,7 @@ void help(const clipp::group& g, const std::string& more)
|
|||||||
command::common_options command::common;
|
command::common_options command::common;
|
||||||
|
|
||||||
command::command(flags f)
|
command::command(flags f)
|
||||||
: picked_(false), help_(false), flags_(f), code_(0)
|
: picked_(false), help_(false), flags_(f), code_()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -310,6 +310,7 @@ public:
|
|||||||
void make_bin();
|
void make_bin();
|
||||||
void make_pdbs();
|
void make_pdbs();
|
||||||
void make_src();
|
void make_src();
|
||||||
|
void make_uibase();
|
||||||
void make_installer();
|
void make_installer();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@@ -331,6 +332,7 @@ private:
|
|||||||
bool bin_ = true;
|
bool bin_ = true;
|
||||||
bool src_ = true;
|
bool src_ = true;
|
||||||
bool pdbs_ = true;
|
bool pdbs_ = true;
|
||||||
|
bool uibase_ = true;
|
||||||
bool installer_ = false;
|
bool installer_ = false;
|
||||||
std::string utf8out_;
|
std::string utf8out_;
|
||||||
fs::path out_;
|
fs::path out_;
|
||||||
|
|||||||
@@ -261,11 +261,6 @@ std::vector<fs::path> git_command::get_repos() const
|
|||||||
if (fs::exists(tasks::usvfs::source_path()))
|
if (fs::exists(tasks::usvfs::source_path()))
|
||||||
v.push_back(tasks::usvfs::source_path());
|
v.push_back(tasks::usvfs::source_path());
|
||||||
|
|
||||||
// ncc
|
|
||||||
if (fs::exists(tasks::ncc::source_path()))
|
|
||||||
v.push_back(tasks::ncc::source_path());
|
|
||||||
|
|
||||||
|
|
||||||
const auto super = tasks::modorganizer::super_path();
|
const auto super = tasks::modorganizer::super_path();
|
||||||
|
|
||||||
// all directories in super except for those starting with a dot
|
// all directories in super except for those starting with a dot
|
||||||
|
|||||||
+1
-1
@@ -328,7 +328,7 @@ pr_command::pr_info pr_command::get_pr_info(
|
|||||||
json = nlohmann::json::parse(output);
|
json = nlohmann::json::parse(output);
|
||||||
|
|
||||||
const std::string repo = json["head"]["repo"]["name"];
|
const std::string repo = json["head"]["repo"]["name"];
|
||||||
const std::string author = json["head"]["repo"]["owner"]["login"];
|
const std::string author = json["head"]["repo"]["user"]["login"];
|
||||||
const std::string branch = json["head"]["ref"];
|
const std::string branch = json["head"]["ref"];
|
||||||
|
|
||||||
return {repo, author, branch};
|
return {repo, author, branch};
|
||||||
|
|||||||
@@ -100,6 +100,25 @@ void release_command::make_src()
|
|||||||
files, tasks::modorganizer::super_path(), out);
|
files, tasks::modorganizer::super_path(), out);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void release_command::make_uibase()
|
||||||
|
{
|
||||||
|
const auto out = out_ / make_filename("uibase");
|
||||||
|
u8cout << "making uibase archive " << path_to_utf8(out) << "\n";
|
||||||
|
|
||||||
|
std::vector<fs::path> files;
|
||||||
|
|
||||||
|
if (!fs::exists(tasks::modorganizer::super_path()))
|
||||||
|
{
|
||||||
|
gcx().bail_out(context::generic,
|
||||||
|
"modorganizer super path not found: {}",
|
||||||
|
tasks::modorganizer::super_path());
|
||||||
|
}
|
||||||
|
|
||||||
|
op::archive_from_glob(gcx(),
|
||||||
|
tasks::modorganizer::super_path() / "uibase" / "src" / "*.h", out, {});
|
||||||
|
op::archive_from_files(gcx(), { conf().path().install_libs() / "uibase.lib" }, conf().path().install_libs(), out);
|
||||||
|
}
|
||||||
|
|
||||||
void release_command::make_installer()
|
void release_command::make_installer()
|
||||||
{
|
{
|
||||||
const auto file = "Mod.Organizer-" + version_ + ".exe";
|
const auto file = "Mod.Organizer-" + version_ + ".exe";
|
||||||
@@ -191,6 +210,11 @@ clipp::group release_command::do_group()
|
|||||||
clipp::option("--no-src").set(src_, false)
|
clipp::option("--no-src").set(src_, false)
|
||||||
) % "sets whether the source archive is created [default: yes]",
|
) % "sets whether the source archive is created [default: yes]",
|
||||||
|
|
||||||
|
//(
|
||||||
|
// clipp::option("--uibase").set(uibase_, true) |
|
||||||
|
// clipp::option("--no-uibase").set(uibase_, false)
|
||||||
|
//) % "sets whether the uibase archive is created [default: yes]",
|
||||||
|
|
||||||
(
|
(
|
||||||
clipp::option("--inst").set(installer_, true) |
|
clipp::option("--inst").set(installer_, true) |
|
||||||
clipp::option("--no-inst").set(installer_, false)
|
clipp::option("--no-inst").set(installer_, false)
|
||||||
@@ -286,6 +310,9 @@ int release_command::do_devbuild()
|
|||||||
if (src_)
|
if (src_)
|
||||||
make_src();
|
make_src();
|
||||||
|
|
||||||
|
if (uibase_)
|
||||||
|
make_uibase();
|
||||||
|
|
||||||
if (installer_)
|
if (installer_)
|
||||||
make_installer();
|
make_installer();
|
||||||
|
|
||||||
@@ -311,6 +338,7 @@ int release_command::do_official()
|
|||||||
make_bin();
|
make_bin();
|
||||||
make_pdbs();
|
make_pdbs();
|
||||||
make_src();
|
make_src();
|
||||||
|
make_uibase();
|
||||||
make_installer();
|
make_installer();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user