aedi: distinguish build target that uses some tool from a target that builds this tool

`base.CMakeTarget` is a base for a target that uses cmake to build itself
`CMakeTarget` is a target that builds cmake
This commit is contained in:
alexey.lysiuk 2023-03-21 12:52:54 +02:00
parent d5134af628
commit a529169f4c
9 changed files with 107 additions and 84 deletions

View file

@ -25,7 +25,8 @@ from pathlib import Path
from platform import machine
from .state import BuildState
from .target import Target, targets
from .target import targets
from .target.base import Target
from .utility import (
OS_VERSION_ARM64,
OS_VERSION_X86_64,

View file

@ -113,7 +113,7 @@ def targets():
ZstdTarget(),
# Tools needed to build main targets and libraries (tiers 1 and 2)
BuildCMakeTarget(),
CMakeTarget(),
GmakeTarget(),
MesonTarget(),
NasmTarget(),

View file

@ -16,10 +16,16 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
from .base import *
import os
import shutil
import subprocess
from pathlib import Path
from ..state import BuildState
from . import base
class Bzip2Target(MakeTarget):
class Bzip2Target(base.MakeTarget):
def __init__(self, name='bzip2'):
super().__init__(name)
@ -51,7 +57,7 @@ class Bzip2Target(MakeTarget):
self.write_pc_file(state, description='bzip2 compression library', version='1.0.8', libs='-lbz2')
class FfiTarget(ConfigureMakeStaticDependencyTarget):
class FfiTarget(base.ConfigureMakeStaticDependencyTarget):
def __init__(self, name='ffi'):
super().__init__(name)
@ -70,7 +76,7 @@ class FfiTarget(ConfigureMakeStaticDependencyTarget):
self.make_platform_header(state, header)
class FlacTarget(CMakeStaticDependencyTarget):
class FlacTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='flac'):
super().__init__(name)
@ -89,7 +95,7 @@ class FlacTarget(CMakeStaticDependencyTarget):
super().configure(state)
class FluidSynthTarget(CMakeStaticDependencyTarget):
class FluidSynthTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='fluidsynth'):
super().__init__(name)
@ -108,7 +114,7 @@ class FluidSynthTarget(CMakeStaticDependencyTarget):
super().configure(state)
class GettextTarget(ConfigureMakeStaticDependencyTarget):
class GettextTarget(base.ConfigureMakeStaticDependencyTarget):
def __init__(self, name='gettext'):
super().__init__(name)
@ -129,7 +135,7 @@ class GettextTarget(ConfigureMakeStaticDependencyTarget):
super().configure(state)
class GlibTarget(BuildTarget):
class GlibTarget(base.BuildTarget):
def __init__(self, name='glib'):
super().__init__(name)
@ -198,7 +204,7 @@ endian = 'little'
return 'exec_prefix=${prefix}\n' + line if line.startswith('libdir=') else line
class IconvTarget(ConfigureMakeStaticDependencyTarget):
class IconvTarget(base.ConfigureMakeStaticDependencyTarget):
def __init__(self, name='iconv'):
super().__init__(name)
@ -215,7 +221,7 @@ class IconvTarget(ConfigureMakeStaticDependencyTarget):
super().configure(state)
class InstPatchTarget(CMakeStaticDependencyTarget):
class InstPatchTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='instpatch'):
super().__init__(name)
@ -267,7 +273,7 @@ class IntlTarget(GettextTarget):
self.install(state, state.options)
class JpegTurboTarget(CMakeStaticDependencyTarget):
class JpegTurboTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='jpeg-turbo'):
super().__init__(name)
@ -284,7 +290,7 @@ class JpegTurboTarget(CMakeStaticDependencyTarget):
super().configure(state)
class LameTarget(ConfigureMakeStaticDependencyTarget):
class LameTarget(base.ConfigureMakeStaticDependencyTarget):
def __init__(self, name='lame'):
super().__init__(name)
@ -297,7 +303,7 @@ class LameTarget(ConfigureMakeStaticDependencyTarget):
return state.has_source_file('lame.spec')
class MoltenVKTarget(MakeTarget):
class MoltenVKTarget(base.MakeTarget):
def __init__(self, name='moltenvk'):
super().__init__(name)
@ -389,7 +395,7 @@ class MoltenVKTarget(MakeTarget):
os.utime(dynamic_lib_path, (static_lib_time, static_lib_time))
class Mpg123Target(CMakeStaticDependencyTarget):
class Mpg123Target(base.CMakeStaticDependencyTarget):
def __init__(self, name='mpg123'):
super().__init__(name)
self.src_root = 'ports/cmake'
@ -408,7 +414,7 @@ class Mpg123Target(CMakeStaticDependencyTarget):
super().configure(state)
class OggTarget(CMakeStaticDependencyTarget):
class OggTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='ogg'):
super().__init__(name)
@ -418,7 +424,7 @@ class OggTarget(CMakeStaticDependencyTarget):
'c4d91be36fc8e54deae7575241e03f4211eb102afb3fc0775fbbc1b740016705')
class OpenALTarget(CMakeStaticDependencyTarget):
class OpenALTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='openal'):
super().__init__(name)
@ -436,7 +442,7 @@ class OpenALTarget(CMakeStaticDependencyTarget):
super().configure(state)
class OpusTarget(CMakeStaticDependencyTarget):
class OpusTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='opus'):
super().__init__(name)
@ -466,7 +472,7 @@ class OpusTarget(CMakeStaticDependencyTarget):
return line
class PcreTarget(ConfigureMakeStaticDependencyTarget):
class PcreTarget(base.ConfigureMakeStaticDependencyTarget):
def __init__(self, name='pcre'):
super().__init__(name)
@ -490,7 +496,7 @@ class PcreTarget(ConfigureMakeStaticDependencyTarget):
self.update_config_script(state.install_path / 'bin/pcre-config')
class QuasiGlibTarget(CMakeStaticDependencyTarget):
class QuasiGlibTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='quasi-glib'):
super().__init__(name)
@ -498,7 +504,7 @@ class QuasiGlibTarget(CMakeStaticDependencyTarget):
state.source = state.patch_path / self.name
class SndFileTarget(CMakeStaticDependencyTarget):
class SndFileTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='sndfile'):
super().__init__(name)
@ -517,7 +523,7 @@ class SndFileTarget(CMakeStaticDependencyTarget):
super().configure(state)
class VorbisTarget(CMakeStaticDependencyTarget):
class VorbisTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='vorbis'):
super().__init__(name)
@ -527,7 +533,7 @@ class VorbisTarget(CMakeStaticDependencyTarget):
'b33cc4934322bcbf6efcbacf49e3ca01aadbea4114ec9589d1b1e9d20f72954b')
class VpxTarget(ConfigureMakeDependencyTarget):
class VpxTarget(base.ConfigureMakeDependencyTarget):
def __init__(self, name='vpx'):
super().__init__(name)
@ -559,7 +565,7 @@ class VpxTarget(ConfigureMakeDependencyTarget):
self.update_text_file(state.build_path / 'vpx_config.c', clean_build_config)
class ZlibNgTarget(CMakeStaticDependencyTarget):
class ZlibNgTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='zlib-ng'):
super().__init__(name)
@ -579,7 +585,7 @@ class ZlibNgTarget(CMakeStaticDependencyTarget):
super().configure(state)
class ZMusicTarget(CMakeStaticDependencyTarget):
class ZMusicTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='zmusic'):
super().__init__(name)

