ソースを参照

Add module defines to the per-platform generated props file so VS knows which ones are enabled.

Andreia Gaita 1 ヶ月 前
コミット
87a7c1df93
1 ファイル変更5 行追加0 行削除
  1. 5 0
      methods.py

+ 5 - 0
methods.py

@@ -1293,6 +1293,11 @@ def generate_vs_project(env, original_args, project_name="godot"):
             )
         output = os.path.join("bin", f"godot{env['PROGSUFFIX']}")
 
+        # The modules_enabled.gen.h header containing the defines is only generated on build, and only for the most recently built
+        # platform, which means VS can't properly render code that's inside module-specific ifdefs. This adds those defines to the
+        # platform-specific VS props file, so that VS knows which defines are enabled for the selected platform.
+        env.Append(VSHINT_DEFINES=[f"MODULE_{module.upper()}_ENABLED" for module in env.module_list])
+
         with open("misc/msvs/props.template", "r", encoding="utf-8") as file:
             props_template = file.read()