{"id":18840289,"url":"https://github.com/ikvmnet/ikvm-clang","last_synced_at":"2026-05-29T06:01:17.662Z","repository":{"id":164575573,"uuid":"639667817","full_name":"ikvmnet/ikvm-clang","owner":"ikvmnet","description":"Tools for building applications with Clang","archived":false,"fork":false,"pushed_at":"2026-05-29T00:02:37.000Z","size":191,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-29T00:10:46.797Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ikvmnet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-05-12T00:50:27.000Z","updated_at":"2026-05-29T00:02:42.000Z","dependencies_parsed_at":"2026-03-06T06:08:33.968Z","dependency_job_id":null,"html_url":"https://github.com/ikvmnet/ikvm-clang","commit_stats":null,"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/ikvmnet/ikvm-clang","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikvmnet%2Fikvm-clang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikvmnet%2Fikvm-clang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikvmnet%2Fikvm-clang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikvmnet%2Fikvm-clang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ikvmnet","download_url":"https://codeload.github.com/ikvmnet/ikvm-clang/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikvmnet%2Fikvm-clang/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33639055,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T02:47:04.893Z","updated_at":"2026-05-29T06:01:17.636Z","avatar_url":"https://github.com/ikvmnet.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IKVM.Clang\n\n**MSBuild SDK and Visual Studio extension for building native projects with the Clang compiler.**\n\n[![NuGet](https://img.shields.io/nuget/v/IKVM.Clang.Sdk.svg)](https://www.nuget.org/packages/IKVM.Clang.Sdk)\n[![Visual Studio Marketplace](https://img.shields.io/visual-studio-marketplace/v/IKVM.IKVM.Clang)](https://marketplace.visualstudio.com/items?itemName=IKVM.IKVM.Clang)\n[![GitHub license](https://img.shields.io/github/license/ikvmnet/ikvm-clang)](LICENSE)\n\n---\n\n## Overview\n\nIKVM.Clang provides two components:\n\n| Component | Description |\n|-----------|-------------|\n| **`IKVM.Clang.Sdk`** | MSBuild SDK that drives `clang` / `llvm-ar` to compile C, C++, Objective-C, and assembly source files into executables, shared libraries, or static libraries. Works on Windows, Linux, and macOS from the command line or CI. |\n| **IKVM.Clang VSIX** | Visual Studio extension that integrates the SDK with the IDE: CPS-based project system, Solution Explorer icons, syntax highlighting for C/C++/Objective-C/Assembly, and property pages. |\n\n---\n\n## Requirements\n\n- [LLVM / Clang](https://releases.llvm.org/) installed and `clang` / `llvm-ar` on `PATH` (or configured via MSBuild properties)\n- .NET SDK (for MSBuild) — .NET 6 or later recommended\n- Visual Studio 2022 17.0+ (for the VSIX extension, optional)\n\n---\n\n## Getting Started\n\n### 1 — Install the Visual Studio Extension (optional)\n\nIf you are using Visual Studio, install the **IKVM.Clang** extension from the Visual Studio Marketplace. When you open a project that uses `IKVM.Clang.Sdk`, Visual Studio will offer to install the extension automatically if it is not already present.\n\n### 2 — Create a project\n\nAdd the SDK to your project file (`.clangproj` or any MSBuild project extension):\n\n```xml\n\u003cProject\u003e\n    \u003cImport Project=\"Sdk.props\" Sdk=\"IKVM.Clang.Sdk\" /\u003e\n\n    \u003cPropertyGroup\u003e\n        \u003c!-- LLVM target triple --\u003e\n        \u003cTargetIdentifiers\u003ex86_64-pc-windows-msvc\u003c/TargetIdentifiers\u003e\n        \u003c!-- exe | dll | lib --\u003e\n        \u003cOutputType\u003eexe\u003c/OutputType\u003e\n    \u003c/PropertyGroup\u003e\n\n    \u003cItemGroup\u003e\n        \u003cCompile Include=\"src\\*.c\" /\u003e\n    \u003c/ItemGroup\u003e\n\n    \u003cImport Project=\"Sdk.targets\" Sdk=\"IKVM.Clang.Sdk\" /\u003e\n\u003c/Project\u003e\n```\n\n### 3 — Build\n\n```shell\ndotnet build\n```\n\nor from Visual Studio: **Build → Build Solution**.\n\n---\n\n## Supported Source File Types\n\n| Item Type | Extensions |\n|-----------|------------|\n| C source | `.c` |\n| C++ source | `.cpp` `.cc` `.cxx` `.c++` `.cppm` `.ixx` |\n| C/C++ header | `.h` `.hpp` `.hh` `.hxx` `.h++` `.ipp` |\n| Objective-C / Objective-C++ | `.m` `.mm` |\n| Assembly | `.s` `.asm` |\n\n---\n\n## Output Types\n\n| `OutputType` | Description | Output |\n|---|---|---|\n| `exe` | Executable | `.exe` / *(no extension)* / `.wasm` |\n| `dll` | Shared library | `.dll` / `.so` / `.dylib` |\n| `lib` | Static library | `.lib` / `.a` |\n\n---\n\n## Key MSBuild Properties\n\n| Property | Default | Description |\n|----------|---------|-------------|\n| `TargetIdentifiers` | *(required)* | Semicolon-separated LLVM target triples, e.g. `x86_64-pc-windows-msvc` |\n| `OutputType` | `dll` | Output kind: `exe`, `dll`, or `lib` |\n| `ClangToolExe` | `clang` / `clang.exe` | Path or name of the Clang executable |\n| `LlvmArToolExe` | `llvm-ar` / `llvm-ar.exe` | Path or name of the LLVM archiver |\n| `DebugSymbols` | `true` in Debug | Emit debug symbols |\n| `UseLd` | `lld` | Linker driver (`lld`, `bfd`, `gold`, etc.) |\n\n---\n\n## Repository Structure\n\n```\nsrc/\n  IKVM.Clang.Sdk/           MSBuild SDK package (targets, props, CPS rules)\n  IKVM.Clang.Sdk.Tasks/     Custom MSBuild tasks\n  IKVM.Clang.Vsix/          Visual Studio extension (VSIX)\nsamples/\n  IKVM.Clang.Sample1/       Minimal C project example\n```\n\n---\n\n## Contributing\n\nPull requests are welcome. Please open an issue first to discuss significant changes.\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fikvmnet%2Fikvm-clang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fikvmnet%2Fikvm-clang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fikvmnet%2Fikvm-clang/lists"}