View file

@ -16,10 +16,15 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
from .base import *
import os
import shutil
from pathlib import Path
from ..state import BuildState
from . import base
class DumbTarget(CMakeStaticDependencyTarget):
class DumbTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='dumb'):
super().__init__(name)
@ -43,7 +48,7 @@ class DumbTarget(CMakeStaticDependencyTarget):
return 'Libs: -L${libdir} -ldumb\n' if line.startswith('Libs:') else line
class FmtTarget(CMakeStaticDependencyTarget):
class FmtTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='fmt'):
super().__init__(name)
@ -60,7 +65,7 @@ class FmtTarget(CMakeStaticDependencyTarget):
super().configure(state)
class MadTarget(ConfigureMakeStaticDependencyTarget):
class MadTarget(base.ConfigureMakeStaticDependencyTarget):
def __init__(self, name='mad'):
super().__init__(name)
@ -82,7 +87,7 @@ class MadTarget(ConfigureMakeStaticDependencyTarget):
self.write_pc_file(state, description='MPEG Audio Decoder', version='0.15.1b')
class MikmodTarget(ConfigureMakeStaticDependencyTarget):
class MikmodTarget(base.ConfigureMakeStaticDependencyTarget):
def __init__(self, name='mikmod'):
super().__init__(name)
@ -99,7 +104,7 @@ class MikmodTarget(ConfigureMakeStaticDependencyTarget):
self.update_config_script(state.install_path / 'bin/libmikmod-config')
class ModPlugTarget(ConfigureMakeStaticDependencyTarget):
class ModPlugTarget(base.ConfigureMakeStaticDependencyTarget):
def __init__(self, name='modplug'):
super().__init__(name)
@ -121,7 +126,7 @@ class ModPlugTarget(ConfigureMakeStaticDependencyTarget):
return line
class OpusFileTarget(ConfigureMakeStaticDependencyTarget):
class OpusFileTarget(base.ConfigureMakeStaticDependencyTarget):
def __init__(self, name='opusfile'):
super().__init__(name)
@ -138,7 +143,7 @@ class OpusFileTarget(ConfigureMakeStaticDependencyTarget):
super().configure(state)
class PngTarget(CMakeStaticDependencyTarget):
class PngTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='png'):
super().__init__(name)
@ -165,7 +170,7 @@ class PngTarget(CMakeStaticDependencyTarget):
self.update_config_script(state.install_path / 'bin/libpng16-config')
class PortMidiTarget(CMakeTarget):
class PortMidiTarget(base.CMakeTarget):
def __init__(self, name='portmidi'):
super().__init__(name)
@ -189,7 +194,7 @@ class PortMidiTarget(CMakeTarget):
shutil.copy(state.build_path / 'libportmidi_s.a', lib_path / 'libportmidi.a')
class SamplerateTarget(CMakeStaticDependencyTarget):
class SamplerateTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='samplerate'):
super().__init__(name)
@ -209,7 +214,7 @@ class SamplerateTarget(CMakeStaticDependencyTarget):
self.update_text_file(cmake_module, update_linker_flags)
class Sdl2Target(CMakeStaticDependencyTarget):
class Sdl2Target(base.CMakeStaticDependencyTarget):
def __init__(self, name='sdl2'):
super().__init__(name)
@ -227,7 +232,7 @@ class Sdl2Target(CMakeStaticDependencyTarget):
super().configure(state)
class Sdl2ImageTarget(CMakeStaticDependencyTarget):
class Sdl2ImageTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='sdl2_image'):
super().__init__(name)
self.version = '2.6.3'
@ -255,7 +260,7 @@ class Sdl2ImageTarget(CMakeStaticDependencyTarget):
shutil.move(str(bad_cmake_files_path), str(good_cmake_files_path))
class Sdl2MixerTarget(CMakeStaticDependencyTarget):
class Sdl2MixerTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='sdl2_mixer'):
super().__init__(name)
self.version = '2.6.3'
@ -288,7 +293,7 @@ class Sdl2MixerTarget(CMakeStaticDependencyTarget):
libs='-lSDL2_mixer', cflags='-I${includedir}/SDL2')
class Sdl2NetTarget(CMakeStaticDependencyTarget):
class Sdl2NetTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='sdl2_net'):
super().__init__(name)
self.version = '2.2.0'
@ -308,7 +313,7 @@ class Sdl2NetTarget(CMakeStaticDependencyTarget):
libs='-lSDL2_net', cflags='-I${includedir}/SDL2')
class SodiumTarget(ConfigureMakeStaticDependencyTarget):
class SodiumTarget(base.ConfigureMakeStaticDependencyTarget):
def __init__(self, name='sodium'):
super().__init__(name)
@ -321,7 +326,7 @@ class SodiumTarget(ConfigureMakeStaticDependencyTarget):
return state.has_source_file('libsodium.pc.in')
class VulkanHeadersTarget(CMakeStaticDependencyTarget):
class VulkanHeadersTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='vulkan-headers'):
super().__init__(name)
@ -332,7 +337,7 @@ class VulkanHeadersTarget(CMakeStaticDependencyTarget):
'86ef8969b96cf391dc86b9c4e5745b8ecaa12ebdaaefd3d8e38bc98e15f30653')
class VulkanLoaderTarget(CMakeStaticDependencyTarget):
class VulkanLoaderTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='vulkan-loader'):
super().__init__(name)
@ -354,7 +359,7 @@ class VulkanLoaderTarget(CMakeStaticDependencyTarget):
return line.replace('\n', ' -framework CoreFoundation\n') if line.startswith('Libs.private:') else line
class XmpTarget(ConfigureMakeStaticDependencyTarget):
class XmpTarget(base.ConfigureMakeStaticDependencyTarget):
def __init__(self, name='xmp'):
super().__init__(name)

