Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 0.2.0 #68

Draft
wants to merge 271 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
271 commits
Select commit Hold shift + click to select a range
443ee76
Merge pull request #59 from qupa-project/llvm
AjaniBilby Sep 29, 2021
919d72d
Merge branch 'llvm' into staging
AjaniBilby Sep 29, 2021
b2c4495
Merge branch 'staging' into either
AjaniBilby Sep 29, 2021
b23fae2
~Fixed states not being saved correctly
AjaniBilby Oct 9, 2021
5490d21
Update the type of a variable within when statement
AjaniBilby Oct 16, 2021
32fc8b4
Update scope.js
AjaniBilby Oct 17, 2021
bcf560f
Update changelog.md
AjaniBilby Oct 17, 2021
7d43b1c
+Added new test case
AjaniBilby Oct 17, 2021
dd86f6f
~Clarified unequal types errors
AjaniBilby Oct 17, 2021
65e300b
~Fixed alignment of multi-line error summaries
AjaniBilby Oct 17, 2021
2c10f4e
~Fixed spelling error
AjaniBilby Oct 17, 2021
4c83d45
Merge pull request #61 from qupa-project/Fixed-lent-primatives-not-up…
AjaniBilby Oct 17, 2021
07eacca
Merge branch 'staging' into either
AjaniBilby Oct 17, 2021
e2ace1d
Either now subdivides into component types
AjaniBilby Nov 2, 2021
e1af6c0
~Fixed errors trimming LHS of code
AjaniBilby Nov 2, 2021
32d5670
+Added LLVM Submodule
AjaniBilby Mar 2, 2022
b9916ae
+Added CMakeBuild scripts
AjaniBilby Mar 2, 2022
a4d03ce
+Added some build scripts
AjaniBilby Mar 2, 2022
77380d0
~
AjaniBilby Mar 4, 2022
33b1db2
tests
AjaniBilby Apr 15, 2022
6e5b307
~Updated make files
AjaniBilby May 2, 2022
c6424a5
~Updated core lib
AjaniBilby May 2, 2022
b05557b
+x86 componets
AjaniBilby May 2, 2022
615c23a
Finally got the thing to compile
AjaniBilby May 2, 2022
368abb5
+Working UVC compilation tool
AjaniBilby May 17, 2022
a12b1d0
-removed sample files
AjaniBilby May 17, 2022
0277bed
~Updated compiler to use new tools
AjaniBilby May 18, 2022
0ae54fc
~Fixed compilation modes for new system
AjaniBilby May 18, 2022
e60ba8f
~Fixed broken includes
AjaniBilby May 18, 2022
e91b7d9
~testing system now runs tests
AjaniBilby May 18, 2022
05102ac
~8/9 tests now run
AjaniBilby May 18, 2022
780de68
~Fixed building dependent libraries
AjaniBilby May 19, 2022
ff3faf0
~Removed build/inclusion of unnecessary components
AjaniBilby May 19, 2022
84474a7
~Init folder
AjaniBilby May 19, 2022
d5cba4a
~Restricted LLVM build
AjaniBilby May 19, 2022
c63ea4a
~Fixed building extra not needed targets
AjaniBilby May 19, 2022
45c52cd
~Clarified cli help response
AjaniBilby May 22, 2022
ccaf32f
+Build script for Ubuntu
AjaniBilby May 22, 2022
b47d651
+Building documentation
AjaniBilby May 22, 2022
a32040b
~Updated to not rely on runtime
AjaniBilby May 22, 2022
1109d9a
~Updated github action to use cached LLVM
AjaniBilby May 22, 2022
50d9953
~Build uvc-tools github action
AjaniBilby May 22, 2022
13ed9f0
Merge branch 'staging' into bootstrap
AjaniBilby May 22, 2022
30ab654
~Updated install process
AjaniBilby May 22, 2022
f1fa0a4
~Fixed duplicate use of LLVM cache
AjaniBilby May 22, 2022
4a361dd
~Updated LLVM version
AjaniBilby May 22, 2022
4f1b008
~Switched to LLVM-14
AjaniBilby May 22, 2022
c4db09a
~Fixed building executable on client device
AjaniBilby May 22, 2022
4ef9249
~Disabled LLVM install
AjaniBilby May 22, 2022
5e69be7
Update execution.yml
AjaniBilby May 22, 2022
a2616ee
~Fixed indentation
AjaniBilby May 22, 2022
a0c794e
~Commented out names
AjaniBilby May 22, 2022
9c0b14d
-removed spacing
AjaniBilby May 22, 2022
e9eca2b
+Installs custom LLVM
AjaniBilby May 22, 2022
a4a29e7
+Extra log message for debugging
AjaniBilby May 22, 2022
009ff4c
~Fixed potential vulnerability
AjaniBilby May 22, 2022
b6f8d5e
~Was building with wrong LLVM version
AjaniBilby May 22, 2022
dac65da
~Github keeps using the wrong LLVM install....
AjaniBilby May 22, 2022
c254e33
~Github refuses to use the right LLVM version...
AjaniBilby May 22, 2022
7bd1846
~Checkout deleting stuff?
AjaniBilby May 22, 2022
5b63e8d
No longer force?
AjaniBilby May 22, 2022
66428a8
actions please
AjaniBilby May 22, 2022
05e2b68
+Added windows build test
AjaniBilby May 22, 2022
054c594
Update test.js
AjaniBilby May 22, 2022
f8f1b29
~Disabled win; forgot actual build unix
AjaniBilby May 22, 2022
d988c45
~Ignored stuff from #63
AjaniBilby May 23, 2022
05aedb8
+Defined C++ version
AjaniBilby May 24, 2022
8a9b169
~Updated built bin location
AjaniBilby May 24, 2022
f0251cb
~Fixed bad execution path
AjaniBilby May 24, 2022
cfc8bd3
~Checking build location
AjaniBilby May 24, 2022
5981711
Update test.js
AjaniBilby May 24, 2022
cfda7af
I'm bad
AjaniBilby May 24, 2022
f499c82
~Consolidated cmd path
AjaniBilby May 24, 2022
0bb3725
~Auto rebind environment variables
AjaniBilby May 24, 2022
158f232
~Fixed double relative
AjaniBilby May 24, 2022
f7d0398
Create extensions.json
AjaniBilby May 25, 2022
99588df
~Value changes back to either type after when clause
AjaniBilby Jun 18, 2022
4241f38
Merge branch 'bootstrap' into either
AjaniBilby Jun 18, 2022
c839ed1
+Test case
AjaniBilby Jun 19, 2022
ccc1fd5
+Added either test to the manifest of tests
AjaniBilby Aug 8, 2022
5c0dd0c
~Updated to build a debug version of the compiler
AjaniBilby Aug 12, 2022
efce985
Switched to LLVM 14
AjaniBilby Aug 12, 2022
4922f25
~Switched from memmove to reload struct moving
AjaniBilby Aug 12, 2022
f891d63
~Fixed not updating size when sizeof function called
AjaniBilby Aug 14, 2022
1433ce0
+Fixed missing structure alignment calculations
AjaniBilby Aug 14, 2022
dba4e7c
+verbose compilation option
AjaniBilby Aug 14, 2022
9c87d72
~Fixed missing files after verbose flag
AjaniBilby Aug 15, 2022
d44e824
-removed debug comment
AjaniBilby Aug 15, 2022
9688ae3
+printf intrinsic function
AjaniBilby Aug 15, 2022
9236ad6
~Updated tests to new printf standard
AjaniBilby Aug 15, 2022
a760a69
-removed debug log print
AjaniBilby Aug 15, 2022
df23bda
~Updated changelog
AjaniBilby Aug 15, 2022
0879dbc
Merge pull request #62 from qupa-project/either
AjaniBilby Aug 17, 2022
a384859
Merge branch 'bootstrap' into staging
AjaniBilby Aug 17, 2022
19e1855
+impl syntax; -redundant syntax
AjaniBilby Aug 17, 2022
944a4e4
+Detection for attempting to call an abstract function
AjaniBilby Aug 17, 2022
57c6da5
+Implementation syntax AST simplification
AjaniBilby Aug 17, 2022
55fd05c
~Updated log types to correct channels
AjaniBilby Aug 17, 2022
4716c10
+Default implementor
AjaniBilby Aug 17, 2022
2217602
+Trait Syntax
AjaniBilby Aug 20, 2022
1ee09cb
+Self type within impl block
AjaniBilby Aug 20, 2022
3fd392c
+Impl trait linking
AjaniBilby Aug 20, 2022
488b47c
+traits
AjaniBilby Aug 20, 2022
94f5a69
~Fixed bug with bubble up type resolution
AjaniBilby Aug 22, 2022
329f132
~Fixed bug external functions not declared
AjaniBilby Aug 22, 2022
b46f642
+Implemented struct clone and delete
AjaniBilby Aug 22, 2022
9ca36d2
~Fixed required manual import of language lib
AjaniBilby Aug 24, 2022
5e0f0db
-Removed delete statement
AjaniBilby Aug 24, 2022
18834c6
~Fixed calling drop when unimplemented
AjaniBilby Aug 24, 2022
72647d6
~Updated to reflect language changes
AjaniBilby Aug 24, 2022
8a4876b
~Fixed throwing errors with from file ref
AjaniBilby Aug 24, 2022
e830f7b
-Removed dev console log
AjaniBilby Aug 24, 2022
215693d
+Now auto drop reassigned values
AjaniBilby Aug 26, 2022
d8212e0
+Auto drop drops children structs correctly
AjaniBilby Aug 26, 2022
4cf81b9
~styling inconsistency
AjaniBilby Aug 26, 2022
516f058
~Updated to match new syntax
AjaniBilby Aug 26, 2022
e47e6ef
+New struct creation syntax
AjaniBilby Aug 26, 2022
6d6463b
~Comments now available in all whitespace
AjaniBilby Aug 26, 2022
0249829
~Updated changelog
AjaniBilby Aug 26, 2022
cbdbe48
~Fixed casting error with cstring
AjaniBilby Aug 30, 2022
c5b0dd4
~Fixed deduce type
AjaniBilby Sep 16, 2022
aa92985
Update changelog.md
AjaniBilby Sep 17, 2022
ade778e
Merge pull request #65 from qupa-project/traits
AjaniBilby Sep 17, 2022
124772f
Update changelog.md
AjaniBilby Sep 17, 2022
5b7cd56
~Reworked typerefs
AjaniBilby Sep 19, 2022
d5d4a94
~Fixed func args all being constants
AjaniBilby Oct 23, 2022
853f84c
~Updated lends to new system for native types
AjaniBilby Oct 23, 2022
633bf70
~Updated test system to give more detailed info
AjaniBilby Oct 25, 2022
0feadd5
~Resolved malformed struct as struct attr type
AjaniBilby Oct 25, 2022
bf1e948
~Removed deprecated flat LLVM types
AjaniBilby Oct 25, 2022
14be3cd
~Updated automated testing
AjaniBilby Oct 25, 2022
7cc9d0a
Update execution.yml
AjaniBilby Oct 25, 2022
4f69f9f
Update execution.yml
AjaniBilby Oct 25, 2022
2f9aefc
~Missing c lib
AjaniBilby Oct 25, 2022
9cc1fdc
~fixed typo
AjaniBilby Oct 25, 2022
00974f3
~Fixed missing dependencies
AjaniBilby Oct 25, 2022
7aca44e
~fixed memory address types
AjaniBilby Nov 27, 2022
0a2dc2e
~Setup for new BNF-Parser implementation
AjaniBilby Dec 7, 2022
0e6d043
~Rewrote parser for new BNF parser version
AjaniBilby Dec 9, 2022
d2ec0cc
~Refactored syntax for new clarity
AjaniBilby Dec 14, 2022
40e70a1
~Started conversion to new syntax system
AjaniBilby Dec 14, 2022
ca524ec
~Fixed function signature linking
AjaniBilby Dec 14, 2022
0e0f371
+Basic return status 0 fixed
AjaniBilby Dec 14, 2022
476598a
~Fixed template parse error
AjaniBilby Dec 16, 2022
3c2d424
~Fixed typos
AjaniBilby Dec 16, 2022
f621ac4
~Fixed missing whitespace
AjaniBilby Dec 16, 2022
b9dc03d
~Fixed missing tuple expr operation registration
AjaniBilby Dec 16, 2022
eb00586
~Fixed function call compilation
AjaniBilby Dec 27, 2022
220b9e0
+String consts now stored as global const
AjaniBilby Dec 27, 2022
c4ce756
+Test: Hello World
AjaniBilby Dec 27, 2022
e9a766b
~Fixed basic math
AjaniBilby Dec 28, 2022
4af67b1
~Fixed if statements
AjaniBilby Dec 28, 2022
9d5b745
~removed duplicate constants
AjaniBilby Dec 28, 2022
625ea88
~Fixed lending
AjaniBilby Dec 28, 2022
26ad5cc
~fixed crash on function call
AjaniBilby Dec 28, 2022
cd09538
~fixed template access
AjaniBilby Dec 29, 2022
0699759
+Reserved word support
AjaniBilby Dec 29, 2022
1f11aed
+More detailed compilation time metrics
AjaniBilby Dec 29, 2022
203c3aa
~Fixed struct type compilation
AjaniBilby Dec 31, 2022
fc2ae49
~Fixed struct generation
AjaniBilby Dec 31, 2022
21aa565
~Fixed const naming collision
AjaniBilby Dec 31, 2022
bc9cc53
~Changed recursive clone to use function
AjaniBilby Jan 5, 2023
f3f0832
~Fixed old syntax
AjaniBilby Jan 5, 2023
bd1e865
~Fixed assigning resolved constants on function call
AjaniBilby Jan 5, 2023
aa97536
~Made syntax more concise
AjaniBilby Jan 6, 2023
63acd13
Uses virtual function table for top_stmt calls
AjaniBilby Jan 6, 2023
ba4e06a
Retuned type resolutions
AjaniBilby Jan 9, 2023
12030e5
+Uniview as spell checked word
AjaniBilby Jan 9, 2023
867ee43
~Fixed error print tab offset error
AjaniBilby Jan 9, 2023
080037f
~Clarified code execution
AjaniBilby Jan 9, 2023
acc5e60
~Made semi-colons optional for calls
AjaniBilby Jan 9, 2023
d776356
+Reserved Words
AjaniBilby Jan 9, 2023
d1007eb
~printf signature changes
AjaniBilby Jan 9, 2023
8cef019
~Fixed Self type ref
AjaniBilby Jan 9, 2023
d7972bb
~Fixed function access
AjaniBilby Jan 9, 2023
1906863
~Fixed import syntax handling
AjaniBilby Jan 9, 2023
2a5b0fe
~fixed abstract function syntax handling
AjaniBilby Jan 9, 2023
bb2e94e
~Fixed uninitalised value
AjaniBilby Jan 9, 2023
d239bfa
~Fixed include syntax
AjaniBilby Jan 9, 2023
a8d5d02
~Fixed external function imports
AjaniBilby Jan 9, 2023
1b33d74
~Updated to new syntax
AjaniBilby Jan 9, 2023
9cdce16
~Updated to new syntax
AjaniBilby Jan 9, 2023
42f619b
+ disabled expected faulty tests
AjaniBilby Jan 9, 2023
35a25fe
~Fixed strict js error
AjaniBilby Jan 9, 2023
adfc9b5
Merge branch 'main' into bnf-parser-v3
AjaniBilby Jan 9, 2023
7e037fc
-deleted overridden ignore
AjaniBilby Jan 9, 2023
1fcff3b
Merge pull request #70 from qupa-project/bnf-parser-v3
AjaniBilby Jan 9, 2023
e65e7b4
+Started object include support
AjaniBilby Jan 11, 2023
4e92f44
Depth 1
AjaniBilby Feb 27, 2023
242683f
~Updated to latest commit
AjaniBilby Feb 27, 2023
a9c2cb5
+Changed to build with Ninja and LLD
AjaniBilby Mar 1, 2023
51a1d92
~MSbuild was taking the wheel
AjaniBilby Mar 1, 2023
9abdb7d
~Removed Ninja Generator from requirement to default
AjaniBilby Mar 3, 2023
7d957b1
Create compilation.md
AjaniBilby Mar 3, 2023
26903b5
Merge remote-tracking branch 'origin/main' into staging
AjaniBilby Mar 3, 2023
9b306ea
~Changed to release/15.x branch
AjaniBilby Mar 3, 2023
f1f2c27
~Reintroduced Ninja requirement
AjaniBilby Mar 3, 2023
779bc26
~Attempt to fix github automation
AjaniBilby Mar 3, 2023
d0e129e
~Cleaned up double execution
AjaniBilby Mar 3, 2023
d1c532d
~Cleaned up the settings
AjaniBilby Mar 3, 2023
61bbae3
-Removed default .env
AjaniBilby Mar 3, 2023
c148682
~Updated node version
AjaniBilby Mar 3, 2023
09a3a9c
~Clarified log
AjaniBilby Mar 3, 2023
6b3e217
~Simplified
AjaniBilby Mar 3, 2023
cb4da04
Update execution.yml
AjaniBilby Mar 3, 2023
304ea67
~Fixed implicit function defs
AjaniBilby Mar 3, 2023
79977ad
~Removed ninja requirement for Windows
AjaniBilby Mar 4, 2023
8f8f4ab
~Fixed stalling after install
AjaniBilby Mar 4, 2023
fff7f2b
Merge branch 'staging' into bootstrap
AjaniBilby Mar 4, 2023
f513b0e
~Fixed strict issue
AjaniBilby Mar 4, 2023
119cc15
+Dynamically addable timers
AjaniBilby Mar 5, 2023
94ebe98
Create main.h
AjaniBilby Mar 5, 2023
4a90ff1
+Building to object
AjaniBilby Mar 5, 2023
a270f2f
+Linking test
AjaniBilby Mar 5, 2023
3eb21c3
+Object linking support
AjaniBilby Mar 5, 2023
55fa3e4
+Object linking test
AjaniBilby Mar 5, 2023
7cba24e
-Ignore more binary output types
AjaniBilby Mar 5, 2023
86333e0
Merge branch 'main' into staging
AjaniBilby Mar 5, 2023
00e0682
+intermediary output renaming arguments
AjaniBilby Mar 6, 2023
864b669
-Removed test case
AjaniBilby Mar 6, 2023
b934f0e
~Reworked library build toolchain
AjaniBilby Mar 6, 2023
75b91ec
~Build LLVM tools as release
AjaniBilby Mar 7, 2023
02ba291
~Fixed bad build parameters
AjaniBilby Mar 7, 2023
5923b58
+scaffold for bootstrap compiler
AjaniBilby Mar 8, 2023
c62c660
~Sorted includes
AjaniBilby Mar 8, 2023
7810c05
~Stabalised build tools
AjaniBilby Mar 24, 2023
6fa9ca1
Merge remote-tracking branch 'origin/staging' into bootstrap
AjaniBilby Mar 24, 2023
fe897dd
+Starting C++ rewrite of uvc-tools
AjaniBilby Mar 24, 2023
f835b01
+Bitcode and object write for uvc-tool2
AjaniBilby Mar 27, 2023
ecd0e73
~missing commit
AjaniBilby Mar 27, 2023
9c7c5a3
+Start optimisation pass implementation
AjaniBilby Mar 28, 2023
110f060
~Corrected optimisation passes
AjaniBilby Mar 29, 2023
6a1fcb3
~Parse optimisation level
AjaniBilby Mar 29, 2023
0acb9f4
~Updated git action to llvm 15
AjaniBilby Mar 30, 2023
a2c0a4d
+added cache hit check
AjaniBilby Mar 30, 2023
319d658
Merge branch 'staging' into bootstrap
AjaniBilby Mar 30, 2023
85d73ed
+Better error logging
AjaniBilby May 17, 2023
304f7b1
~Fixed bad compilation
AjaniBilby May 17, 2023
f15fb4f
~Fixed not pulling target from config
AjaniBilby May 17, 2023
d89ad19
~Updated to using new C++ uvc-tools
AjaniBilby May 17, 2023
af92131
~Updated package's patch version
AjaniBilby May 17, 2023
23a02fb
~Simplified
AjaniBilby May 17, 2023
1ad9e66
-Removed duplicate information
AjaniBilby May 17, 2023
f6f3c7c
+Added build target support ARM;RISCV;
AjaniBilby May 17, 2023
56a92b5
~Fixed build target over selection
AjaniBilby May 17, 2023
b8c875d
~Updated action to match scripts
AjaniBilby May 17, 2023
e8a7f84
~Corrected syntax
AjaniBilby May 17, 2023
1c2d600
Update execution.yml
AjaniBilby May 17, 2023
1afb341
+ARM;RISCV build targets
AjaniBilby May 17, 2023
3fcb85d
Merge pull request #73 from qupa-project/bootstrap
AjaniBilby May 17, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 44 additions & 14 deletions .github/workflows/execution.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,60 @@ name: Execution

