yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Ellie Hermaszewskaexport fewer things from module targets (#8089)9e2685853

master
1.1 KiB37 linesraw
1#
2# Generate an embeddable glsl module
3#
4
5# This header is generated in the same call to slang-bootstrap that generates
6# the core module embed, which can be found in
7# ../slang-core-module/CMakeLists.txt
8# The target to look for is generate_core_module_headers
9
10# CMake doesn't allow creating an implicit dependency across directory scopes,
11# see https://cmake.org/cmake/help/v3.31/prop_sf/GENERATED.html. Because of
12# this we add the explicit REQUIRES
13slang_add_target(
14    .
15    MODULE
16    FOLDER generated
17    LINK_WITH_PRIVATE core
18    USE_EXTRA_WARNINGS
19    EXPLICIT_SOURCE
20        ./slang-embedded-glsl-module.cpp
21        ${glsl_module_generated_header}
22    REQUIRES generate_core_module_headers
23    EXCLUDE_FROM_ALL
24    EXTRA_COMPILE_DEFINITIONS_PRIVATE SLANG_SHARED_LIBRARY_TOOL
25    EXPORT_SET_NAME SlangTargets
26    INCLUDE_DIRECTORIES_PRIVATE ${glsl_module_generated_header_dir}
27    INSTALL
28)
29set_target_properties(
30    slang-glsl-module
31    PROPERTIES CXX_VISIBILITY_PRESET hidden VISIBILITY_INLINES_HIDDEN ON
32)
33add_supported_cxx_linker_flags(
34    slang-glsl-module
35    PRIVATE
36    "-Wl,--exclude-libs,ALL"
37)