View file

@ -17,11 +17,15 @@
#
import glob
import os
import shutil
from pathlib import Path
from .base import *
from ..state import BuildState
from . import base
class BrotliTarget(CMakeStaticDependencyTarget):
class BrotliTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='brotli'):
super().__init__(name)
@ -48,7 +52,7 @@ class BrotliTarget(CMakeStaticDependencyTarget):
return line.replace('-R${libdir} ', '') if line.startswith('Libs:') else line
class ExpatTarget(CMakeStaticDependencyTarget):
class ExpatTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='expat'):
super().__init__(name)
@ -66,7 +70,7 @@ class ExpatTarget(CMakeStaticDependencyTarget):
super().configure(state)
class FreeImageTarget(MakeTarget):
class FreeImageTarget(base.MakeTarget):
def __init__(self, name='freeimage'):
super().__init__(name)
@ -106,7 +110,7 @@ class FreeImageTarget(MakeTarget):
self.write_pc_file(state, version='3.18.0', libs='-lfreeimage -lc++')
class FreeTypeTarget(CMakeStaticDependencyTarget):
class FreeTypeTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='freetype'):
super().__init__(name)
@ -133,7 +137,7 @@ class FreeTypeTarget(CMakeStaticDependencyTarget):
self.update_text_file(cmake_module, update_linker_flags)
class FtglTarget(ConfigureMakeStaticDependencyTarget):
class FtglTarget(base.ConfigureMakeStaticDependencyTarget):
def __init__(self, name='ftgl'):
super().__init__(name)
@ -154,7 +158,7 @@ class FtglTarget(ConfigureMakeStaticDependencyTarget):
super().configure(state)
class GlewTarget(CMakeStaticDependencyTarget):
class GlewTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='glew'):
super().__init__(name)
self.src_root = 'build/cmake'
@ -194,7 +198,7 @@ class GlewTarget(CMakeStaticDependencyTarget):
return line
class HarfBuzzTarget(CMakeStaticDependencyTarget):
class HarfBuzzTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='harfbuzz'):
super().__init__(name)
@ -228,7 +232,7 @@ class HarfBuzzTarget(CMakeStaticDependencyTarget):
libs_private='-lc++ -framework CoreFoundation -framework CoreGraphics -framework CoreText')
class LuaTarget(MakeTarget):
class LuaTarget(base.MakeTarget):
def __init__(self, name='lua'):
super().__init__(name)
@ -248,7 +252,7 @@ class LuaTarget(MakeTarget):
self.install(state, state.options)
class LzmaTarget(CMakeStaticDependencyTarget):
class LzmaTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='lzma'):
super().__init__(name)
@ -269,7 +273,7 @@ class LzmaTarget(CMakeStaticDependencyTarget):
version='5.2.5', libs='-llzma')
class Sdl2TtfTarget(CMakeStaticDependencyTarget):
class Sdl2TtfTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='sdl2_ttf'):
super().__init__(name)
@ -295,7 +299,7 @@ class Sdl2TtfTarget(CMakeStaticDependencyTarget):
return line + 'Requires.private: freetype2\n' if line.startswith('Requires:') else line
class SfmlTarget(CMakeStaticDependencyTarget):
class SfmlTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='sfml'):
super().__init__(name)
@ -317,7 +321,7 @@ class SfmlTarget(CMakeStaticDependencyTarget):
super().configure(state)
class TiffTarget(CMakeStaticDependencyTarget):
class TiffTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='tiff'):
super().__init__(name)
@ -350,7 +354,7 @@ class TiffTarget(CMakeStaticDependencyTarget):
return line
class WebpTarget(CMakeStaticDependencyTarget):
class WebpTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='webp'):
super().__init__(name)
@ -377,7 +381,7 @@ class WebpTarget(CMakeStaticDependencyTarget):
self.keep_module_target(state, 'WebP::webp')
class WxWidgetsTarget(CMakeStaticDependencyTarget):
class WxWidgetsTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='wxwidgets'):
super().__init__(name)
@ -440,7 +444,7 @@ class WxWidgetsTarget(CMakeStaticDependencyTarget):
self.update_text_file(wx_config_path, patch_wx_config)
class ZstdTarget(CMakeStaticDependencyTarget):
class ZstdTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='zstd'):
super().__init__(name)
self.src_root = 'build/cmake'