on:
push:
branches: [ main, dev, staging ]
branches: [ main, staging ]
pull_request:
branches: [ main, dev, staging ]
branches: [ main, staging ]
workflow_dispatch:
inputs:
reason:
description: Why did you manually run this?

jobs:
build:
build-linux:
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
timeout-minutes: 10

strategy:
matrix:
node-version: [ 14.x ]
steps:
- uses: actions/checkout@v3
- name: Setup Ninja
uses: ashutoshvarma/setup-ninja@master
with:
version: 1.10.0
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Cache LLVM and Clang
id: cache-llvm
uses: actions/cache@v3
with:
path: "./lib/install"
key: llvm-15.0
- name: "Install LLVM and Clang"
uses: KyleMayes/install-llvm-action@v1
with:
version: "15.0"
directory: "./lib/install"
cached: ${{ steps.cache-llvm.outputs.cache-hit }}
- name: Symlink libclang.so (Linux)
if: contains(matrix.os, 'ubuntu')
run: sudo ln -s libclang-15.so.1 /lib/x86_64-linux-gnu/libclang.so
working-directory: ${{ env.LLVM_PATH }}/lib
- run: npm install --ignore-scripts
- run: cmake . -B build -G Ninja
- run: cmake --build build
- run: npm run build:syntax
- run: node ./compiler/test.js --action

