mirror of
https://code.it4i.cz/sccs/easyconfigs-it4i.git
synced 2025-04-07 23:42:12 +01:00

new file: i/IRODS/IRODS-0.7.3.eb new file: l/libxc/libxc-5.1.5-intel-2020a.eb new file: n/NodeODM/NodeODM-2.2.0-GCCcore-11.3.0.eb new file: o/ODM/ODM-2.8.7/.dockerignore new file: o/ODM/ODM-2.8.7/.github/workflows/publish-docker-and-wsl.yaml new file: o/ODM/ODM-2.8.7/.github/workflows/publish-docker-gpu.yaml new file: o/ODM/ODM-2.8.7/.github/workflows/publish-snap.yml new file: o/ODM/ODM-2.8.7/.github/workflows/publish-windows.yml new file: o/ODM/ODM-2.8.7/.github/workflows/test-build-prs.yaml new file: o/ODM/ODM-2.8.7/.gitignore new file: o/ODM/ODM-2.8.7/.gitmodules new file: o/ODM/ODM-2.8.7/CNAME new file: o/ODM/ODM-2.8.7/CONTRIBUTING.md new file: o/ODM/ODM-2.8.7/Dockerfile new file: o/ODM/ODM-2.8.7/LICENSE new file: o/ODM/ODM-2.8.7/README.md new file: o/ODM/ODM-2.8.7/SuperBuild/CMakeLists.txt new file: o/ODM/ODM-2.8.7/SuperBuild/cmake/External-Ceres.cmake new file: o/ODM/ODM-2.8.7/SuperBuild/cmake/External-Entwine.cmake new file: o/ODM/ODM-2.8.7/SuperBuild/cmake/External-FPCFilter.cmake new file: o/ODM/ODM-2.8.7/SuperBuild/cmake/External-GFlags.cmake new file: o/ODM/ODM-2.8.7/SuperBuild/cmake/External-Hexer.cmake new file: o/ODM/ODM-2.8.7/SuperBuild/cmake/External-LASzip.cmake new file: o/ODM/ODM-2.8.7/SuperBuild/cmake/External-MvsTexturing.cmake new file: o/ODM/ODM-2.8.7/SuperBuild/cmake/External-Obj2Tiles.cmake new file: o/ODM/ODM-2.8.7/SuperBuild/cmake/External-OpenCV.cmake new file: o/ODM/ODM-2.8.7/SuperBuild/cmake/External-OpenMVS.cmake new file: o/ODM/ODM-2.8.7/SuperBuild/cmake/External-OpenSfM.cmake new file: o/ODM/ODM-2.8.7/SuperBuild/cmake/External-PCL.cmake new file: o/ODM/ODM-2.8.7/SuperBuild/cmake/External-PDAL.cmake new file: o/ODM/ODM-2.8.7/SuperBuild/cmake/External-PyPopsift.cmake new file: o/ODM/ODM-2.8.7/SuperBuild/cmake/External-Untwine.cmake new file: o/ODM/ODM-2.8.7/SuperBuild/cmake/ExternalProject-Setup.cmake new file: o/ODM/ODM-2.8.7/VERSION new file: o/ODM/ODM-2.8.7/code_of_conduct.md new file: o/ODM/ODM-2.8.7/configure.py new file: o/ODM/ODM-2.8.7/configure.sh new file: o/ODM/ODM-2.8.7/console.bat new file: o/ODM/ODM-2.8.7/contrib/blender/README.md new file: o/ODM/ODM-2.8.7/contrib/blender/common.py new file: o/ODM/ODM-2.8.7/contrib/blender/odm_photo.py new file: o/ODM/ODM-2.8.7/contrib/blender/odm_video.py new file: o/ODM/ODM-2.8.7/contrib/blender/photo_360.blend new file: o/ODM/ODM-2.8.7/contrib/blender/photo_vr.blend new file: o/ODM/ODM-2.8.7/contrib/grass/README.md new file: o/ODM/ODM-2.8.7/contrib/grass/odm_grass.py new file: o/ODM/ODM-2.8.7/contrib/mergepreview/README.md new file: o/ODM/ODM-2.8.7/contrib/mergepreview/mergepreview.py new file: o/ODM/ODM-2.8.7/contrib/ndvi/README.md new file: o/ODM/ODM-2.8.7/contrib/ndvi/agricultural_indices.py new file: o/ODM/ODM-2.8.7/contrib/ndvi/ndvi.py new file: o/ODM/ODM-2.8.7/contrib/ndvi/rename_sentera_agx710_multispectral_tif.py new file: o/ODM/ODM-2.8.7/contrib/orthorectify/README.md new file: o/ODM/ODM-2.8.7/contrib/orthorectify/orthorectify.py new file: o/ODM/ODM-2.8.7/contrib/orthorectify/run.sh new file: o/ODM/ODM-2.8.7/contrib/pc2dem/README.md new file: o/ODM/ODM-2.8.7/contrib/pc2dem/pc2dem.py new file: o/ODM/ODM-2.8.7/contrib/resize/README.md new file: o/ODM/ODM-2.8.7/contrib/resize/requirements.txt new file: o/ODM/ODM-2.8.7/contrib/resize/resize.py new file: o/ODM/ODM-2.8.7/contrib/shell/odm_exif2utm.sh new file: o/ODM/ODM-2.8.7/contrib/visveg/readme.md new file: o/ODM/ODM-2.8.7/contrib/visveg/vegind.py new file: o/ODM/ODM-2.8.7/docker/README new file: o/ODM/ODM-2.8.7/docker/g++ new file: o/ODM/ODM-2.8.7/docker/gcc new file: o/ODM/ODM-2.8.7/docs/issue_template.md new file: o/ODM/ODM-2.8.7/gpu.Dockerfile new file: o/ODM/ODM-2.8.7/innosetup.iss new file: o/ODM/ODM-2.8.7/licenses/libext_copyright.txt new file: o/ODM/ODM-2.8.7/licenses/libx11_copyright.txt new file: o/ODM/ODM-2.8.7/licenses/license.md new file: o/ODM/ODM-2.8.7/odm_docker_readme.txt new file: o/ODM/ODM-2.8.7/opendm/__init__.py new file: o/ODM/ODM-2.8.7/opendm/boundary.py new file: o/ODM/ODM-2.8.7/opendm/camera.py new file: o/ODM/ODM-2.8.7/opendm/cogeo.py new file: o/ODM/ODM-2.8.7/opendm/concurrency.py new file: o/ODM/ODM-2.8.7/opendm/config.py new file: o/ODM/ODM-2.8.7/opendm/context.py new file: o/ODM/ODM-2.8.7/opendm/cropper.py new file: o/ODM/ODM-2.8.7/opendm/cutline.py new file: o/ODM/ODM-2.8.7/opendm/dem/__init__.py new file: o/ODM/ODM-2.8.7/opendm/dem/commands.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/__init__.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/bounds/__init__.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/bounds/types.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/bounds/utils.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/extra_dimensions/__init__.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/extra_dimensions/dimension.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/extra_dimensions/distance_dimension.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/extra_dimensions/extended_dimension.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/extra_dimensions/partition_dimension.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/grid/__init__.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/grid/builder.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/io/__init__.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/io/las_io.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/partition/__init__.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/partition/one_partition.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/partition/partition_plan.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/partition/quad_partitions.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/partition/selector.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/partition/surrounding_partitions.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/point_cloud.py new file: o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/rectify.py new file: o/ODM/ODM-2.8.7/opendm/dem/merge.py new file: o/ODM/ODM-2.8.7/opendm/dem/pdal.py new file: o/ODM/ODM-2.8.7/opendm/dem/utils.py new file: o/ODM/ODM-2.8.7/opendm/dls.py new file: o/ODM/ODM-2.8.7/opendm/entwine.py new file: o/ODM/ODM-2.8.7/opendm/gcp.py new file: o/ODM/ODM-2.8.7/opendm/geo.py new file: o/ODM/ODM-2.8.7/opendm/get_image_size.py new file: o/ODM/ODM-2.8.7/opendm/gpu.py new file: o/ODM/ODM-2.8.7/opendm/gsd.py new file: o/ODM/ODM-2.8.7/opendm/io.py new file: o/ODM/ODM-2.8.7/opendm/location.py new file: o/ODM/ODM-2.8.7/opendm/log.py new file: o/ODM/ODM-2.8.7/opendm/loghelpers.py new file: o/ODM/ODM-2.8.7/opendm/mesh.py new file: o/ODM/ODM-2.8.7/opendm/multispectral.py new file: o/ODM/ODM-2.8.7/opendm/nvm.py new file: o/ODM/ODM-2.8.7/opendm/ogctiles.py new file: o/ODM/ODM-2.8.7/opendm/orthophoto.py new file: o/ODM/ODM-2.8.7/opendm/osfm.py new file: o/ODM/ODM-2.8.7/opendm/photo.py new file: o/ODM/ODM-2.8.7/opendm/point_cloud.py new file: o/ODM/ODM-2.8.7/opendm/progress.py new file: o/ODM/ODM-2.8.7/opendm/pseudogeo.py new file: o/ODM/ODM-2.8.7/opendm/remote.py new file: o/ODM/ODM-2.8.7/opendm/report/dsm_gradient.png new file: o/ODM/ODM-2.8.7/opendm/report/overlap_color_map.txt new file: o/ODM/ODM-2.8.7/opendm/report/overlap_diagram_legend.png new file: o/ODM/ODM-2.8.7/opendm/rollingshutter.py new file: o/ODM/ODM-2.8.7/opendm/shots.py new file: o/ODM/ODM-2.8.7/opendm/system.py new file: o/ODM/ODM-2.8.7/opendm/thermal.py new file: o/ODM/ODM-2.8.7/opendm/thermal_tools/__init__.py new file: o/ODM/ODM-2.8.7/opendm/thermal_tools/dji_unpack.py new file: o/ODM/ODM-2.8.7/opendm/thermal_tools/flir_unpack.py new file: o/ODM/ODM-2.8.7/opendm/thermal_tools/thermal_utils.py new file: o/ODM/ODM-2.8.7/opendm/tiles/color_relief.txt new file: o/ODM/ODM-2.8.7/opendm/tiles/gdal2tiles.py new file: o/ODM/ODM-2.8.7/opendm/tiles/hsv_merge.py new file: o/ODM/ODM-2.8.7/opendm/tiles/tiler.py new file: o/ODM/ODM-2.8.7/opendm/types.py new file: o/ODM/ODM-2.8.7/opendm/utils.py new file: o/ODM/ODM-2.8.7/opendm/vendor/__init__.py new file: o/ODM/ODM-2.8.7/opendm/vendor/gdal_fillnodata.py new file: o/ODM/ODM-2.8.7/portable.Dockerfile new file: o/ODM/ODM-2.8.7/requirements.txt new file: o/ODM/ODM-2.8.7/run.bat new file: o/ODM/ODM-2.8.7/run.py new file: o/ODM/ODM-2.8.7/run.sh new file: o/ODM/ODM-2.8.7/snap/snapcraft.yaml new file: o/ODM/ODM-2.8.7/snap/snapcraft21.yaml new file: o/ODM/ODM-2.8.7/stages/__init__.py new file: o/ODM/ODM-2.8.7/stages/dataset.py new file: o/ODM/ODM-2.8.7/stages/mvstex.py new file: o/ODM/ODM-2.8.7/stages/odm_app.py new file: o/ODM/ODM-2.8.7/stages/odm_dem.py new file: o/ODM/ODM-2.8.7/stages/odm_filterpoints.py new file: o/ODM/ODM-2.8.7/stages/odm_georeferencing.py new file: o/ODM/ODM-2.8.7/stages/odm_meshing.py new file: o/ODM/ODM-2.8.7/stages/odm_orthophoto.py new file: o/ODM/ODM-2.8.7/stages/odm_postprocess.py new file: o/ODM/ODM-2.8.7/stages/odm_report.py new file: o/ODM/ODM-2.8.7/stages/openmvs.py new file: o/ODM/ODM-2.8.7/stages/run_opensfm.py new file: o/ODM/ODM-2.8.7/stages/splitmerge.py new file: o/ODM/ODM-2.8.7/start-dev-env.sh new file: o/ODM/ODM-2.8.7/test.sh new file: o/ODM/ODM-2.8.7/tests/assets/.gitignore new file: o/ODM/ODM-2.8.7/tests/assets/gcp_extras.txt new file: o/ODM/ODM-2.8.7/tests/assets/gcp_latlon_south.txt new file: o/ODM/ODM-2.8.7/tests/assets/gcp_latlon_valid.txt new file: o/ODM/ODM-2.8.7/tests/assets/gcp_michigan_feet_valid.txt new file: o/ODM/ODM-2.8.7/tests/assets/gcp_utm_north_valid.txt new file: o/ODM/ODM-2.8.7/tests/assets/images/DJI_0002.JPG new file: o/ODM/ODM-2.8.7/tests/assets/reconstruction.json new file: o/ODM/ODM-2.8.7/tests/assets/sample.json new file: o/ODM/ODM-2.8.7/tests/test_camera.py new file: o/ODM/ODM-2.8.7/tests/test_gcp.py new file: o/ODM/ODM-2.8.7/tests/test_osfm.py new file: o/ODM/ODM-2.8.7/tests/test_remote.py new file: o/ODM/ODM-2.8.7/tests/test_types.py new file: o/ODM/ODM-2.8.7/vcpkg-requirements.txt new file: o/ODM/ODM-2.8.7/win32env.bat new file: o/ODM/ODM-2.8.7/winrun.bat new file: o/ODM/v2.8.7.tar.gz new file: y/Yambo/Yambo-5.1.0-intel-2020a.eb new file: y/Yambo/Yambo-5.1.0-intel-2020a.eb.bak_20220715124556_61837 new file: y/Yambo/Yambo-5.1.0-intel-2021a.eb.old deleted: y/Yambo/Yambo-5.1.0-intel-2021a.eb
211 lines
8.0 KiB
Python
211 lines
8.0 KiB
Python
import sys, platform
|
|
if sys.platform != 'win32':
|
|
print("This script is for Windows only! Use configure.sh instead.")
|
|
exit(1)
|
|
if sys.version_info.major != 3 or sys.version_info.minor != 8:
|
|
print("You need to use Python 3.8.x (due to the requirements.txt). You are using %s instead." % platform.python_version())
|
|
exit(1)
|
|
|
|
import argparse
|
|
import subprocess
|
|
import os
|
|
import stat
|
|
import urllib.request
|
|
import shutil
|
|
import zipfile
|
|
|
|
from venv import EnvBuilder
|
|
|
|
parser = argparse.ArgumentParser(description='ODM Windows Configure Script')
|
|
parser.add_argument('action',
|
|
type=str,
|
|
choices=["build", "clean", "dist", "vcpkg_export"],
|
|
help='Action: %(choices)s')
|
|
parser.add_argument('--build-vcpkg',
|
|
type=bool,
|
|
help='Build VCPKG environment from scratch instead of downloading prebuilt one.')
|
|
parser.add_argument('--vcpkg-archive-url',
|
|
type=str,
|
|
default='https://github.com/OpenDroneMap/windows-deps/releases/download/2.5.0/vcpkg-export-250.zip',
|
|
required=False,
|
|
help='Path to VCPKG export archive')
|
|
parser.add_argument('--code-sign-cert-path',
|
|
type=str,
|
|
default='',
|
|
required=False,
|
|
help='Path to pfx code signing certificate')
|
|
|
|
args = parser.parse_args()
|
|
|
|
def run(cmd, cwd=os.getcwd()):
|
|
env = os.environ.copy()
|
|
print(cmd)
|
|
p = subprocess.Popen(cmd, shell=True, env=env, cwd=cwd)
|
|
retcode = p.wait()
|
|
if retcode != 0:
|
|
raise Exception("Command returned %s" % retcode)
|
|
|
|
# https://izziswift.com/shutil-rmtree-fails-on-windows-with-access-is-denied/
|
|
def rmtree(top):
|
|
for root, dirs, files in os.walk(top, topdown=False):
|
|
for name in files:
|
|
filename = os.path.join(root, name)
|
|
os.chmod(filename, stat.S_IWUSR)
|
|
os.remove(filename)
|
|
for name in dirs:
|
|
os.rmdir(os.path.join(root, name))
|
|
os.rmdir(top)
|
|
|
|
def vcpkg_requirements():
|
|
with open("vcpkg-requirements.txt") as f:
|
|
pckgs = list(filter(lambda l: len(l) > 0, map(str.strip, f.read().split("\n"))))
|
|
return pckgs
|
|
|
|
def build():
|
|
# Create python virtual env
|
|
if not os.path.isdir("venv"):
|
|
print("Creating virtual env --> venv/")
|
|
ebuilder = EnvBuilder(with_pip=True)
|
|
ebuilder.create("venv")
|
|
|
|
run("venv\\Scripts\\pip install --ignore-installed -r requirements.txt")
|
|
|
|
# Download / build VCPKG environment
|
|
if not os.path.isdir("vcpkg"):
|
|
if args.build_vcpkg:
|
|
print("TODO")
|
|
# git clone vcpkg repo
|
|
# bootstrap
|
|
# install requirements
|
|
|
|
else:
|
|
if not os.path.exists("vcpkg-env.zip"):
|
|
print("Downloading %s" % args.vcpkg_archive_url)
|
|
with urllib.request.urlopen(args.vcpkg_archive_url) as response, open( "vcpkg-env.zip", 'wb') as out_file:
|
|
shutil.copyfileobj(response, out_file)
|
|
if not os.path.exists("vcpkg"):
|
|
print("Extracting vcpkg-env.zip --> vcpkg/")
|
|
with zipfile.ZipFile("vcpkg-env.zip") as z:
|
|
top_dir = z.namelist()[0]
|
|
z.extractall(".")
|
|
|
|
if os.path.exists(top_dir):
|
|
os.rename(top_dir, "vcpkg")
|
|
else:
|
|
print("Warning! Something looks wrong in the VCPKG archive... check the vcpkg/ directory.")
|
|
safe_remove("vcpkg-env.zip")
|
|
|
|
if not os.path.exists(os.path.join("SuperBuild", "build")) or not os.path.exists(os.path.join("SuperBuild", "install")):
|
|
print("Compiling SuperBuild")
|
|
|
|
build_dir = os.path.join("SuperBuild", "build")
|
|
if not os.path.isdir(build_dir):
|
|
os.mkdir(build_dir)
|
|
|
|
toolchain_file = os.path.join(os.getcwd(), "vcpkg", "scripts", "buildsystems", "vcpkg.cmake")
|
|
run("cmake .. -DCMAKE_TOOLCHAIN_FILE=\"%s\"" % toolchain_file, cwd=build_dir)
|
|
run("cmake --build . --config Release", cwd=build_dir)
|
|
|
|
def vcpkg_export():
|
|
if not os.path.exists("vcpkg"):
|
|
print("vcpkg directory does not exist. Did you build the environment?")
|
|
exit(1)
|
|
|
|
pkgs = vcpkg_requirements()
|
|
out = "vcpkg-export-%s" % odm_version().replace(".", "")
|
|
run("vcpkg\\vcpkg export %s --output=%s --zip" % (" ".join(pkgs), out))
|
|
|
|
def odm_version():
|
|
with open("VERSION") as f:
|
|
return f.read().split("\n")[0].strip()
|
|
|
|
def safe_remove(path):
|
|
if os.path.isdir(path):
|
|
rmtree(path)
|
|
elif os.path.isfile(path):
|
|
os.remove(path)
|
|
|
|
def clean():
|
|
safe_remove("vcpkg-download.zip")
|
|
safe_remove("vcpkg")
|
|
safe_remove("venv")
|
|
safe_remove(os.path.join("SuperBuild", "build"))
|
|
safe_remove(os.path.join("SuperBuild", "download"))
|
|
safe_remove(os.path.join("SuperBuild", "src"))
|
|
safe_remove(os.path.join("SuperBuild", "install"))
|
|
|
|
def dist():
|
|
if not os.path.exists("SuperBuild\\download"):
|
|
print("You need to run configure.py build before you can run dist")
|
|
exit(1)
|
|
|
|
# Download VC++ runtime
|
|
vcredist_path = os.path.join("SuperBuild", "download", "vc_redist.x64.zip")
|
|
if not os.path.isfile(vcredist_path):
|
|
vcredist_url = "https://github.com/OpenDroneMap/windows-deps/releases/download/2.5.0/VC_redist.x64.zip"
|
|
print("Downloading %s" % vcredist_url)
|
|
with urllib.request.urlopen(vcredist_url) as response, open(vcredist_path, 'wb') as out_file:
|
|
shutil.copyfileobj(response, out_file)
|
|
|
|
print("Extracting --> vc_redist.x64.exe")
|
|
with zipfile.ZipFile(vcredist_path) as z:
|
|
z.extractall(os.path.join("SuperBuild", "download"))
|
|
|
|
# Download portable python
|
|
if not os.path.isdir("python38"):
|
|
pythonzip_path = os.path.join("SuperBuild", "download", "python38.zip")
|
|
python_url = "https://github.com/OpenDroneMap/windows-deps/releases/download/2.5.0/python-3.8.1-embed-amd64-less-pth.zip"
|
|
if not os.path.exists(pythonzip_path):
|
|
print("Downloading %s" % python_url)
|
|
with urllib.request.urlopen(python_url) as response, open( pythonzip_path, 'wb') as out_file:
|
|
shutil.copyfileobj(response, out_file)
|
|
|
|
os.mkdir("python38")
|
|
|
|
print("Extracting --> python38/")
|
|
with zipfile.ZipFile(pythonzip_path) as z:
|
|
z.extractall("python38")
|
|
|
|
# Download signtool
|
|
signtool_path = os.path.join("SuperBuild", "download", "signtool.exe")
|
|
signtool_url = "https://github.com/OpenDroneMap/windows-deps/releases/download/2.5.0/signtool.exe"
|
|
if not os.path.exists(signtool_path):
|
|
print("Downloading %s" % signtool_url)
|
|
with urllib.request.urlopen(signtool_url) as response, open(signtool_path, 'wb') as out_file:
|
|
shutil.copyfileobj(response, out_file)
|
|
|
|
# Download innosetup
|
|
if not os.path.isdir("innosetup"):
|
|
innosetupzip_path = os.path.join("SuperBuild", "download", "innosetup.zip")
|
|
innosetup_url = "https://github.com/OpenDroneMap/windows-deps/releases/download/2.5.0/innosetup-portable-win32-6.0.5-3.zip"
|
|
if not os.path.exists(innosetupzip_path):
|
|
print("Downloading %s" % innosetup_url)
|
|
with urllib.request.urlopen(innosetup_url) as response, open(innosetupzip_path, 'wb') as out_file:
|
|
shutil.copyfileobj(response, out_file)
|
|
|
|
os.mkdir("innosetup")
|
|
|
|
print("Extracting --> innosetup/")
|
|
with zipfile.ZipFile(innosetupzip_path) as z:
|
|
z.extractall("innosetup")
|
|
|
|
# Run
|
|
cs_flags = ""
|
|
if args.code_sign_cert_path:
|
|
cs_flags = '"/Ssigntool=%s sign /f %s /fd SHA1 /t http://timestamp.sectigo.com $f"' % (signtool_path, args.code_sign_cert_path)
|
|
run("innosetup\\iscc /Qp " + cs_flags + " \"innosetup.iss\"")
|
|
|
|
print("Done! Setup created in dist/")
|
|
|
|
if args.action == 'build':
|
|
build()
|
|
elif args.action == 'vcpkg_export':
|
|
vcpkg_export()
|
|
elif args.action == 'dist':
|
|
dist()
|
|
elif args.action == 'clean':
|
|
clean()
|
|
else:
|
|
args.print_help()
|
|
exit(1)
|