View file

@ -22,17 +22,17 @@ from pathlib import Path
from platform import machine
from ..state import BuildState
from .base import CMakeTarget, MakeTarget
from . import base
class MakeMainTarget(MakeTarget):
class MakeMainTarget(base.MakeTarget):
def __init__(self, name=None):
super().__init__(name)
self.destination = self.DESTINATION_OUTPUT
class CMakeMainTarget(CMakeTarget):
class CMakeMainTarget(base.CMakeTarget):
def __init__(self, name=None):
super().__init__(name)

View file

@ -21,15 +21,15 @@ import shutil
import subprocess
from ..state import BuildState
from .base import BuildTarget, Target
from . import base
class BuildPrefix(Target):
class BuildPrefix(base.Target):
def __init__(self, name='build-prefix'):
super().__init__(name)
class CleanTarget(Target):
class CleanTarget(base.Target):
def __init__(self, name=None):
super().__init__(name)
self.args = ()
@ -55,7 +55,7 @@ class CleanDepsTarget(CleanAllTarget):
self.args += (state.deps_path,)
class DownloadCMakeTarget(Target):
class DownloadCMakeTarget(base.Target):
def __init__(self, name='download-cmake'):
super().__init__(name)
@ -76,7 +76,7 @@ class DownloadCMakeTarget(Target):
shutil.rmtree(state.source)
class TestDepsTarget(BuildTarget):
class TestDepsTarget(base.BuildTarget):
def __init__(self, name='test-deps'):
super().__init__(name)
self.multi_platform = False

