def init_dirs(self): fsutil.make_dir(self.work_dir) fsutil.make_dir(self.build_dir) fsutil.make_dir(self.install_dir) fsutil.make_dir(self.cache_dir) if self.enable_dist: fsutil.make_dir(self.dist_dir)
def install(patterns, source_dir = '', target_dir = ''): source_dir_full = _add_subpath(_info.build_dir, source_dir) target_dir_full = _add_subpath(_info.install_dir, target_dir) fsutil.make_dir(target_dir_full) for pattern in patterns.split(): for source in glob.iglob(path.join(source_dir_full, pattern)): shutil.copy(source, target_dir_full)
def build_cmake(options = '', subdir = ''): build_dir = _add_subpath(_info.build_dir, subdir) cmake_dir = path.join(build_dir, 'cmake.build') options = _build_cmake_args() + options.split() fsutil.make_dir(cmake_dir) cmdutil.native_exec('cmake', options, work_dir=cmake_dir) cmdutil.native_make([], work_dir=cmake_dir) cmdutil.native_make(['install'], work_dir=cmake_dir)
def generate_pkg_config(pkgname, libname = None, version = None): if not libname: libname = _info.short_name if not version: version = '1.0.0' output_file = path.join(_info.install_dir, 'lib', 'pkgconfig', pkgname + '.pc') fsutil.make_dir(path.dirname(output_file)) with open(output_file, 'wb') as f: f.write('prefix=%s\n' % cmdutil.to_unix_path(_info.install_dir)) f.write('exec_prefix=${prefix}\n') f.write('libdir=${exec_prefix}/lib\n') f.write('includedir=${prefix}/include\n') f.write('\n') f.write('Name: %s\n' % pkgname) f.write('Description: %s library\n' % libname) f.write('Version: %s\n' % version) f.write('Libs: -L${libdir} -l%s\n' % libname) f.write('Cflags: -I${includedir}\n')
def init(base_dir, profile): global _base_dir global _package_dir global _cache_dir global _work_dir _base_dir = _adjust_path(base_dir) _package_dir = path.join(_base_dir, 'packages') if not path.exists(_package_dir): raise ValueError('Package directory is not found: ' + _package_dir) if profile != config.DEFAULT_PROFILE: work = 'work-' + profile else: work = 'work' _cache_dir = _resolve_dir('cache_dir', 'cache') _work_dir = _resolve_dir('work_dir', work) fsutil.make_dir(_cache_dir) fsutil.make_dir(_work_dir)