Jelle
ba751a5c7d
Adjust some compiler options ( #1916 )
4 months ago
Jelle
d53dfedd5b
Update llvm build workflows ( #1906 )
...
* Add debug configurations to llvm workflows
* Update build scripts to build LLVM debug config
* Enable debug builds for all configurations
* Export/import clang/llvm natvis files
* Remove downloaded llvm archive after extracting it
* Fix broken DebugOpt build on linux
* Use checkout action instead of manual command
* Fix incorrect configuration mapping
* Fix working directory after checkout method update
* Remove working directory overrides
* Fix incorrect llvm package name fetching
4 months ago
Jelle
399dd38d33
Add natvis files for clang/llvm types ( #1903 )
...
Should probably get these from the llvm build, but they are not included currently.
5 months ago
Jelle
c6018b88db
Add additional debug configuration for a better debugging experience + CI update ( #1893 )
...
* Add additional debug configuration
I've added the DebugOpt config for a better debugging experience.
This version enables some optimizations and uses `_ITERATOR_DEBUG_LEVEL=0` to remove many of the slowdowns of traditional debugging while still keeping the debuggability of the app intact.
It uses the release versions of llvm and crt.
* Enable native debugging when running *.Gen test projects from vs2022
* Move msvc specific define to msc toolset filter
* Update CI to build all configurations
* Ignore crashing unit test in debug builds
* Attempt to fix upload-artifact CI step
* Use msclr string marshallers
* Fix two bugs in Driver.cs
* Update parser bindings
* Add debug mode parser bindings
* Disable CI test step in windows debug
5 months ago
João Matos
166e45e9af
Simplify build output directory to not contain the architecture. ( #1869 )
10 months ago
João Matos
bf03942a92
Auto-detect .NET target framework to use in `build.sh` ( #1864 )
...
* Auto-detect .NET target framework to use in `build.sh`.
* Remove some unused build code and files.
10 months ago
Conrad Kreyling
a81abd5614
LLVM crosscompile x64 for ARM64 ( #1826 )
...
* LLVM crosscompile x64 for ARM64
* Fix MacOS host platform test
* Ensure options is persistent in cross compile paths
1 year ago
Conrad Kreyling
bbb0693ef5
Enable ARM64 support on LLVM builds
1 year ago
Joao Matos
7cddce6ad7
Default to .NET 5.0 if building for VS2019 or under.
2 years ago
João Matos
0e1e46836d
Update to Clang 16 for MSVC 2022 support ( #1724 )
...
* support clang 15.0.7
* Fix Premake archive logic to work with official releases.
* Try and upgrade CI to latest OS versions.
* Try and fix LLD link call in parser.
* CI fixes.
* Enable VS 2019 and VS 2022 for LLVM windows workflow.
* Update to a more recent LLVM revision.
* More build fixes.
* Use the system linker for linking symbols libraries outside Windows.
Builtin lld is giving some weird linking errors when linking with the
new LLVM version. We probably need to set some custom options. Using the
system linker should be a better idea anyway, more robust and future
proof.
---------
Co-authored-by: you74674 <you74674@gmail.com>
2 years ago
Joao Matos
25e2c7c0aa
Workaround Directory.Build.props getting picked up when building LLVM.
...
This is to workaround MSBuild CMake step from LLVM build in Windows
picking this up.
2 years ago
Joao Matos
b8a16a45b1
Update LLVM build script for Visual Studio 2022.
2 years ago
Joao Matos
84b7276114
Remove unused LLVM build flags.
2 years ago
João Matos
8cf6e3f280
Allow passing a `-target-framework` option to `build.sh` ( #1718 )
...
Closes https://github.com/mono/CppSharp/issues/1717 .
2 years ago
João Matos
4417dd987a
Code cleanups and improvements ( #1713 )
...
* Code cleanups.
* Run GetterSetterToPropertyPass for more generators.
* Fixed compile warning when compiling parser bindings.
* Cleanup driver code.
* Remove dead 32-bit code.
* Reduce verbosity when Options.Quiet is set.
* Remove test compile-time warnings.
* Move .NET tests to tests/dotnet.
* Remove unused AST viewer code and premake-qt submodule.
* Move tests2/ contents to tests/.
2 years ago
João Matos
db7949b263
Misc changes ( #1710 )
...
* Minor code refactoring for re-use.
* Add Class.FindVariable helper method.
* Upgrade to .NET 6.
2 years ago
josetr
d5c712643c
Generate nuget package for CppSharp.Runtime ( #1574 )
3 years ago
Dimitar Dobrev
b3d32d8c71
Update LLVM to a newer version
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
4 years ago
Dimitar Dobrev
dddd5da0e6
Update LLVM to the latest version
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
4 years ago
Dimitar Dobrev
d9394cd5df
Auto-link generated C++ with the new LLD Mach-O
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
4 years ago
Dimitar Dobrev
bde15287c5
Update LLVM and drop building its needless tools
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
4 years ago
Dimitar Dobrev
7734beca95
Fix formatting of the list of excluded LLVM tools
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
4 years ago
Dimitar Dobrev
3aab30f572
Add built-in compilation of extra symbols
...
Fixes https://github.com/mono/CppSharp/issues/1456 and https://github.com/mono/CppSharp/issues/1253 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
4 years ago
Dimitar Dobrev
5c8e598775
Delete the longer needed patching of msvc headers
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
4 years ago
Dimitar Dobrev
34b08efec6
Update LLVM to the latest version
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
4 years ago
Dimitar Dobrev
0ff9e14226
Update LLVM to the latest version
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
4 years ago
josetr
06f1cd578a
Add missing quotes to support paths with spaces in build scripts
4 years ago
Dimitar Dobrev
c38556a93b
Make auto-compiling of C# work with .NET Core
...
CodeDom doesn't work in .NET Core (https://github.com/dotnet/runtime/issues/18768 ) and Roslyn turns out to be too low level (just a compiler and not a building framework) so the best approach is to invoke msbuild as a process.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
SnGmng
5041fa328f
Update intrin.ps1
5 years ago
josetr
62e9119c63
Create a single nuget package that supports windows / linux / macos
5 years ago
Dimitar Dobrev
3a50a54fa4
Place all output of tests in their own directories
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
josetr
0b69eb8655
Use C++17 in all native projects
5 years ago
Joao Matos
617517fe14
Add initial Node and N-API testing infrastructure and tests.
5 years ago
josetr
d9e738f851
Add workflow files to workspace
5 years ago
josetr
02b50fcfa4
Disable msbuild logo
5 years ago
josetr
1926e69435
Only use premake for native projects and improve c# projects.
5 years ago
Dimitar Dobrev
1c7cfaeaaf
Don't warn repeatedly about an existing LLVM dir
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
48ab973db6
Don't download LLVM if its destination exists
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
josetr
bdf055fe6c
Take advantage of .NET Core transitive dependencies
5 years ago
josetr
98f40dc1cd
Fix naive version comparison
5 years ago
josetr
64f237db0f
Fix GCC version detection
5 years ago
josetr
8de5e1a2ae
Move all LLVM files to /build/llvm
5 years ago
josetr
1fec063bb3
Remove secondary Zstandard compression from LLVM packages
5 years ago
josetr
b455772f40
Show a message explaining how to build LLVM when a pre-built package is unavailable.
5 years ago
josetr
53073ca2f8
Fix wrong LLVM package name when GCC version is >= 10
5 years ago
josetr
9f4ea1f38c
Add LLVM commands to build.sh
5 years ago
Joao Matos
83e3874670
Add install_tools target to build.sh and fix LLVM CI.
5 years ago
josetr
e16966b3c4
Move generated .vcxproj files back to their original place
5 years ago
josetr
b7b96d31e0
Add missing `-configuration` option to build.sh script
5 years ago
josetr
0a9215b7f3
Include timestamp.cs file in project to ensure bindings are always up to date
5 years ago