Advertisement
pupil337

task.json

Mar 23rd, 2022 (edited)
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 5.27 KB | None | 0 0
  1. {
  2.     "version": "2.0.0",
  3.     "tasks": [
  4.         // editor & game
  5.         {
  6.             "label": "editor&game [debug]",
  7.             "dependsOrder": "sequence",
  8.             "dependsOn": [
  9.                 "editor [debug]",
  10.                 "update gdextension api",
  11.                 "game [debug]"
  12.             ],
  13.             "problemMatcher": []
  14.         },
  15.  
  16.         // -----------------------------------------------------------------
  17.         // Editor
  18.         // -----------------------------------------------------------------
  19.  
  20.         // editor
  21.         {
  22.             "label": "editor [debug]",
  23.             "type": "shell",
  24.             "options": {
  25.                 "cwd": "${workspaceFolder}/godot"
  26.             },
  27.  
  28.             "windows": {
  29.                 "command": "scons",
  30.                 "args": [
  31.                     "platform=windows",
  32.                     "bits=64",
  33.                     "target=editor",
  34.                     "custom_modules=../ppgame/game_module",
  35.                     "dev_build=yes",
  36.                     "debug_symbols=yes",
  37.                     "compiledb=yes",
  38.                     "deprecated=no",
  39.                 ],
  40.                 "problemMatcher": "$msCompile"
  41.             },
  42.  
  43.             "linux": {
  44.                 "command": "pyston-scons",
  45.                 "args": [
  46.                     "platform=linuxbsd",
  47.                     "bits=64",
  48.                     "target=editor",
  49.                     "custom_modules=../ppgame/game_module",
  50.                     "use_llvm=yes",
  51.                     "linker=mold",
  52.                     "dev_build=yes",
  53.                     "debug_symbols=yes",
  54.                     "compiledb=yes",
  55.                     "deprecated=no",
  56.                 ],
  57.                 "problemMatcher": "$gcc"
  58.             }
  59.         },
  60.  
  61.         // -----------------------------------------------------------------
  62.         // GDExtension API
  63.         // -----------------------------------------------------------------
  64.  
  65.         // generate gdextension api
  66.         {
  67.             "label": "generate gdextension api",
  68.             "type": "shell",
  69.             "options": {
  70.                 "cwd": "${workspaceFolder}/godot/bin"
  71.             },
  72.            
  73.             "windows": {
  74.                 "command": "./godot.windows.editor.dev.x86_64.console.exe"
  75.             },
  76.  
  77.             "linux": {
  78.                 "command": "./godot.linuxbsd.editor.dev.x86_64.llvm"
  79.             },
  80.  
  81.             "args": [
  82.                 "--dump-extension-api",
  83.                 "--dump-gdextension-interface",
  84.                 "--headless",
  85.                 "--script"
  86.             ],
  87.             "hide": true,
  88.             "problemMatcher": []
  89.         },
  90.         // copy extension extension_api.json
  91.         {
  92.             "label": "copy extension_api.json",
  93.             "type": "shell",
  94.  
  95.             "windows": {
  96.                 "command": "copy"
  97.             },
  98.  
  99.             "linux": {
  100.                 "command": "cp"
  101.             },
  102.  
  103.             "args": [
  104.                 "${workspaceFolder}/godot/bin/extension_api.json",
  105.                 "${workspaceFolder}/godot-cpp/gdextension"
  106.             ],
  107.             "hide": true,
  108.             "problemMatcher": []
  109.         },
  110.         // copy extension gdextension_interface.h
  111.         {
  112.             "label": "copy gdextension_interface.h",
  113.             "type": "shell",
  114.  
  115.             "windows": {
  116.                 "command": "copy"
  117.             },
  118.  
  119.             "linux": {
  120.                 "command": "cp"
  121.             },
  122.  
  123.             "args": [
  124.                 "${workspaceFolder}/godot/bin/gdextension_interface.h",
  125.                 "${workspaceFolder}/godot-cpp/gdextension"
  126.             ],
  127.             "hide": true,
  128.             "problemMatcher": []
  129.         },
  130.         // update extension api
  131.         {
  132.             "label": "update gdextension api",
  133.             "dependsOrder": "sequence",
  134.             "dependsOn": [
  135.                 "generate gdextension api",
  136.                 "copy extension_api.json",
  137.                 "copy gdextension_interface.h"
  138.             ],
  139.             "problemMatcher": []
  140.         },
  141.  
  142.         // -----------------------------------------------------------------
  143.         // Game
  144.         // -----------------------------------------------------------------
  145.  
  146.         // game-1: gdextension
  147.         {
  148.             "label": "game-1 game [debug]",
  149.             "type": "shell",
  150.             "options": {
  151.                 "cwd": "${workspaceFolder}/ppgame/game_gdextension"
  152.             },
  153.  
  154.             "windows": {
  155.                 "command": "scons",
  156.                 "args": [
  157.                     "platform=windows",
  158.                     "bits=64",
  159.                     "target=editor",
  160.                     "dev_build=yes",
  161.                     "debug_symbols=yes",
  162.                     "compiledb=yes"
  163.                 ],
  164.             },
  165.  
  166.             "linux": {
  167.                 "command": "pyston-scons",
  168.                 "args": [
  169.                     "platform=linux",
  170.                     "bits=64",
  171.                     "target=editor",
  172.                     "use_llvm=yes",
  173.                     "dev_build=yes",
  174.                     "debug_symbols=yes",
  175.                     "compiledb=yes"
  176.                 ]
  177.             },
  178.  
  179.             "hide": true,
  180.             "problemMatcher": "$msCompile"
  181.         },
  182.         // game-2: merge compile_commands.json
  183.         {
  184.             "label": "game-2 merge compile_commands.json",
  185.             "type": "shell",
  186.             "options": {
  187.                 "cwd": "${workspaceFolder}"
  188.             },
  189.            
  190.             "windows": {
  191.                 "command": "./jq.exe",
  192.                 "args": [
  193.                     "-s",
  194.                     "\"add\"",
  195.                     "godot/compile_commands.json",
  196.                     "ppgame/game_gdextension/compile_commands.json",
  197.                     "|",
  198.                     "Out-File",
  199.                     "-Encoding",
  200.                     "ascii",
  201.                     "compile_commands.json"
  202.                 ],
  203.             },
  204.  
  205.             "linux": {
  206.                 "command": "jq",
  207.                 "args": [
  208.                     "--slurp",
  209.                     "'add'",
  210.                     "godot/compile_commands.json",
  211.                     "ppgame/game_gdextension/compile_commands.json",
  212.                     ">",
  213.                     "compile_commands.json"
  214.                 ]
  215.             },
  216.            
  217.             "hide": true,
  218.             "problemMatcher": []
  219.         },
  220.         // game-3: command clangd.restart
  221.         {
  222.             "label": "game-3 @command:clangd.restart",
  223.             "command": "${command:clangd.restart}",
  224.             "hide": true,
  225.             "problemMatcher": []
  226.         },
  227.         // game
  228.         {
  229.             "label": "game [debug]",
  230.             "dependsOrder": "sequence",
  231.             "dependsOn": [
  232.                 "game-1 game [debug]",
  233.                 "game-2 merge compile_commands.json",
  234.                 "game-3 @command:clangd.restart"
  235.             ],
  236.             "group": {
  237.                 "kind": "build",
  238.                 "isDefault": true
  239.             },
  240.             "problemMatcher": []
  241.         },
  242.  
  243.         // -----------------------------------------------------------------
  244.         // Doxygen
  245.         // -----------------------------------------------------------------
  246.  
  247.         // doxygen
  248.         {
  249.             "label": "doxygen",
  250.             "type": "shell",
  251.             "options": {
  252.                 "cwd": "${workspaceFolder}/doc/doxygen"
  253.             },
  254.             "command": "doxygen",
  255.             "problemMatcher": []
  256.         }
  257.     ]
  258. }
  259.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement