136 lines
4.6 KiB
Python
136 lines
4.6 KiB
Python
import os
|
|
import platform
|
|
|
|
defines = [
|
|
"_DEBUG",
|
|
"PL_PROFILE_ON",
|
|
"PL_LOG_IMPLEMENTATION",
|
|
"PL_MEMORY_IMPLEMENTATION",
|
|
"PL_PROFILE_IMPLEMENTATION",
|
|
"PL_LOG_ON",
|
|
"PL_MEMORY_IMPLEMENTATION",
|
|
"PL_STL_IMPLEMENTATION",
|
|
"PL_STRING_IMPLEMENTATION",
|
|
"PL_MATH_INCLUDE_FUNCTIONS",
|
|
"PL_JSON_IMPLEMENTATION",
|
|
"PL_VULKAN_BACKEND",
|
|
"PL_METAL_BACKEND",
|
|
"PL_TEST_IMPLEMENTATION",
|
|
"PL_CONFIG_DEBUG"
|
|
]
|
|
|
|
includes = [
|
|
"${workspaceFolder}/**",
|
|
"${workspaceFolder}/src",
|
|
"${workspaceFolder}/extensions",
|
|
"${workspaceFolder}/../pilotlight/editor",
|
|
"${workspaceFolder}/../pilotlight/src",
|
|
"${workspaceFolder}/../pilotlight/libs",
|
|
"${workspaceFolder}/../pilotlight/extensions",
|
|
"${workspaceFolder}/../pilotlight/dependencies/stb",
|
|
"${workspaceFolder}/../pilotlight/dependencies/cgltf"
|
|
]
|
|
|
|
########################################################################################################################
|
|
# setup vs code
|
|
########################################################################################################################
|
|
|
|
if not os.path.isdir('../.vscode'):
|
|
os.mkdir('../.vscode')
|
|
|
|
with open('../.vscode/launch.json', 'w') as file:
|
|
|
|
lines = []
|
|
lines.append('{')
|
|
lines.append(' "version": "0.2.0",')
|
|
lines.append(' "configurations": [')
|
|
lines.append(' {')
|
|
|
|
if platform.system() == "Windows":
|
|
lines.append(' "name": "(Windows) Launch",')
|
|
lines.append(' "type": "cppvsdbg",')
|
|
lines.append(' "program": "${workspaceFolder}/../pilotlight/out/pilot_light.exe",')
|
|
lines.append(' "console": "integratedTerminal",')
|
|
|
|
elif platform.system() == "Darwin":
|
|
lines.append(' "name": "(lldb) Launch",')
|
|
lines.append(' "type": "cppdbg",')
|
|
lines.append(' "program": "${workspaceFolder}/../pilotlight/out/pilot_light",')
|
|
lines.append(' "externalConsole": false,')
|
|
lines.append(' "MIMode": "lldb",')
|
|
|
|
elif platform.system() == "Linux":
|
|
lines.append(' "name": "(lldb) Launch",')
|
|
lines.append(' "type": "cppdbg",')
|
|
lines.append(' "program": "${workspaceFolder}/../pilotlight/out/pilot_light",')
|
|
|
|
lines.append(' "request": "launch",')
|
|
lines.append(' "args": ["-a", "../../pl-template/out/template_app", "-hr"],')
|
|
lines.append(' "stopAtEntry": false,')
|
|
lines.append(' "cwd": "${workspaceFolder}/../pilotlight/out/",')
|
|
lines.append(' "environment": []')
|
|
lines.append(' }')
|
|
lines.append(' ]')
|
|
lines.append('}')
|
|
|
|
for i in range(len(lines)):
|
|
lines[i] = lines[i] + "\n"
|
|
file.writelines(lines)
|
|
|
|
with open('../.vscode/c_cpp_properties.json', 'w') as file:
|
|
lines = []
|
|
lines.append('{')
|
|
lines.append(' "version" : 4,')
|
|
lines.append(' "configurations": [')
|
|
lines.append(' {')
|
|
|
|
if platform.system() == "Windows":
|
|
lines.append(' "name": "Win32",')
|
|
elif platform.system() == "Darwin":
|
|
lines.append(' "name": "Apple",')
|
|
elif platform.system() == "Linux":
|
|
lines.append(' "name": "Linux",')
|
|
|
|
lines.append(' "includePath": [')
|
|
for i in range(len(includes) - 1):
|
|
lines.append(' "' + includes[i] + '",')
|
|
lines.append(' "' + includes[-1] + '"')
|
|
lines.append(' ],')
|
|
lines.append(' "defines": [')
|
|
for i in range(len(defines) - 1):
|
|
lines.append(' "' + defines[i] + '",')
|
|
lines.append(' "' + defines[-1] + '"')
|
|
lines.append(' ],')
|
|
lines.append(' "cStandard": "c11",')
|
|
|
|
if platform.system() == "Windows":
|
|
lines.append(' "windowsSdkVersion": "10.0.19041.0",')
|
|
lines.append(' "intelliSenseMode": "windows-msvc-x64"')
|
|
elif platform.system() == "Darwin":
|
|
lines.append(' "intelliSenseMode": "macos-clang-arm64"')
|
|
elif platform.system() == "Linux":
|
|
lines.append(' "intelliSenseMode": "linux-gcc-x64"')
|
|
|
|
lines.append(' }')
|
|
lines.append(' ]')
|
|
lines.append('}')
|
|
|
|
for i in range(len(lines)):
|
|
lines[i] = lines[i] + "\n"
|
|
file.writelines(lines)
|
|
|
|
with open('../.vscode/settings.json', 'w') as file:
|
|
lines = []
|
|
lines.append('{')
|
|
lines.append(' "files.associations": {')
|
|
lines.append(' "pl_*.h": "c",')
|
|
lines.append(' "pl_*.m": "objective-c",')
|
|
lines.append(' "pl_*.inc": "c"')
|
|
lines.append(' },')
|
|
lines.append(' "python.analysis.extraPaths": ["../pilotlight/pl_build"]')
|
|
lines.append('}')
|
|
|
|
for i in range(len(lines)):
|
|
lines[i] = lines[i] + "\n"
|
|
file.writelines(lines)
|