build-win:
if: ${{ false }} # disable for now
runs-on: windows-latest
timeout-minutes: 10

steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- run: npm install
- run: npm run build --if-present
- run: npm run test
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- run: npm install
- run: node ./compiler/test.js --action
13 changes: 11 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# CMake
CMakeFiles/*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

Expand All @@ -23,15 +26,21 @@ package-lock.json
# Build artifacts
install/
build/
.env


# Ignore uniview files
*.uv

# Ignore LLVM outputs
# Ignore Compilation outputs outputs
*.ll
*.bc
*.asm
*.s
*.bin
*.exe
*.app
*.out
*.out
*.o
*.lib
*.dll
6 changes: 6 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[submodule "lib/llvm"]
path = lib/llvm
url = https://github.com/llvm/llvm-project
ignore = dirty
branch = release/15.x
depth = 1
1 change: 1 addition & 0 deletions .vscode/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
c_cpp_properties.json
7 changes: 7 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"recommendations": [
"revng.llvm-ir",
"streetsidesoftware.code-spell-checker",
"qupa-project.uniview"
]
}
93 changes: 91 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,42 +2,131 @@
"files.associations": {
"*.qp": "qupa",
"*.effect": "hlsl",
"*.frm": "vb",
"*.inc": "asp",
"*.uv": "uniview",
"xstring": "cpp",
"algorithm": "cpp",
"any": "cpp",
"array": "cpp",
"atomic": "cpp",
"barrier": "cpp",
"bit": "cpp",
"bitset": "cpp",
"cctype": "cpp",
"cfenv": "cpp",
"charconv": "cpp",
"chrono": "cpp",
"cinttypes": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"codecvt": "cpp",
"compare": "cpp",
"complex": "cpp",
"concepts": "cpp",
"condition_variable": "cpp",
"coroutine": "cpp",
"csetjmp": "cpp",
"csignal": "cpp",
"cstdarg": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cuchar": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"deque": "cpp",
"exception": "cpp",
"execution": "cpp",
"filesystem": "cpp",
"format": "cpp",
"forward_list": "cpp",
"fstream": "cpp",
"functional": "cpp",
"future": "cpp",
"initializer_list": "cpp",
"iomanip": "cpp",
"ios": "cpp",
"iosfwd": "cpp",
"iostream": "cpp",
"istream": "cpp",
"iterator": "cpp",
"latch": "cpp",
"limits": "cpp",
"list": "cpp",
"locale": "cpp",
"map": "cpp",
"memory": "cpp",
"mutex": "cpp",
"new": "cpp",
"numbers": "cpp",
"numeric": "cpp",
"optional": "cpp",
"ostream": "cpp",
"queue": "cpp",
"random": "cpp",
"ranges": "cpp",
"ratio": "cpp",
"regex": "cpp",
"scoped_allocator": "cpp",
"semaphore": "cpp",
"set": "cpp",
"shared_mutex": "cpp",
"span": "cpp",
"sstream": "cpp",
"stack": "cpp",
"stdexcept": "cpp",
"stop_token": "cpp",
"streambuf": "cpp",
"string": "cpp",
"strstream": "cpp",
"system_error": "cpp",
"thread": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"typeindex": "cpp",
"typeinfo": "cpp",
"unordered_map": "cpp",
"unordered_set": "cpp",
"utility": "cpp",
"valarray": "cpp",
"variant": "cpp",
"vector": "cpp",
"xfacet": "cpp",
"xhash": "cpp",
"xiosbase": "cpp",
"xlocale": "cpp",
"xlocbuf": "cpp",
"xlocinfo": "cpp",
"xlocmes": "cpp",
"xlocmon": "cpp",
"xlocnum": "cpp",
"xloctime": "cpp",
"xmemory": "cpp",
"xstddef": "cpp",
"xtr1common": "cpp",
"xutility": "cpp"
}
"xtree": "cpp",
"xutility": "cpp",
"__bit_reference": "cpp",
"__bits": "cpp",
"__config": "cpp",
"__errc": "cpp",
"__hash_table": "cpp",
"__locale": "cpp",
"__mutex_base": "cpp",
"__node_handle": "cpp",
"__split_buffer": "cpp",
"__std_stream": "cpp",
"__threading_support": "cpp",
"__tuple": "cpp",
"__verbose_abort": "cpp",
"propagate_const": "cpp",
"string_view": "cpp",
"*.ipp": "cpp"
},
"editor.insertSpaces": false,
"files.eol": "\n"
}
39 changes: 39 additions & 0 deletions BUILD.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Building Uniview from source

## Requirements
* CMake >= 3.11
* git *used by cmake to get required submodules*
* A modern C/++ compiler, preferably Clang 12 or newer

First of all you need to build the LLVM source components that will be used by Uniview

## Dependency Setup
While in the root directory of the repository run either of these commands.
This will run a serise of CMake scripts which will:
1. Pull the require submodules
2. Set the require LLVM build parameters
3. Configure the LLVM build
4. Build the LLVM library
5. Install the library to the repository

### Windows
```bash
lib/install.bat
```

### Ubuntu
```bash
lib/install.bash
```

## Building the Project

Setup the build environment
```bash
cmake . -B build
```

Then to build at any time just run
```bash
cmake --build build
```
Loading