View file

@ -16,13 +16,17 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import os
import pathlib
import platform
import subprocess
import zipapp
from .base import *
from ..state import BuildState
from . import base
class BuildCMakeTarget(CMakeTarget):
class CMakeTarget(base.CMakeTarget):
def __init__(self, name='cmake'):
super().__init__(name)
@ -37,7 +41,7 @@ class BuildCMakeTarget(CMakeTarget):
boostrap_cmk_path = boostrap_path / 'Bootstrap.cmk'
boostrap_cmake = boostrap_cmk_path / 'cmake'
if state.architecture() == machine():
if state.architecture() == platform.machine():
if not boostrap_cmake.exists():
os.makedirs(boostrap_path, exist_ok=True)
@ -60,7 +64,7 @@ class BuildCMakeTarget(CMakeTarget):
self.install(state)
class GmakeTarget(ConfigureMakeDependencyTarget):
class GmakeTarget(base.ConfigureMakeDependencyTarget):
def __init__(self, name='gmake'):
super().__init__(name)
@ -88,7 +92,7 @@ class GmakeTarget(ConfigureMakeDependencyTarget):
self.copy_to_bin(state, 'make', self.name)
class MesonTarget(BuildTarget):
class MesonTarget(base.BuildTarget):
def __init__(self, name='meson'):
super().__init__(name)
self.multi_platform = False
@ -113,7 +117,7 @@ class MesonTarget(BuildTarget):
filter=directory_filter, compressed=True)
class NasmTarget(ConfigureMakeDependencyTarget):
class NasmTarget(base.ConfigureMakeDependencyTarget):
def __init__(self, name='nasm'):
super().__init__(name)
@ -126,7 +130,7 @@ class NasmTarget(ConfigureMakeDependencyTarget):
return state.has_source_file('nasm.txt')
class NinjaTarget(CMakeStaticDependencyTarget):
class NinjaTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='ninja'):
super().__init__(name)
@ -140,7 +144,7 @@ class NinjaTarget(CMakeStaticDependencyTarget):
super().configure(state)
class PkgConfigTarget(ConfigureMakeDependencyTarget):
class PkgConfigTarget(base.ConfigureMakeDependencyTarget):
def __init__(self, name='pkg-config'):
super().__init__(name)
@ -156,7 +160,7 @@ class PkgConfigTarget(ConfigureMakeDependencyTarget):
self.copy_to_bin(state, new_filename=self.name + '.exe')
class YasmTarget(ConfigureMakeDependencyTarget):
class YasmTarget(base.ConfigureMakeDependencyTarget):
def __init__(self, name='yasm'):
super().__init__(name)

