Move more things to the lib tool
This commit is contained in:
parent
e0f3f0a2b4
commit
bd7a79c9e1
2 changed files with 17 additions and 15 deletions
|
@ -2,7 +2,6 @@
|
|||
# Eryn Wells <eryn@erynwells.me>
|
||||
|
||||
import logging
|
||||
import os
|
||||
import sys
|
||||
|
||||
import SCons.Environment
|
||||
|
@ -146,20 +145,6 @@ class Environment(SCons.Environment.Environment):
|
|||
'''Return the main source root directory for this environment.'''
|
||||
return self['SRC_ROOT']
|
||||
|
||||
@property
|
||||
def lib_dirs(self):
|
||||
for lib in os.listdir(self['LIB_ROOT'].abspath):
|
||||
lib_dir = self['LIB_ROOT'].Dir(lib)
|
||||
if not lib_dir.isdir():
|
||||
continue
|
||||
yield (lib, lib_dir)
|
||||
|
||||
def process_lib_dirs(self):
|
||||
self.log('Processing libs in #{} ...'.format(self.lib_root.path))
|
||||
for name, lib in self.lib_dirs:
|
||||
self.log(' - {}'.format(name))
|
||||
self.LibDir(name)
|
||||
|
||||
def process_src(self):
|
||||
out_dir = self.build_root.Dir('src')
|
||||
# TODO: Do the thing.
|
||||
|
|
|
@ -5,9 +5,12 @@
|
|||
SCons builder for a lib directory.
|
||||
'''
|
||||
|
||||
import os
|
||||
|
||||
import SCons.Errors
|
||||
import SCons.Script
|
||||
|
||||
|
||||
def _lib(env, name):
|
||||
return env['LIBS'].get(name)
|
||||
|
||||
|
@ -18,6 +21,19 @@ def _register_lib(env, name, lib):
|
|||
env['LIBS'][name] = lib
|
||||
|
||||
|
||||
def _lib_dirs(env):
|
||||
for lib in os.listdir(env.lib_root.abspath):
|
||||
lib_dir = env.lib_root.Dir(lib)
|
||||
if not lib_dir.isdir():
|
||||
continue
|
||||
yield (lib, lib_dir)
|
||||
|
||||
|
||||
def _process_lib_dirs(env):
|
||||
for name, _ in _lib_dirs(env):
|
||||
env.LibDir(name)
|
||||
|
||||
|
||||
def _process_lib_dir(env, lib, src_dir=None, out_dir=None, inc_dir=None):
|
||||
if not src_dir:
|
||||
src_dir = env.lib_root.Dir(lib)
|
||||
|
@ -64,6 +80,7 @@ def generate(env):
|
|||
env.AddMethod(_build_library(env, env.StaticLibrary), 'StaticLibrary')
|
||||
env.AddMethod(_build_library(env, env.SharedLibrary), 'SharedLibrary')
|
||||
env.AddMethod(_lib, 'lib')
|
||||
env.AddMethod(_process_lib_dirs, 'process_lib_dirs')
|
||||
|
||||
def exists(env):
|
||||
return True
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue