Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def init_command(prefix, toolchain, cc, cxx, cflags, cxxflags, ldflags, std, define, shared, static):
""" Initialize install directory """
if shared and static:
click.echo("ERROR: shared and static are not supported together")
sys.exit(1)
defines = util.to_define_dict(define)
if shared: defines['BUILD_SHARED_LIBS'] = 'On'
if static: defines['BUILD_SHARED_LIBS'] = 'Off'
prefix.write_cmake(
always_write=True,
toolchain=toolchain,
cc=cc,
cxx=cxx,
cflags=cflags,
cxxflags=cxxflags,
ldflags=ldflags,
std=std,
defines=defines)
def unlink(self, pkg, delete=False):
pkg = self.parse_pkg_src(pkg)
pkg_dir = self.get_package_directory(pkg.to_fname())
unlink_dir = self.get_unlink_directory(pkg.to_fname())
self.log("Unlink:", pkg_dir)
if os.path.exists(pkg_dir):
if util.USE_SYMLINKS:
util.rm_symlink_from(os.path.join(pkg_dir, 'install'), self.prefix)
else:
util.rm_dup_dir(os.path.join(pkg_dir, 'install'), self.prefix, remove_both=False)
util.rm_empty_dirs(self.prefix)
if delete: shutil.rmtree(pkg_dir)
else:
util.mkdir(self.get_unlink_directory())
os.rename(pkg_dir, unlink_dir)
def clean(self):
if util.USE_SYMLINKS:
util.delete_dir(self.get_private_path())
util.rm_symlink_dir(self.prefix)
util.rm_empty_dirs(self.prefix)
else:
for p in self.list():
self.remove(p)
util.delete_dir(self.get_private_path())
def unlink(self, pkg, delete=False):
pkg = self.parse_pkg_src(pkg)
pkg_dir = self.get_package_directory(pkg.to_fname())
unlink_dir = self.get_unlink_directory(pkg.to_fname())
self.log("Unlink:", pkg_dir)
if os.path.exists(pkg_dir):
if util.USE_SYMLINKS:
util.rm_symlink_from(os.path.join(pkg_dir, 'install'), self.prefix)
else:
util.rm_dup_dir(os.path.join(pkg_dir, 'install'), self.prefix, remove_both=False)
util.rm_empty_dirs(self.prefix)
if delete: shutil.rmtree(pkg_dir)
else:
util.mkdir(self.get_unlink_directory())
os.rename(pkg_dir, unlink_dir)
def __init__(self, prefix, verbose=False, build_path=None):
self.prefix = os.path.abspath(prefix or 'cget')
self.verbose = verbose
self.build_path_var = build_path
self.cmd = util.Commander(paths=[self.get_path('bin')], env=self.get_env(), verbose=self.verbose)
self.toolchain = self.write_cmake()