<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/cmake/LLVM.cmake, branch master</title>
<subtitle>Making it easier to work with shaders</subtitle>
<id>https://git.yummers.dev/slang.git/atom?h=master</id>
<link rel='self' href='https://git.yummers.dev/slang.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/'/>
<updated>2025-08-07T18:48:34+00:00</updated>
<entry>
<title>Update LLVM from 13.0.1 to 14.0.6 (#8031)</title>
<updated>2025-08-07T18:48:34+00:00</updated>
<author>
<name>Sam Estep</name>
<email>sam@samestep.com</email>
</author>
<published>2025-08-07T18:48:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=4721b6ef2dd4e1b39c85acc492f9c6af8898a34b'/>
<id>urn:sha1:4721b6ef2dd4e1b39c85acc492f9c6af8898a34b</id>
<content type='text'>
Full set of mutually exclusive choices for upgrading LLVM:

- #8031 (you are here)
- #8035
- #8036
- #8034
- #8038
- #8039
- #8033

Alternative to #8028. Required some minor changes due to these upstream
commits:

- llvm/llvm-project@e463b69736da8b0a950ecd937cf990401bdfcdeb
- llvm/llvm-project@89b57061f7b769e9ea9bf6ed686e284f3e55affe</content>
</entry>
<entry>
<title>export fewer things from module targets (#8089)</title>
<updated>2025-08-07T06:06:18+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2025-08-07T06:06:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=9e2685853033f4286feaf22d04a755a7395d95ce'/>
<id>urn:sha1:9e2685853033f4286feaf22d04a755a7395d95ce</id>
<content type='text'>
Closes https://github.com/shader-slang/slang/issues/7722 without adding
SONAME

```
e@light-hope in ~/work/slang on HEAD (68b0125) [nix-shell] [direnv]
$ nm -DC --defined-only build/Debug/lib/libslang-llvm.so
0000000001a4b637 T createLLVMDownstreamCompiler_V4
0000000001a427ed T createLLVMFileCheck_V1
0000000001a4b91e W std::type_info::operator==(std::type_info const&amp;) const
0000000001a4bb07 W std::_Sp_make_shared_tag::_S_ti()
0000000001059165 u std::ranges::_Cpo::iter_move
0000000005f92ac0 V typeinfo for std::_Sp_make_shared_tag
0000000005f92938 V vtable for std::_Sp_counted_base&lt;(__gnu_cxx::_Lock_policy)2&gt;

e@light-hope in ~/work/slang on HEAD (68b0125) [nix-shell] [direnv]
$ nm -DC --defined-only build/Debug/lib/libslang-glslang.so
00000000004701a2 T glslang_compile
000000000047012b T glslang_compile_1_1
000000000046ffd9 T glslang_compile_1_2
000000000046db75 T glslang_disassembleSPIRV
000000000046da42 T glslang_disassembleSPIRVWithResult
000000000047028b T glslang_linkSPIRV
000000000046d8fa T glslang_validateSPIRV

e@light-hope in ~/work/slang on HEAD (68b0125) [nix-shell] [direnv]
$ nm -DC --defined-only build/Debug/lib/libslang-glsl-module.so
0000000000135bf9 T slang_getEmbeddedModule
```

I think that the exports from libslang-llvm are unavoidable I believe,
however these are weak exports so should exhibit the same problem.

@NBickford-NV does this look good for you?</content>
</entry>
<entry>
<title>Update slang-rhi (#7303)</title>
<updated>2025-06-06T14:39:14+00:00</updated>
<author>
<name>Simon Kallweit</name>
<email>64953474+skallweitNV@users.noreply.github.com</email>
</author>
<published>2025-06-06T14:39:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=8abaec701f0637f082e081caa0dd4fa049a00430'/>
<id>urn:sha1:8abaec701f0637f082e081caa0dd4fa049a00430</id>
<content type='text'>
* update slang-rhi

* adapt to new slang-rhi API

* enable slang-rhi agility sdk

* fix handling empty list

* disable failing slang-rhi tests

* format code

* fix slang-rhi-tests ci step

* skip running slang-rhi-tests

---------

Co-authored-by: slangbot &lt;186143334+slangbot@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Remove duplicate call to install() for libslang (#5767)</title>
<updated>2024-12-05T09:45:24+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-12-05T09:45:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=072cb60bb63e9f3d1c42fa18adcebb77bb4aa6ae'/>
<id>urn:sha1:072cb60bb63e9f3d1c42fa18adcebb77bb4aa6ae</id>
<content type='text'>
Closes https://github.com/shader-slang/slang/issues/5764

Also mention other installed targets in cmake config</content>
</entry>
<entry>
<title>Correct include dir for libslang (#5539)</title>
<updated>2024-11-14T04:34:18+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-11-14T04:34:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=7b570feed42976a6e787d79a70aaf8e667745e58'/>
<id>urn:sha1:7b570feed42976a6e787d79a70aaf8e667745e58</id>
<content type='text'>
This stops adding the repo root to the include path for anything linking
with slang. This enabled a bunch of convenient includes, but might lead
to confusing behavior for anyone including slang. Not to mention
differences including it from an install vs source.

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>format cmake files (#5406)</title>
<updated>2024-10-29T02:15:21+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-10-29T02:15:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=657287e774c6d7f740bedbcbd9846de473dd1b18'/>
<id>urn:sha1:657287e774c6d7f740bedbcbd9846de473dd1b18</id>
<content type='text'>
* format cmake files

* format code

---------

Co-authored-by: slangbot &lt;186143334+slangbot@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>declutter top level CMakeLists.txt (#5391)</title>
<updated>2024-10-24T03:37:50+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-10-24T03:37:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=61aa670237e2d51f7144322bf56b8ce3633c2db9'/>
<id>urn:sha1:61aa670237e2d51f7144322bf56b8ce3633c2db9</id>
<content type='text'>
* Split examples cmake desc

* declutter top level CMakeLists.txt

* fail if building tests without gfx

* Move llvm fetching to another cmake file

* Further split CMakeLists.txt

* Neaten llvm fetching

* Remove last premake remnant

* correct cross builds

* Neaten

* Neaten project organization in vs</content>
</entry>
<entry>
<title>WIP: CMake (#3326)</title>
<updated>2023-12-08T11:24:34+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2023-12-08T11:24:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=4321929879c1ed5b87ff95a99ca7da91e28d18fd'/>
<id>urn:sha1:4321929879c1ed5b87ff95a99ca7da91e28d18fd</id>
<content type='text'>
* More robust input and output selection in generator tools

* Add cmake build system

* Get slang-test running with cmake

* Bump lz4 and miniz dependencies

* Make cmake build more declarative

* Correct preprocessor logic in slang.h

* Add cuda test to compute/simple

* Remove empty cmake files

* output placement for cmake, and commenting

* Correct include paths in spirv-embed-generator

* Format cmake with gersemi

* Make cmake build clerer

* Neaten header generation

Also work around https://gitlab.kitware.com/cmake/cmake/-/issues/18399
by introducing correct_generated_properties to set the GENERATED flag in
the correct scope

* remove unused files

* use 3.20 to set GENERATOR property properly

* spelling

* more flexible linker arg setting

* replace slang-static with obj collection

* Set rpath and linker path correctly

* neaten generated file generation

* tests working with cmake build

* fix premake5 build

* comment and neaten cmake

* remove unnecessary dependency

* Build aftermath example only when aftermath is enabled

* Add slang-llvm and other dependencies

* Put modules alongside binaries

* Find slang-glslang correctly

* Better option handling

* comments

* add llvm build test

* Better option handling

* cmake wobble

* use UNICODE and _UNICODE

* remove other workflows

* use ccache

* neaten

* limit parallel for llvm build

* use ninja for build

* Windows and Darwin slang-llvm builds

* cache key

* verbose llvm build

* cl on windows

* sccache and cl.exe

* use cl.exe

* Correct package detection

* less verbosity

* Simplify miniz inclusion

* fix build with sccache

* Neaten llvm building

* neaten

* Neaten slang-llvm fetching

* more surgical workarounds

* Add ci action

* Get version from git

* better variable naming

* add missing include

* clean up after premake in cmake

* more docs on cmake build

* ci wobble

* add imgui target

* more selective source

* do not download swiftshader

* Some missing dependencies

* only build llvm on dispatch

* Disable /Zi in CI where sccache is present

* simplify

* set PIC for miniz

* set policies before project

* reengage workaround

* more runs on ci

* Add cmake presets

* Add cpack

* move iterator debug level to preset

* Correct lib flag

* simplify action

* Neaten cmake init

* Add todo

* Add simple test wrapper

* Add tests to workflow presets

* rename packing preset

* Correctly set definitions

* docs

* correct preset names

* Make slang-test depend on test-server/test-process

* neaten

* use workflow in actions

* install docs

* Correct module install dir

* debug dist workflow

* Install headers

* neaten header globbing

* Neaten dependency handling

* make lib and bin variables

* Do not set compiler for vs builds, unnecessary

* docs

* allow setting explicit source for target

* maintain archive subdir

* cmake docs

* install headers

* place targets into folders

* cmake docs

* nest external projects in folder

* remove name clash

* Neater external packages

* meta targets in folder structure

* cleaner slang-glslang dll

* Add missing static directive to slang-no-embedded-stdlib

* more robust module copying

* make slang-test the startup project

* folder tweak

* Make FETCH_BINARY the default on all platforms

* Set DEBUG_DIR

* add natvis files to source

* skip spirv tests

* remove test step from debug dist

* Add build to .gitignore

* redo warnings to be more like premake

* Update imgui

* clean more premake files

* Disable PCH for glslang, gcc throws a warning

* Add /MP for msvc builds

* warning wobble

* Add script to build llvm

* Add slang-llvm and generators components

* Build slang-llvm in ci

* comments

* fetch llvm with git

* better abi approximation for cache

* better sccache key

* formatting

* Correct logic around disabling problematic debug info for ccache

* exclude gcc and clang from windows ci

* Make dist workflows use system llvm

* naming

* restore normal dist builds

* formatting

* run tests in ci

* Correct slang-llvm url setting

* Rely on the system to find the test tool library

* actions matrix wiggle

* cope with OSX ancient bash

* Correct compilers on windows

* more ci debugging

* Correct rpath handling on OSX

* neaten

* correct path to slang-llvm

* Correct rpath separator on osx

* Find slang-llvm correctly

* smoke tests only on osx

* ci wobble

* Give MacOS module a dylib suffix

* get swiftshader correctly

* cope with bsd cp

* remove debug output

* full tests on osx

* ci wobble

* Add some vk tests to expected failures

* simplify ci

* ci wobble

* exclude dx12 tests from github ci

* remove cmake code for building llvm

* warnings

* warnings as errors for cl

* spirv-tools in path

* add aarch64 ci build

* Add SLANG_GENERATORS_PATH option for prebuilt generators

* neaten

* Correct generator target name

* remove yaml anchors because github actions does not support them

* Demote CMake in docs

Also add info on cross compiling

* Restore premake CI

* use minimal ci for cmake

* Write miniz_export for premake build

and .gitignore it

* Mention build config tool options in docs

* Remove redefined macro for miniz

* regenerate vs project</content>
</entry>
</feed>
