-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDefaultScriptInfo.yaml
More file actions
156 lines (131 loc) · 5.94 KB
/
Copy pathDefaultScriptInfo.yaml
File metadata and controls
156 lines (131 loc) · 5.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# NOTE: All command substitutions are passed directly to the shell.
# Be cautious when using user-provided input in your build commands to avoid potential security risks.
# NOTE: All the options here are defaulted to empty.
# You can uncomment different sections to set what you want.
# (Optional) Whether to pass the script path as the second parameter when running
PassScriptPath: false
# # (Optional) Language of the script
Language: "c++"
# (Optional) Preferred profiles for the script for each platform.
# Profiles are listed in user config file,
# which can be retreived by running `runcpp2 --show-config-path`
# Each of the platform dependent settings can be listed under
# - Default
# - Windows
# - Linux
# - MacOS
# - Unix
RequiredProfiles:
Windows: ["g++"]
Linux: ["g++"]
MacOS: ["g++"]
# (Optional) Override the default compile flags for each platform.
OverrideCompileFlags:
# Target Platform
Default:
# Profile with the respective flags to override. ("Default" for any profile)
"g++":
# (Optional) Flags to be removed from the default compile flags, separated by space
Remove: ""
# (Optional) Additional flags to be appended to the default compile flags, separated by space
Append: ""
# (Optional) Override the default link flags for each platform.
OverrideLinkFlags:
# Target Platform
Default:
# Profile with the respective flags to override ("Default" for any profile)
"g++":
# (Optional) Flags to be removed from the default link flags, separated by space
Remove: ""
# (Optional) Additional flags to be appended to the default link flags,
# separated by space
Append: ""
# (Optional) Other source files (relative to script file path) to be compiled.
OtherFilesToBeCompiled:
# Target Platform
Default:
# Target Profile
Default:
- "./AnotherSourceFile.cpp"
# (Optional) Define cross-compiler defines for each platform and profile.
# Defines can be specified as just a name or as a name-value pair.
Defines:
# Target Platform (Default, Windows, Linux, MacOS, or Unix)
Default:
# Profile name (e.g., "g++", "clang++", "msvc", or "Default" for any profile)
"Default":
- "EXAMPLE_DEFINE" # Define without a value
- "VERSION_MAJOR=1" # Define with a value
# (Optional) The list of dependencies needed by the script
Dependencies:
# Dependency name
- Name: MyLibrary
# Supported platforms of the dependency
Platforms: [Windows, Linux, MacOS]
# The source of getting the dependency (Git, Local)
Source:
# Git: Dependency exists in a git server, and needs to be cloned
# Local: Dependency exists in local filesystem
Type: Git
# Git URL for Git type, path to a directory for Local type
Value: "https://github.com/MyUser/MyLibrary.git"
# Library Type (Static, Object, Shared, Header)
LibraryType: Static
# (Optional) Paths to be added to the include paths, relative to the dependency folder
IncludePaths:
- "src/include"
# (Optional if LibraryType is Header) Link properties of the dependency
LinkProperties:
# Properties for searching the library binary for each platform
Default:
# Profile-specific properties
"g++":
# The library names to be searched for when linking against the script.
# Binaries with linkable extension that contains one of the names will be linked
SearchLibraryNames: ["MyLibrary"]
# (Optional) The library names to be excluded from being searched.
# Works the same as SearchLibraryNames but will NOT be linked instead
ExcludeLibraryNames: []
# The path (relative to the dependency folder) to be searched for the dependency binaries
SearchDirectories: ["./build"]
# (Optional) Additional link flags for this dependency
AdditionalLinkOptions: []
# (Optional) Setup commands are run once when the dependency is populated
Setup:
# Target Platform
Default:
# Setup shell commands for the specified profile.
# Default commands are run in the dependency folder
# You can also use "Default" if all the compilers run the same setup commands
"g++":
- "mkdir build"
# (Optional) Build commands are run every time before the script is being built
Build:
# Target Platform
Default:
# Target Profile ("Default" for any profile)
"g++":
- "cd build && cmake .."
- "cd build && cmake --build ."
# (Optional) Cleanup commands are run when the reset option is present. Normally nothing needs
# to be done since the dependency folder will be removed automatically.
Cleanup:
Linux:
"g++":
- "sudo apt purge MyLibrary"
# (Optional) Files to be copied to next to output binary for each platform and profile
FilesToCopy:
# Target Platform (Default, Windows, Linux, MacOS, or Unix)
Default:
# Profile name (e.g., "g++", "clang++", "msvc", or "Default" for any profile)
"Default":
# List of files to copy (relative to the dependency folder)
- "assets/textures/sprite.png"
Windows:
"msvc":
- "assets/textures/sprite.png"
- "assets/fonts/windows_specific_font.ttf"
Linux:
"g++":
- "assets/textures/sprite.png"
- "assets/shaders/linux_optimized_shader.glsl"