View file

@ -16,10 +16,13 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
from .base import *
import subprocess
from ..state import BuildState
from . import base
class GlslangTarget(CMakeStaticDependencyTarget):
class GlslangTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='glslang'):
super().__init__(name)
@ -37,7 +40,7 @@ class GlslangTarget(CMakeStaticDependencyTarget):
super().configure(state)
class P7ZipTarget(CMakeTarget):
class P7ZipTarget(base.CMakeTarget):
def __init__(self, name='p7zip'):
super().__init__(name)
self.src_root = 'CPP/7zip/CMAKE/7za'
@ -55,7 +58,7 @@ class P7ZipTarget(CMakeTarget):
self.copy_to_bin(state, '7za')
class PbzxTarget(SingleExeCTarget):
class PbzxTarget(base.SingleExeCTarget):
def __init__(self, name='pbzx'):
super().__init__(name)
self.options = ('pbzx.c', '-lxar', '-llzma')
@ -70,7 +73,7 @@ class PbzxTarget(SingleExeCTarget):
return state.has_source_file('pbzx.c')
class QPakManTarget(CMakeTarget):
class QPakManTarget(base.CMakeTarget):
def __init__(self, name='qpakman'):
super().__init__(name)
@ -83,7 +86,7 @@ class QPakManTarget(CMakeTarget):
self.copy_to_bin(state)
class SeverZipTarget(MakeTarget):
class SeverZipTarget(base.MakeTarget):
# Build with --os-version-x64=10.13 command line option
def __init__(self, name='7zip'):
@ -125,7 +128,7 @@ class SeverZipTarget(MakeTarget):
return 'x64' if arch == 'x86_64' else arch
class UnrarTarget(MakeTarget):
class UnrarTarget(base.MakeTarget):
def __init__(self, name='unrar'):
super().__init__(name)
@ -141,7 +144,7 @@ class UnrarTarget(MakeTarget):
return state.has_source_file('rar.hpp')
class ZipTarget(SingleExeCTarget):
class ZipTarget(base.SingleExeCTarget):
def __init__(self, name='zip'):
super().__init__(name)
self.options = (