mirror of
https://github.com/ModOrganizer2/modorganizer-umbrella.git
synced 2026-07-27 13:58:32 -07:00
Compare commits
63
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
92154e7434 | ||
|
|
3cdef2f391 | ||
|
|
6a7c14e418 | ||
|
|
58f6ac7ce9 | ||
|
|
fe0da0e0c8 | ||
|
|
99ae56d650 | ||
|
|
6f05a070b8 | ||
|
|
e71164f3b8 | ||
|
|
19344619b0 | ||
|
|
882d946770 | ||
|
|
941e89e12a | ||
|
|
d067c7a582 | ||
|
|
ce7090edaf | ||
|
|
60e7712c83 | ||
|
|
b6a389f66f | ||
|
|
1f4873f7d4 | ||
|
|
9ca74c1449 | ||
|
|
6bba8eb2a9 | ||
|
|
95176cc155 | ||
|
|
e11cd5eed0 | ||
|
|
ca7b0938d8 | ||
|
|
a429c982ea | ||
|
|
754a03c486 | ||
|
|
6afa3eef10 | ||
|
|
d8804d7006 | ||
|
|
3728a265be | ||
|
|
dfb097be8b | ||
|
|
5dd778aff0 | ||
|
|
68982e0a39 | ||
|
|
93815b400c | ||
|
|
c710353eeb | ||
|
|
73af81a6f2 | ||
|
|
2a29e356df | ||
|
|
0f32491974 | ||
|
|
9e40c4a5cd | ||
|
|
2c1fb80959 | ||
|
|
f2b9601c54 | ||
|
|
e987d1d61b | ||
|
|
677e403421 | ||
|
|
eb0e1a8923 | ||
|
|
69cb3db2ad | ||
|
|
6aade3c7b4 | ||
|
|
96db40b252 | ||
|
|
c847da5463 | ||
|
|
ed3a0d5671 | ||
|
|
8aee0938b5 | ||
|
|
9b3d30c565 | ||
|
|
4136ec4086 | ||
|
|
6bc7428db5 | ||
|
|
5a4a20ec0c | ||
|
|
24c546c671 | ||
|
|
f4f79516e3 | ||
|
|
11be255641 | ||
|
|
a3b89b18af | ||
|
|
f8489eaca0 | ||
|
|
91a3f8ef43 | ||
|
|
df793597b8 | ||
|
|
0c757b90d0 | ||
|
|
8ba9c8334c | ||
|
|
4eccb42d85 | ||
|
|
23360ca838 | ||
|
|
47760e4d60 | ||
|
|
dbdada7caa |
@@ -1,4 +1,9 @@
|
||||
[](https://ci.appveyor.com/project/Modorganizer2/modorganizer-umbrella)
|
||||
<!-- [](https://ci.appveyor.com/project/Modorganizer2/modorganizer-umbrella) -->
|
||||
[](https://unmaintained.tech/)
|
||||
|
||||
> Tthis repository is archived and obsolete, see
|
||||
> https://github.com/ModOrganizer2/mob if you want to build ModOrganizer2.
|
||||
|
||||
|
||||
# modorganizer-umbrella
|
||||
An umbrella- (super-) project for [modorganizer](https://github.com/Modorganizer2/modorganizer).
|
||||
@@ -18,7 +23,7 @@ Open there a console and copy in: ``git clone https://github.com/Modorganizer2/m
|
||||
Now you need to install all required software to build Mod Organizer.
|
||||
|
||||
#### Manual Requirements
|
||||
* Qt 5.15.0: [Download Manager](http://download.qt.io/official_releases/online_installers/qt-unified-windows-x86-online.exe)
|
||||
* Qt 5.15.2: [Download Manager](http://download.qt.io/official_releases/online_installers/qt-unified-windows-x86-online.exe)
|
||||
#### Qt Packages required:
|
||||
* msvc2019-64
|
||||
* qtwebengine
|
||||
|
||||
@@ -81,41 +81,41 @@ config = {
|
||||
|
||||
# manualy set all versions
|
||||
'7zip_version': '19.00',
|
||||
'boost_version': '1.74.0',
|
||||
'boost_version': '1.75.0',
|
||||
'boost_version_tag': '',
|
||||
'fmt_version': '7.0.3',
|
||||
'fmt_version': '7.1.3',
|
||||
'googletest_version': '1.8.0', # unused. We use the latest source
|
||||
'grep_version': '3.3',
|
||||
'icu_version': '67',
|
||||
'icu_version_minor': '1',
|
||||
'loot_version': '0.16.1',
|
||||
'loot_commit': 'gd8c9b98',
|
||||
'loot_branch': '0.16.1',
|
||||
'lz4_version': '1.9.2',
|
||||
'icu_version': '68',
|
||||
'icu_version_minor': '2',
|
||||
'loot_version': '0.17.1',
|
||||
'loot_commit': 'ge670605',
|
||||
'loot_branch': '0.17.1',
|
||||
'lz4_version': '1.9.3',
|
||||
'lz4_version_minor': '', # leave empty if no patch version (1.2.3.x)
|
||||
'nasm_version': '2.15.05',
|
||||
'nuget_version': '5.7.0',
|
||||
'nuget_version': '5.8.1',
|
||||
'nmm_version': '0.71.2',
|
||||
'openssl_version': '1.1.1h',
|
||||
'pyqt_version': '5.15.1',
|
||||
'pyqt_pypi_hash': '1d/31/896dc3dfb6c81c70164019a6cbba6ab037e3af7653d9ca60ccc874ee4c27',
|
||||
'openssl_version': '1.1.1i',
|
||||
'pyqt_version': '5.15.2',
|
||||
'pyqt_pypi_hash': '28/6c/640e3f5c734c296a7193079a86842a789edb7988dca39eab44579088a1d1',
|
||||
'pyqt_dev_version': '', # leave empty for a standard release
|
||||
'pyqt_builder_version': '1.5.0',
|
||||
'pyqt_builder_version': '1.7.0',
|
||||
'pyqt_sip_version': '12.8.1',
|
||||
'python_version': '3.8',
|
||||
'python_version_minor': '.6',
|
||||
'python_version_minor': '.7',
|
||||
'bzip2_version': '1.0.6', # For python
|
||||
'sip_version': '5.4.0',
|
||||
'sip_version': '5.5.0',
|
||||
'sip_dev_version': '', # leave empty for a standard release
|
||||
'spdlog_version': 'v1.8.0',
|
||||
'spdlog_version': 'v1.8.2',
|
||||
'qt_version': '5.15',
|
||||
'qt_version_minor': '0',
|
||||
'qt_version_minor': '2',
|
||||
'qt_version_appveyor': '5.15',
|
||||
'qt_version_minor_appveyor': '0',
|
||||
'qt_vc_version': '16.0',
|
||||
'qt_version_minor_appveyor': '2',
|
||||
'qt_vs_version': '16.0',
|
||||
'vc_platformtoolset': 'v142',
|
||||
'vc_TargetPlatformVersion': '10.0.19041.0',
|
||||
'vc_version': '16.0',
|
||||
'vs_version': '16.0',
|
||||
'vc_version_for_boost': '14.2',
|
||||
'WixToolset_version': '311',
|
||||
'zlib_version': '1.2.11',
|
||||
@@ -127,6 +127,10 @@ config = {
|
||||
'paper-automata_version': '2.2',
|
||||
'paper-mono_version': '2.1',
|
||||
'1809-dark-mode_version': '2.0',
|
||||
'ModOrganizer_Style_Morrowind_version': '1.1',
|
||||
'Mod-Organizer-2-Skyrim-Stylesheet_version': '1.1',
|
||||
'ModOrganizer_Style_Fallout3_version': '1.1',
|
||||
'Mod-Organizer2-Fallout-4-Stylesheet_version': '1.1',
|
||||
|
||||
#the usvfs version below will only be used if
|
||||
'usvfs_version': 'v0.4.8',
|
||||
|
||||
+36
-46
@@ -43,9 +43,16 @@ def gen_userfile_content(project):
|
||||
return res
|
||||
|
||||
|
||||
# Set the feature branch on appveyor if the build branch is not the default branch
|
||||
if config['Appveyor_Build']:
|
||||
branch = os.getenv('APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH')
|
||||
branch = branch if branch is not None else os.getenv('APPVEYOR_REPO_BRANCH')
|
||||
if branch is not None and branch != 'master':
|
||||
config['Feature_Branch'] = branch
|
||||
|
||||
for author, git_path, path, branch, dependencies, Build in [
|
||||
(config['Main_Author'], "cmake_common", "cmake_common", config['Build_Branch'], ["boost", "zlib", "fmt"], False),
|
||||
(config['Main_Author'], "modorganizer-uibase", "uibase", config['Build_Branch'], ["Qt5", "boost", "fmt", "spdlog", "lz4", "zlib"], True),
|
||||
(config['Main_Author'], "modorganizer-uibase", "uibase", config['Build_Branch'], ["Qt5", "boost", "fmt", "spdlog", "lz4", "zlib", "GTest"], True),
|
||||
(config['Main_Author'], "modorganizer-game_features", "game_features", config['Build_Branch'], ["modorganizer-uibase"], False),
|
||||
(config['Main_Author'], "modorganizer-archive", "archive", config['Build_Branch'], ["7zip", "Qt5", "boost", "modorganizer-uibase"], True),
|
||||
(config['Main_Author'], "modorganizer-lootcli", "lootcli", config['Build_Branch'], ["libloot", "boost", "modorganizer-uibase"], True),
|
||||
@@ -59,6 +66,9 @@ for author, git_path, path, branch, dependencies, Build in [
|
||||
(config['Main_Author'], "modorganizer-game_oblivion", "game_oblivion", config['Build_Branch'], ["Qt5", "modorganizer-uibase",
|
||||
"modorganizer-game_gamebryo",
|
||||
"modorganizer-game_features"], True),
|
||||
(config['Main_Author'], "modorganizer-game_nehrim", "game_nehrim", config['Build_Branch'], ["Qt5", "modorganizer-uibase",
|
||||
"modorganizer-game_gamebryo",
|
||||
"modorganizer-game_features"], True),
|
||||
(config['Main_Author'], "modorganizer-game_fallout3", "game_fallout3", config['Build_Branch'], ["Qt5", "modorganizer-uibase",
|
||||
"modorganizer-game_gamebryo",
|
||||
"modorganizer-game_features"], True),
|
||||
@@ -94,12 +104,14 @@ for author, git_path, path, branch, dependencies, Build in [
|
||||
(config['Main_Author'], "modorganizer-preview_base", "preview_base", config['Build_Branch'], ["Qt5", "modorganizer-uibase"], True),
|
||||
(config['Main_Author'], "modorganizer-diagnose_basic", "diagnose_basic", config['Build_Branch'], ["Qt5", "modorganizer-uibase"], True),
|
||||
(config['Main_Author'], "modorganizer-check_fnis", "check_fnis", config['Build_Branch'], ["Qt5", "modorganizer-uibase"], True),
|
||||
(config['Main_Author'], "modorganizer-installer_bain", "installer_bain", config['Build_Branch'], ["Qt5", "modorganizer-uibase"], True),
|
||||
(config['Main_Author'], "modorganizer-installer_manual", "installer_manual", config['Build_Branch'], ["Qt5", "modorganizer-uibase"], True),
|
||||
(config['Main_Author'], "modorganizer-installer_bain", "installer_bain", config['Build_Branch'], ["Qt5", "modorganizer-uibase", "modorganizer-game_features"], True),
|
||||
(config['Main_Author'], "modorganizer-installer_manual", "installer_manual", config['Build_Branch'], ["Qt5", "modorganizer-uibase", "modorganizer-game_features"], True),
|
||||
(config['Main_Author'], "modorganizer-installer_bundle", "installer_bundle", config['Build_Branch'], ["Qt5", "modorganizer-uibase"], True),
|
||||
(config['Main_Author'], "modorganizer-installer_quick", "installer_quick", config['Build_Branch'], ["Qt5", "modorganizer-uibase"], True),
|
||||
(config['Main_Author'], "modorganizer-installer_quick", "installer_quick", config['Build_Branch'], ["Qt5", "modorganizer-uibase", "modorganizer-game_features"], True),
|
||||
(config['Main_Author'], "modorganizer-installer_fomod", "installer_fomod", config['Build_Branch'], ["Qt5", "modorganizer-uibase", "modorganizer-game_features"], True),
|
||||
(config['Main_Author'], "modorganizer-installer_fomod_csharp", "installer_fomod_csharp", config['Build_Branch'], ["Qt5", "modorganizer-uibase", "modorganizer-game_features"], True),
|
||||
(config['Main_Author'], "modorganizer-installer_wizard", "installer_wizard", config['Build_Branch'], ["Python", "PyQt5"], True),
|
||||
(config['Main_Author'], "modorganizer-installer_omod", "installer_omod", config["Build_Branch"], ["Qt5", "modorganizer-uibase", "modorganizer-game_features"], True),
|
||||
(config['Main_Author'], "modorganizer-installer_ncc", "installer_ncc", config['Build_Branch'], ["Qt5", "modorganizer-uibase", "ncc", "modorganizer-game_features"], True),
|
||||
(config['Main_Author'], "modorganizer-bsa_extractor", "bsa_extractor", config['Build_Branch'], ["Qt5", "modorganizer-uibase", "modorganizer-bsatk"], True),
|
||||
(config['Main_Author'], "modorganizer-plugin_python", "plugin_python", config['Build_Branch'], ["Qt5", "boost", "modorganizer-uibase", "modorganizer-game_features",
|
||||
@@ -122,7 +134,7 @@ for author, git_path, path, branch, dependencies, Build in [
|
||||
"modorganizer-lootcli",
|
||||
"usvfs", "githubpp",
|
||||
"ncc", "openssl",
|
||||
"paper-light-and-dark", "paper-automata", "paper-mono", "1809-dark-mode"], True),
|
||||
"paper-light-and-dark", "paper-automata", "paper-mono", "1809-dark-mode", "ModOrganizer_Style_Morrowind"], True),
|
||||
]:
|
||||
cmake_param = cmake_parameters() + ["-DCMAKE_INSTALL_PREFIX:PATH={}".format(config["paths"]["install"])]
|
||||
# build_step = cmake.CMake().arguments(cmake_param).install()
|
||||
@@ -139,52 +151,30 @@ for author, git_path, path, branch, dependencies, Build in [
|
||||
"#define VER_FILEVERSION_STR \"{}\"\n"
|
||||
.format(config['override_build_version']))
|
||||
|
||||
if config['Appveyor_Build']:
|
||||
appveyor_cmake_step = cmake.CMakeJOM().arguments(cmake_param).install()
|
||||
#begin build
|
||||
vs_cmake_step = cmake.CMakeVS().arguments(cmake_param).install()
|
||||
|
||||
if git_path != "cmake_common":
|
||||
appveyor_cmake_step.depend("cmake_common")
|
||||
if git_path != "cmake_common":
|
||||
vs_cmake_step.depend("cmake_common")
|
||||
|
||||
for dep in dependencies:
|
||||
appveyor_cmake_step.depend(dep)
|
||||
for dep in dependencies:
|
||||
vs_cmake_step.depend(dep)
|
||||
|
||||
if os.getenv("APPVEYOR_PROJECT_NAME","") == git_path:
|
||||
source_retrieval_step = appveyor.SetProjectFolder(os.getenv("APPVEYOR_BUILD_FOLDER", ""))
|
||||
else:
|
||||
source_retrieval_step = github.Source(author, git_path, branch, feature_branch=config['Feature_Branch'], super_repository=tl_repo).set_destination(path)
|
||||
#vs_target = "Clean;Build" if config['rebuild'] else "Build"
|
||||
vs_msbuild_step = msbuild.MSBuild(os.path.join("vsbuild", "INSTALL.vcxproj"), None, None,
|
||||
"{}".format("x64" if config['architecture'] == 'x86_64' else "x86"),
|
||||
config['build_type'])
|
||||
|
||||
if git_path == "modorganizer" and config['override_build_version']:
|
||||
#add patching step that depends on source retrieval
|
||||
patch_version_step.depend(source_retrieval_step)
|
||||
appveyor_cmake_step.depend(patch_version_step)
|
||||
else:
|
||||
appveyor_cmake_step.depend(source_retrieval_step)
|
||||
source_retrieval_step = github.Source(author, git_path, branch, feature_branch=config['Feature_Branch'], super_repository=tl_repo).set_destination(path)
|
||||
|
||||
project.depend(appveyor_cmake_step)
|
||||
if git_path == "modorganizer" and config['override_build_version']:
|
||||
#add patching step that depends on source retrieval
|
||||
patch_version_step.depend(source_retrieval_step)
|
||||
vs_cmake_step.depend(patch_version_step)
|
||||
else:
|
||||
vs_cmake_step = cmake.CMakeVS().arguments(cmake_param).install()
|
||||
vs_cmake_step.depend(source_retrieval_step)
|
||||
|
||||
if git_path != "cmake_common":
|
||||
vs_cmake_step.depend("cmake_common")
|
||||
|
||||
for dep in dependencies:
|
||||
vs_cmake_step.depend(dep)
|
||||
|
||||
#vs_target = "Clean;Build" if config['rebuild'] else "Build"
|
||||
vs_msbuild_step = msbuild.MSBuild(os.path.join("vsbuild", "INSTALL.vcxproj"), None, None,
|
||||
"{}".format("x64" if config['architecture'] == 'x86_64' else "x86"),
|
||||
config['build_type'])
|
||||
|
||||
source_retrieval_step = github.Source(author, git_path, branch, feature_branch=config['Feature_Branch'], super_repository=tl_repo).set_destination(path)
|
||||
|
||||
if git_path == "modorganizer" and config['override_build_version']:
|
||||
#add patching step that depends on source retrieval
|
||||
patch_version_step.depend(source_retrieval_step)
|
||||
vs_cmake_step.depend(patch_version_step)
|
||||
else:
|
||||
vs_cmake_step.depend(source_retrieval_step)
|
||||
|
||||
project.depend(vs_msbuild_step.depend(vs_cmake_step))
|
||||
project.depend(vs_msbuild_step.depend(vs_cmake_step))
|
||||
else:
|
||||
project.depend(github.Source(author, git_path, branch, feature_branch=config['Feature_Branch'], super_repository=tl_repo)
|
||||
.set_destination(path))
|
||||
@@ -245,12 +235,12 @@ def copy_licenses(context):
|
||||
sip_path = os.path.join(build_path, "sip-{}".format(config['sip_version']))
|
||||
shutil.copy(os.path.join(sip_path, "LICENSE"), os.path.join(license_path, "sip.txt"))
|
||||
shutil.copy(os.path.join(sip_path, "LICENSE-GPL2"), os.path.join(license_path, "GPL-v2.0.txt"))
|
||||
# license path is different in the prebuilt archive
|
||||
if config['Appveyor_Build']:
|
||||
shutil.copy(os.path.join(build_path, "modorganizer_super", "lootcli", "build", "src", "external", "src", "cpptoml", "LICENSE"), os.path.join(license_path, "cpptoml.txt"))
|
||||
shutil.copy(os.path.join(build_path, "python-{}{}".format(config['python_version'], config['python_version_minor']),"Licenses","Python","LICENSE"), os.path.join(license_path, "python.txt"))
|
||||
else:
|
||||
shutil.copy(os.path.join(build_path, "modorganizer_super", "lootcli", "vsbuild", "src", "external", "src", "cpptoml", "LICENSE"), os.path.join(license_path, "cpptoml.txt"))
|
||||
shutil.copy(os.path.join(build_path, "python-{}{}".format(config['python_version'], config['python_version_minor']),"LICENSE"), os.path.join(license_path, "python.txt"))
|
||||
shutil.copy(os.path.join(build_path, "modorganizer_super", "lootcli", "vsbuild", "src", "external", "src", "cpptoml", "LICENSE"), os.path.join(license_path, "cpptoml.txt"))
|
||||
shutil.copy(os.path.join(build_path, "openssl-{}".format(config['openssl_version']), "LICENSE"), os.path.join(license_path, "openssl.txt"))
|
||||
|
||||
shutil.copy(os.path.join(build_path, "boost_{}".format(boost_tag_version.replace(".", "_")), "LICENSE_1_0.txt"), os.path.join(license_path, "boost.txt"))
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- builder.py (date 1575938575861)
|
||||
+++ builder.py (date 1575938575861)
|
||||
@@ -386,17 +386,29 @@
|
||||
@@ -441,17 +441,29 @@
|
||||
'QMAKE_LFLAGS += -Wl,--version-script={}.exp'.format(
|
||||
buildable.target))
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@ modorganizer-game_gamebryo
|
||||
|
||||
modorganizer-game_oblivion
|
||||
|
||||
modorganizer-game_nehrim
|
||||
|
||||
modorganizer-game_fallout3
|
||||
|
||||
modorganizer-game_fallout4
|
||||
|
||||
@@ -175,7 +175,7 @@ class CMakeEdit(Builder):
|
||||
def __generator_name(self):
|
||||
if self.__type == CMakeEdit.Type.VC:
|
||||
return "Visual Studio {} {}" \
|
||||
.format(config['vc_version'].split('.')[0], self.__vc_year(config['vc_version']))
|
||||
.format(config['vs_version'].split('.')[0], self.__vc_year(config['vs_version']))
|
||||
elif self.__type == CMakeEdit.Type.CodeBlocks:
|
||||
return "CodeBlocks - NMake Makefiles"
|
||||
|
||||
@@ -254,7 +254,7 @@ class CMakeVS(Builder):
|
||||
soutpath = os.path.join(self._context["build_path"], "vs_stdout.log")
|
||||
serrpath = os.path.join(self._context["build_path"], "vs_stderr.log")
|
||||
|
||||
vs_generator = "Visual Studio {0} {1}".format(config['vc_version'].split(".", 1)[0],vc_year(config['vc_version']))
|
||||
vs_generator = "Visual Studio {0} {1}".format(config['vs_version'].split(".", 1)[0],vc_year(config['vs_version']))
|
||||
# Updated for latest versions of CMake > 3.1 - VS 2019 does not allow use of the deprecated method
|
||||
vs_generator_arch = "x64"
|
||||
if config["architecture"] == "x86":
|
||||
|
||||
@@ -15,11 +15,31 @@
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
|
||||
import sys
|
||||
import os
|
||||
import urllib.request
|
||||
import json
|
||||
import subprocess
|
||||
import logging
|
||||
from config import config
|
||||
from unibuild.modules.git import Clone
|
||||
from unibuild.modules.urldownload import URLDownload
|
||||
|
||||
|
||||
def Popen(cmd, **kwargs):
|
||||
pc = ''
|
||||
if 'cwd' in kwargs:
|
||||
try:
|
||||
pc += os.path.relpath(kwargs['cwd'], os.path.abspath('..'))
|
||||
except ValueError:
|
||||
pc += kwargs['cwd']
|
||||
pc += '>'
|
||||
for arg in cmd:
|
||||
pc += ' ' + arg
|
||||
print(pc)
|
||||
return subprocess.Popen(cmd,**kwargs)
|
||||
|
||||
|
||||
class Release(URLDownload):
|
||||
def __init__(self, author, project, version, filename, extension="zip", tree_depth=0):
|
||||
super(Release, self) \
|
||||
@@ -43,10 +63,45 @@ class Tag(URLDownload):
|
||||
|
||||
|
||||
class Source(Clone):
|
||||
def __init__(self, author, project, branch="master", feature_branch=None, super_repository=None, update=True, commit=None, shallowclone=False):
|
||||
def __init__(self, author, project, branch="master", feature_branch=None, super_repository=None, update=True, commit=None, pr_label=None, shallowclone=False):
|
||||
self.__author = author
|
||||
self.__project = project
|
||||
if config['shallowclone']:
|
||||
self.shallowclone = True
|
||||
self.__pr_label = pr_label
|
||||
|
||||
super(Source, self).__init__("https://github.com/{author}/{project}.git".format(author=author, project=project),
|
||||
branch, feature_branch, super_repository, update, commit, shallowclone)
|
||||
|
||||
self.set_destination(project)
|
||||
|
||||
def process(self, progress):
|
||||
result = super(Source, self).process(progress)
|
||||
if result is False:
|
||||
return False
|
||||
|
||||
if self.__pr_label is not None:
|
||||
url = "https://api.github.com/repos/{}/{}/pulls".format(self.__author, self.__project)
|
||||
response = urllib.request.urlopen(url)
|
||||
data = json.loads(response.read())
|
||||
filtered_data = [x for x in data if x["head"]["label"] == self.__pr_label]
|
||||
sys.stdout.write(filtered_data.__str__())
|
||||
if len(filtered_data) > 0:
|
||||
pr_number = filtered_data[0]["number"]
|
||||
proc = Popen([config['paths']['git'], "fetch", "-q", "origin", "+refs/pull/{}/merge:".format(pr_number)],
|
||||
cwd=self._context["build_path"],
|
||||
env=config["__environment"])
|
||||
proc.communicate()
|
||||
if proc.returncode != 0:
|
||||
logging.error("failed to fetch pr %s (returncode %s)", pr_number, proc.returncode)
|
||||
return False
|
||||
|
||||
proc = Popen([config['paths']['git'], "checkout", "-qf", "FETCH_HEAD"],
|
||||
cwd=self._context["build_path"],
|
||||
env=config["__environment"])
|
||||
proc.communicate()
|
||||
if proc.returncode != 0:
|
||||
logging.error("failed to checkout pr branch (returncode %s)", proc.returncode)
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
@@ -88,6 +88,8 @@ class MSBuild(Builder):
|
||||
"/verbosity:" + verbosity,
|
||||
"/consoleloggerparameters:Summary",
|
||||
"/fileLogger",
|
||||
"/property:RunCodeAnalysis=false",
|
||||
"/restore",
|
||||
"/fileloggerparameters:Summary;Verbosity=" + lverbosity]
|
||||
|
||||
|
||||
|
||||
@@ -34,7 +34,8 @@ boost_components = ["date_time",
|
||||
"filesystem",
|
||||
"thread",
|
||||
"log",
|
||||
"locale"]
|
||||
"locale",
|
||||
"program_options"]
|
||||
boost_components_shared = ["python"]
|
||||
|
||||
user_config_jam = "user-config-{}.jam".format("64" if config['architecture'] == "x86_64" else "32")
|
||||
|
||||
@@ -22,5 +22,5 @@ from unibuild.modules import cmake, github, build
|
||||
|
||||
Project("GTest") \
|
||||
.depend(cmake.CMake().arguments(["-DCMAKE_BUILD_TYPE={0}".format(config["build_type"])])
|
||||
.depend(github.Source("google", "googletest", "master")))
|
||||
.depend(github.Source("google", "googletest", "main")))
|
||||
#.depend(github.Source("google", "googletest", "release-{}".format(googletest_version))))
|
||||
|
||||
@@ -49,8 +49,8 @@ def upgrade_args():
|
||||
return [os.path.join(devenv_path, "devenv.exe"),
|
||||
os.path.join(lz_path, "visual", "VS2017", 'lz4.sln'),
|
||||
"/upgrade"]
|
||||
return [os.path.join(get_visual_studio(config["vc_version"]), "..", "..", "..", "Common7", "IDE", "devenv.exe"),
|
||||
os.path.join(lz_path, "visual", "VS2017", 'lz4.sln'), "/upgrade"]
|
||||
return [os.path.join(get_visual_studio(config["vs_version"]), "..", "..", "..", "Common7", "IDE", "devenv.exe"),
|
||||
os.path.join(lz_path, "build", "VS2017", 'lz4.sln'), "/upgrade"]
|
||||
|
||||
|
||||
def copy_binaries(context):
|
||||
@@ -59,7 +59,7 @@ def copy_binaries(context):
|
||||
os.path.join(lz_path, "bin")
|
||||
)
|
||||
shutil.copytree(
|
||||
os.path.join(lz_path, "visual", "VS2017", "bin", "{}_Release".format(bitness())),
|
||||
os.path.join(lz_path, "build", "VS2017", "bin", "{}_Release".format(bitness())),
|
||||
os.path.join(lz_path, "bin")
|
||||
)
|
||||
return True
|
||||
@@ -97,7 +97,7 @@ else:
|
||||
copy_binaries
|
||||
).depend(
|
||||
msbuild.MSBuild(
|
||||
os.path.join(lz_path, "visual", "VS2017", 'lz4.sln'),
|
||||
os.path.join(lz_path, "build", "VS2017", 'lz4.sln'),
|
||||
project="liblz4-dll",
|
||||
working_directory=lazy.Evaluate(lambda: os.path.join(lz_path)),
|
||||
reltarget="Release"
|
||||
|
||||
@@ -44,7 +44,7 @@ if config['pyqt_dev_version']:
|
||||
qt_binary_install = config["paths"]["qt_binary_install"]
|
||||
__build_base_path = config["__build_base_path"]
|
||||
|
||||
enabled_modules = ["QtCore", "QtGui", "QtWidgets", "QtOpenGL", "_QOpenGLFunctions_2_0",
|
||||
enabled_modules = ["QtCore", "QtGui", "QtWidgets", "QtOpenGL", "QtSvg", "_QOpenGLFunctions_2_0",
|
||||
"_QOpenGLFunctions_2_1", "_QOpenGLFunctions_4_1_Core"] #, "_QOpenGLFunctions_ES2"]
|
||||
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ def upgrade_args():
|
||||
return [os.path.join(devenv_path, "devenv.exe"),
|
||||
"PCBuild/pcbuild.sln",
|
||||
"/upgrade"]
|
||||
return [os.path.join(get_visual_studio(config["vc_version"]), "..", "..", "..", "Common7", "IDE", "devenv.exe"),
|
||||
return [os.path.join(get_visual_studio(config["vs_version"]), "..", "..", "..", "Common7", "IDE", "devenv.exe"),
|
||||
"PCBuild/pcbuild.sln", "/upgrade"]
|
||||
|
||||
|
||||
@@ -152,7 +152,7 @@ else:
|
||||
.depend(build.Execute(install)
|
||||
.depend(build.Execute(python_prepare)
|
||||
.depend(PydCompiler()
|
||||
.depend(msbuild.MSBuild("PCBuild/PCBuild.sln", "python,pythonw,python3dll,select,pyexpat,unicodedata,_queue,_bz2,_ssl",
|
||||
.depend(msbuild.MSBuild("PCBuild/PCBuild.sln", "python,pythonw,python3dll,select,pyexpat,unicodedata,_queue,_bz2,_ssl,_overlapped",
|
||||
project_PlatformToolset=config['vc_platformtoolset'],
|
||||
reltarget="Release",
|
||||
project_AdditionalParams=[
|
||||
|
||||
@@ -42,7 +42,7 @@ def bitnessQt():
|
||||
|
||||
|
||||
def variant():
|
||||
return "msvc2013" if config['qt_vc_version'] == "12.0" else "msvc2015" if config['qt_vc_version'] == "14.0" else "msvc2017" if config['qt_vc_version'] == "15.0" else "msvc2019"
|
||||
return "msvc2013" if config['qt_vs_version'] == "12.0" else "msvc2015" if config['qt_vs_version'] == "14.0" else "msvc2017" if config['qt_vs_version'] == "15.0" else "msvc2019"
|
||||
|
||||
qt_bin_variant = variant()
|
||||
platform = "win32-{0}".format(variant())
|
||||
|
||||
+24
-25
@@ -80,33 +80,32 @@ class SipSetup(build.Builder):
|
||||
proc.returncode, soutpath, serrpath)
|
||||
return False
|
||||
|
||||
if config["Appveyor_Build"] is False:
|
||||
logging.debug("SIP base setup")
|
||||
proc = Popen([os.path.join(bp, "PCbuild", arch, "python.exe"), "setup.py", "install"],
|
||||
env=sip_environment(),
|
||||
cwd=self._context["build_path"],
|
||||
shell=True,
|
||||
stdout=sout, stderr=serr)
|
||||
proc.communicate()
|
||||
if proc.returncode != 0:
|
||||
logging.error("failed to run sip setup.py (returncode %s), see %s and %s",
|
||||
proc.returncode, soutpath, serrpath)
|
||||
return False
|
||||
logging.debug("SIP base setup")
|
||||
proc = Popen([os.path.join(bp, "PCbuild", arch, "python.exe"), "setup.py", "install"],
|
||||
env=sip_environment(),
|
||||
cwd=self._context["build_path"],
|
||||
shell=True,
|
||||
stdout=sout, stderr=serr)
|
||||
proc.communicate()
|
||||
if proc.returncode != 0:
|
||||
logging.error("failed to run sip setup.py (returncode %s), see %s and %s",
|
||||
proc.returncode, soutpath, serrpath)
|
||||
return False
|
||||
|
||||
logging.debug("Generating sip.h")
|
||||
proc = Popen([os.path.join(bp, "Scripts", "sip-module.exe"), "--sip-h", "PyQt5.sip"],
|
||||
env=sip_environment(),
|
||||
cwd=config["paths"]["download"],
|
||||
shell=True,
|
||||
stdout=sout, stderr=serr)
|
||||
proc.communicate()
|
||||
if proc.returncode != 0:
|
||||
logging.error("failed to run sip-module (returncode %s), see %s and %s",
|
||||
proc.returncode, soutpath, serrpath)
|
||||
return False
|
||||
logging.debug("Generating sip.h")
|
||||
proc = Popen([os.path.join(bp, "Scripts", "sip-module.exe"), "--sip-h", "PyQt5.sip"],
|
||||
env=sip_environment(),
|
||||
cwd=config["paths"]["download"],
|
||||
shell=True,
|
||||
stdout=sout, stderr=serr)
|
||||
proc.communicate()
|
||||
if proc.returncode != 0:
|
||||
logging.error("failed to run sip-module (returncode %s), see %s and %s",
|
||||
proc.returncode, soutpath, serrpath)
|
||||
return False
|
||||
|
||||
logging.debug("Copy sip.h into python includes")
|
||||
shutil.copy(os.path.join(config["paths"]["download"], "sip.h"), os.path.join(bp, "Include", "sip.h"))
|
||||
logging.debug("Copy sip.h into python includes")
|
||||
shutil.copy(os.path.join(config["paths"]["download"], "sip.h"), os.path.join(bp, "Include", "sip.h"))
|
||||
|
||||
return True
|
||||
|
||||
|
||||
@@ -47,8 +47,8 @@ def copy_stylesheets(context, dir):
|
||||
copytree_fixed(src, dst)
|
||||
return True
|
||||
|
||||
def create_stylesheet_project(author, name, filename=None, extension="7z"):
|
||||
version = "v" + config[name + "_version"]
|
||||
def create_stylesheet_project(author, name, filename=None, version_prefix="", extension="7z"):
|
||||
version = version_prefix + config[name + "_version"]
|
||||
if filename is None:
|
||||
filename = config[name + "_version"]
|
||||
dir = name + "-" + version
|
||||
@@ -57,7 +57,11 @@ def create_stylesheet_project(author, name, filename=None, extension="7z"):
|
||||
.depend(build.Execute(lambda context: copy_stylesheets(context, dir))
|
||||
.depend(github.Release(author, name, version, filename, extension)))
|
||||
|
||||
create_stylesheet_project("6788-00", "paper-light-and-dark")
|
||||
create_stylesheet_project("6788-00", "paper-automata", "Paper-Automata")
|
||||
create_stylesheet_project("6788-00", "paper-mono", "Paper-Mono")
|
||||
create_stylesheet_project("6788-00", "1809-dark-mode")
|
||||
create_stylesheet_project("6788-00", "paper-light-and-dark", version_prefix="v")
|
||||
create_stylesheet_project("6788-00", "paper-automata", "Paper-Automata", version_prefix="v")
|
||||
create_stylesheet_project("6788-00", "paper-mono", "Paper-Mono", version_prefix="v")
|
||||
create_stylesheet_project("6788-00", "1809-dark-mode", version_prefix="v")
|
||||
create_stylesheet_project("Trosski", "ModOrganizer_Style_Morrowind", "Morrowind-MO2-Stylesheet")
|
||||
create_stylesheet_project("Trosski", "Mod-Organizer-2-Skyrim-Stylesheet", "Skyrim-MO2-Stylesheet", version_prefix="v")
|
||||
create_stylesheet_project("Trosski", "ModOrganizer_Style_Fallout3", "Fallout3-MO2-Stylesheet", version_prefix="v")
|
||||
create_stylesheet_project("Trosski", "Mod-Organizer2-Fallout-4-Stylesheet", "Fallout4-MO2-Stylesheet", version_prefix="v")
|
||||
|
||||
@@ -82,12 +82,12 @@ def init_config(args):
|
||||
if config['architecture'] not in ['x86_64', 'x86']:
|
||||
raise ValueError("only architectures supported are x86 and x86_64")
|
||||
|
||||
visual_studio(config["vc_version"]) # forced set after args are evaluated
|
||||
visual_studio(config["vs_version"]) # forced set after args are evaluated
|
||||
if config['prefer_binary_dependencies']:
|
||||
if os.environ.get('APPVEYOR') is not None:
|
||||
qt_install(config["qt_version_appveyor"], config["qt_version_minor_appveyor"], config["qt_vc_version"])
|
||||
qt_install(config["qt_version_appveyor"], config["qt_version_minor_appveyor"], config["qt_vs_version"])
|
||||
else:
|
||||
qt_install(config["qt_version"], config["qt_version_minor"], config["qt_vc_version"])
|
||||
qt_install(config["qt_version"], config["qt_version_minor"], config["qt_vs_version"])
|
||||
config['__Default_environment'] = os.environ
|
||||
config['__environment'] = visual_studio_environment()
|
||||
config['__build_base_path'] = os.path.abspath(args.destination)
|
||||
@@ -117,7 +117,7 @@ def dump_config():
|
||||
logging.debug(" Config: config['paths']['python']=%s", Evaluate(config['paths']['python']))
|
||||
logging.debug(" Config: config['paths']['visual_studio']=%s", config['paths']['visual_studio'])
|
||||
logging.debug(" Config: config['paths']['qt_binary_install']=%s", config['paths']['qt_binary_install'])
|
||||
logging.debug(" Config: config['vc_version']=%s", config['vc_version'])
|
||||
logging.debug(" Config: config['vs_version']=%s", config['vs_version'])
|
||||
|
||||
|
||||
def check_config():
|
||||
|
||||
@@ -25,12 +25,12 @@ from unibuild.utility.config_utility import program_files_folders
|
||||
from unibuild.utility.visualstudio import vc_year
|
||||
|
||||
|
||||
def get_qt_install(qt_version, qt_version_minor, vc_version):
|
||||
def get_qt_install(qt_version, qt_version_minor, vs_version):
|
||||
# Start with the custom Qt install path, overrides automatic detection
|
||||
try:
|
||||
p = os.path.join(config['qt_CustomInstallPath'], "{}".format(qt_version + "." + qt_version_minor
|
||||
if qt_version_minor != '' else qt_version),
|
||||
"msvc{0}_64".format(vc_year(vc_version)))
|
||||
"msvc{0}_64".format(vc_year(vs_version)))
|
||||
f = os.path.join(p, "bin", "qmake.exe")
|
||||
if os.path.isfile(f):
|
||||
return os.path.realpath(p)
|
||||
@@ -42,14 +42,14 @@ def get_qt_install(qt_version, qt_version_minor, vc_version):
|
||||
# Offline installer default location
|
||||
p = os.path.join(baselocation, "Qt", "Qt{}".format(qt_version + "." + qt_version_minor
|
||||
if qt_version_minor != '' else qt_version), "{}".format(qt_version + "." + qt_version_minor
|
||||
if qt_version_minor != '' else qt_version), "msvc{0}_64".format(vc_year(vc_version)))
|
||||
if qt_version_minor != '' else qt_version), "msvc{0}_64".format(vc_year(vs_version)))
|
||||
f = os.path.join(p, "bin", "qmake.exe")
|
||||
if os.path.isfile(f):
|
||||
return os.path.realpath(p)
|
||||
# Online installer default location
|
||||
p = os.path.join(baselocation, "Qt", "{}".format(qt_version + "." + qt_version_minor
|
||||
if qt_version_minor != '' else qt_version),
|
||||
"msvc{0}_64".format(vc_year(vc_version)))
|
||||
"msvc{0}_64".format(vc_year(vs_version)))
|
||||
f = os.path.join(p, "bin", "qmake.exe")
|
||||
if os.path.isfile(f):
|
||||
return os.path.realpath(p)
|
||||
@@ -73,7 +73,7 @@ def get_qt_install(qt_version, qt_version_minor, vc_version):
|
||||
|
||||
p = os.path.join(root, "{}".format(qt_version + "." + qt_version_minor
|
||||
if qt_version_minor != '' else qt_version),
|
||||
"msvc{0}_64".format(vc_year(vc_version)))
|
||||
"msvc{0}_64".format(vc_year(vs_version)))
|
||||
f = os.path.join(p, "bin", "qmake.exe")
|
||||
if os.path.isfile(f):
|
||||
return os.path.realpath(p)
|
||||
@@ -83,8 +83,8 @@ def get_qt_install(qt_version, qt_version_minor, vc_version):
|
||||
return None
|
||||
|
||||
|
||||
def qt_install(qt_version, qt_version_minor, vc_version):
|
||||
config["paths"]["qt_binary_install"] = get_qt_install(qt_version, qt_version_minor, vc_version)
|
||||
def qt_install(qt_version, qt_version_minor, vs_version):
|
||||
config["paths"]["qt_binary_install"] = get_qt_install(qt_version, qt_version_minor, vs_version)
|
||||
if not config["paths"]["qt_binary_install"]:
|
||||
if qt_version_minor != '':
|
||||
qt_v = qt_version + "." + qt_version_minor
|
||||
|
||||
@@ -32,9 +32,9 @@ vs_editions = ["enterprise",
|
||||
|
||||
|
||||
# No entries for vs 2017 in the stadard registry, check environment then look in the default installation dir
|
||||
def get_visual_studio(vc_version):
|
||||
def get_visual_studio(vs_version):
|
||||
try:
|
||||
if os.environ["VisualStudioVersion"] == vc_version:
|
||||
if os.environ["VisualStudioVersion"] == vs_version:
|
||||
p = os.path.join(os.environ["VSINSTALLDIR"], "VC", "Auxiliary", "Build")
|
||||
f = os.path.join(p, "vcvarsall.bat")
|
||||
res = os.path.isfile(f)
|
||||
@@ -60,25 +60,25 @@ def get_visual_studio(vc_version):
|
||||
|
||||
for edition in vs_editions:
|
||||
s = os.environ["ProgramFiles(x86)"]
|
||||
p = os.path.join(s, "Microsoft Visual Studio", vc_year(vc_version), edition, "VC", "Auxiliary", "Build")
|
||||
p = os.path.join(s, "Microsoft Visual Studio", vc_year(vs_version), edition, "VC", "Auxiliary", "Build")
|
||||
f = os.path.join(p, "vcvarsall.bat")
|
||||
if os.path.isfile(f):
|
||||
config['paths']['visual_studio_basedir'] = os.path.join(s, "Microsoft Visual Studio", vc_year(vc_version),
|
||||
config['paths']['visual_studio_basedir'] = os.path.join(s, "Microsoft Visual Studio", vc_year(vs_version),
|
||||
edition)
|
||||
return os.path.realpath(p)
|
||||
|
||||
|
||||
def vc_year(vc_version):
|
||||
if vc_version == "15.0":
|
||||
def vc_year(vs_version):
|
||||
if vs_version == "15.0":
|
||||
return "2017"
|
||||
elif vc_version == "16.0":
|
||||
elif vs_version == "16.0":
|
||||
return "2019"
|
||||
else:
|
||||
logging.error("Visual Studio %s is not supported", vc_version)
|
||||
logging.error("Visual Studio %s is not supported", vs_version)
|
||||
|
||||
|
||||
def visual_studio(vc_version):
|
||||
config["paths"]["visual_studio"] = get_visual_studio(vc_version)
|
||||
def visual_studio(vs_version):
|
||||
config["paths"]["visual_studio"] = get_visual_studio(vs_version)
|
||||
if not config["paths"]["visual_studio"]:
|
||||
logging.error("Unable to find vcvarsall.bat, please make sure you have 'Common C++ tools' Installed."
|
||||
" If you have changed the default installation folder for VS please set the 'vc_CustomInstallPath' in the config.py file"
|
||||
|
||||
Reference in New Issue
Block a user