瀏覽代碼

Force optimized builds for thirdparty Embree files

(cherry picked from commit b197fc20796494fca03162fd2735821a3bd5bc86)
jfons 3 年之前
父節點
當前提交
99aa9a99f9
共有 3 個文件被更改,包括 13 次插入0 次删除
  1. 1 0
      SConstruct
  2. 11 0
      methods.py
  3. 1 0
      modules/raycast/SCsub

+ 1 - 0
SConstruct

@@ -94,6 +94,7 @@ env_base.__class__.add_library = methods.add_library
 env_base.__class__.add_program = methods.add_program
 env_base.__class__.CommandNoCache = methods.CommandNoCache
 env_base.__class__.disable_warnings = methods.disable_warnings
+env_base.__class__.force_optimization_on_debug = methods.force_optimization_on_debug
 
 env_base["x86_libtheora_opt_gcc"] = False
 env_base["x86_libtheora_opt_vc"] = False

+ 11 - 0
methods.py

@@ -59,6 +59,17 @@ def disable_warnings(self):
         self.Append(CXXFLAGS=["-w"])
 
 
+def force_optimization_on_debug(self):
+    # 'self' is the environment
+    if self["target"] != "debug":
+        return
+
+    if self.msvc:
+        self.Append(CCFLAGS=["/O2"])
+    else:
+        self.Append(CCFLAGS=["-O3"])
+
+
 def add_module_version_string(self, s):
     self.module_version_string += "." + s
 

+ 1 - 0
modules/raycast/SCsub

@@ -80,6 +80,7 @@ if env["builtin_embree"]:
             env.Append(LIBS=["psapi"])
 
     env_thirdparty = env_raycast.Clone()
+    env_thirdparty.force_optimization_on_debug()
     env_thirdparty.disable_warnings()
     env_thirdparty.add_source_files(thirdparty_obj, thirdparty_sources)