nsis64 / Contrib / System / SConscript

target = 'System'

files = Split("""
	Source/Buffers.c
	Source/Plugin.c
	Source/System.c
""")

libs = Split("""
	kernel32
	user32
	ole32
""")

examples = Split("""
	Resource.dll
	System.nsi
	System.nsh
	SysFunc.nsh
""")

docs = Split("""
	System.html
	WhatsNew.txt
""")

Import('BuildPlugin env')

if env['TARGET_ARCH'] != 'amd64':
	conf = env.Configure()
	if conf.TryCompile('END', '.S'):
		files += ['Source/Call.S']
	elif conf.TryCompile('.end', '.sx'):
		files += ['Source/Call.sx']
	else:
		print 'WARNING: unable to find assembler for Call.S'
	conf.Finish()

BuildPlugin(
	target,
	files,
	libs,
	examples,
	docs,
	nodeflib = False,
	defines = ['SYSTEM_EXPORTS']
)

res = 'Resource/Resource.rc'
res_obj = 'Resource/Resource-rc.o'
res_target = env.RES(res_obj, res)

res_main = env.Object('Resource/Main.c')

resources = Split("""
	Resource/Icon.ico
	Resource/Resource.h
""")

env.Depends(res_target, resources)

env.SharedLibrary('Resource', res_target + res_main)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.