==SCons==
authorNathan Letwory <nathan@letworyinteractive.com>
Fri, 10 Mar 2006 20:47:34 +0000 (20:47 +0000)
committerNathan Letwory <nathan@letworyinteractive.com>
Fri, 10 Mar 2006 20:47:34 +0000 (20:47 +0000)
+ Joseph Eagar provided a patch that re-enables the application icon for Blender. Hurray!

SConstruct
source/SConscript
source/icons/SConscript [new file with mode: 0644]
source/icons/winblender.rcscons [new file with mode: 0644]
tools/Blender.py

index d16fd9a..62c41d0 100644 (file)
@@ -228,7 +228,7 @@ for tp in B.possible_types:
 if B.arguments.get('BF_PRIORITYLIST', '0')=='1':
     B.propose_priorities()
 
-dobj = B.buildinfo(env, "dynamic")
+dobj = B.buildinfo(env, "dynamic") + B.resources
 thestatlibs, thelibincs = B.setup_staticlibs(env)
 thesyslibs = B.setup_syslibs(env)
 
index fb215ba..ca26457 100644 (file)
@@ -6,3 +6,6 @@ SConscript(['blender/SConscript',
                        'creator/SConscript'])
 if env['WITH_BF_GAMEENGINE'] == 1:
        SConscript (['gameengine/SConscript'])
+       
+if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw'):
+       SConscript (['icons/SConscript'])
diff --git a/source/icons/SConscript b/source/icons/SConscript
new file mode 100644 (file)
index 0000000..ccd7591
--- /dev/null
@@ -0,0 +1,6 @@
+#!/usr/bin/python
+Import ('env')
+
+source = 'winblender_scons.rc'
+
+env.BlenderRes('winresource', source, ['core', 'player'], priority=[95 , 100])
\ No newline at end of file
diff --git a/source/icons/winblender.rcscons b/source/icons/winblender.rcscons
new file mode 100644 (file)
index 0000000..97579f1
--- /dev/null
@@ -0,0 +1,2 @@
+APPICON                ICON     "source\\icons\\winblender.ico"
+BLENDERFILE    ICON     "source\\icons\\winblenderfile.ico"
index f87cbac..bf93868 100644 (file)
@@ -39,6 +39,7 @@ quicklist = [] # The list of libraries/programs to compile during a quickie
 program_list = [] # A list holding Nodes to final binaries, used to create installs
 arguments = None
 targets = None
+resources = []
 
 #some internals
 blenderdeps = [] # don't manipulate this one outside this module!
@@ -47,6 +48,10 @@ blenderdeps = [] # don't manipulate this one outside this module!
 
 possible_types = ['core'] # can be set in ie. SConstruct
 libs = {}
+
+def getresources():
+    return resources
+
 def init_lib_dict():
     for pt in possible_types:
         libs[pt] = {}
@@ -317,6 +322,21 @@ def AppIt(target=None, source=None, env=None):
 
 class BlenderEnvironment(SConsEnvironment):
 
+    def BlenderRes(self=None, libname=None, source=None, libtype=['core'], priority=[100]):
+        global libs
+        if not self or not libname or not source:
+            print bc.FAIL+'Cannot continue.  Missing argument for BlenderRes '+libname+bc.ENDC
+            Exit()
+        if self['OURPLATFORM'] not in ('win32-vc','win32-mingw'):
+            print bc.FAIL+'BlenderRes is for windows only!'+bc.END
+            Exit()
+        
+        print bc.HEADER+'Configuring resource '+bc.ENDC+bc.OKGREEN+libname+bc.ENDC
+        lenv = self.Copy()
+        res = lenv.RES('#'+root_build_dir+'lib/'+libname, source)
+      
+        SConsEnvironment.Default(self, res)
+        resources.append(res)
 
     def BlenderLib(self=None, libname=None, sources=None, includes=[], defines=[], libtype='common', priority = 100, compileflags=None):
         if not self or not libname or not sources: