Revamp how libraries are done
This commit is contained in:
		
							parent
							
								
									b745019f39
								
							
						
					
					
						commit
						164d2944f6
					
				
					 2 changed files with 16 additions and 12 deletions
				
			
		
							
								
								
									
										10
									
								
								SConstruct
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								SConstruct
									
										
									
									
									
								
							|  | @ -39,9 +39,17 @@ for mode in (MODE.split(',') if MODE else ['debug']): | |||
|     env.Append(CPPPATH=['.']) | ||||
| 
 | ||||
|     # Process all lib dirs. | ||||
|     env['AVAILABLE_LIBS'] = {} | ||||
|     for lib in os.listdir(LIB_DIR.abspath): | ||||
|         lib_dir = LIB_DIR.Dir(lib) | ||||
|         if not lib_dir.isdir(): | ||||
|             print 'Skipping {} in lib directory: is not a directory'.format(lib) | ||||
|             continue | ||||
|         lib_out_dir = out_dir.Dir('lib').Dir(lib) | ||||
|         do_sconscript(env, LIB_DIR.Dir(lib), lib_out_dir) | ||||
|         output = do_sconscript(env, LIB_DIR.Dir(lib), lib_out_dir) | ||||
|         if not output: | ||||
|             print "Lib {} didn't return any object".format(lib) | ||||
|         env['AVAILABLE_LIBS'][lib] = output | ||||
|         env.Append(LIBPATH=[lib_out_dir]) | ||||
| 
 | ||||
|     # Get source files. | ||||
|  |  | |||
|  | @ -1,13 +1,16 @@ | |||
| # SConscript | ||||
| # vim: set ft=python: | ||||
| # | ||||
| # Build file for the gtest library. This file also serves as an example for how | ||||
| # to build libraries for inclusion with my SCons environment. Libraries should | ||||
| # return a build object. | ||||
| # | ||||
| # Eryn Wells <eryn@erynwells.me> | ||||
| 
 | ||||
| import os.path | ||||
| 
 | ||||
| Import('env') | ||||
| Import('build_env') | ||||
| 
 | ||||
| env.Append(CPPPATH=[Dir('include').srcnode()]) | ||||
| 
 | ||||
| files = [ | ||||
|     'gtest-all.cc', | ||||
|  | @ -20,12 +23,5 @@ files = [ | |||
|     'gtest.cc', | ||||
| ] | ||||
| 
 | ||||
| objs = [] | ||||
| for f in files: | ||||
|     objs.append(env.Object(f)) | ||||
| 
 | ||||
| include_dir = Dir('include').srcnode() | ||||
| env.Append(CPPPATH=[include_dir]) | ||||
| build_env.Append(CPPPATH=[include_dir]) | ||||
| 
 | ||||
| gtest = env.Library('gtest', objs) | ||||
| gtest = env.Library('gtest', files) | ||||
| Return('gtest') | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue