@@ -27,13 +27,32 @@ if(NOT SLANG_ENABLE_EXTERNAL_COMPILER_WARNINGS)
27
27
endif ()
28
28
endif ()
29
29
30
+ # Unordered dense
30
31
if (NOT ${SLANG_USE_SYSTEM_UNORDERED_DENSE} )
31
- add_subdirectory (unordered_dense EXCLUDE_FROM_ALL ${system} )
32
+ if (NOT SLANG_OVERRIDE_UNORDERED_DENSE_PATH)
33
+ add_subdirectory (unordered_dense EXCLUDE_FROM_ALL ${system} )
34
+ else ()
35
+ add_subdirectory (
36
+ ${SLANG_OVERRIDE_UNORDERED_DENSE_PATH}
37
+ unordered_dense
38
+ EXCLUDE_FROM_ALL
39
+ ${system}
40
+ )
41
+ endif ()
32
42
endif ()
33
43
34
44
# Miniz
35
45
if (NOT ${SLANG_USE_SYSTEM_MINIZ} )
36
- add_subdirectory (miniz EXCLUDE_FROM_ALL ${system} )
46
+ if (NOT SLANG_OVERRIDE_MINIZ_PATH)
47
+ add_subdirectory (miniz EXCLUDE_FROM_ALL ${system} )
48
+ else ()
49
+ add_subdirectory (
50
+ ${SLANG_OVERRIDE_MINIZ_PATH}
51
+ miniz
52
+ EXCLUDE_FROM_ALL
53
+ ${system}
54
+ )
55
+ endif ()
37
56
set_property (TARGET miniz PROPERTY POSITION_INDEPENDENT_CODE ON )
38
57
# Work around https://github.com/richgel999/miniz/pull/292
39
58
get_target_property (miniz_c_launcher miniz C_COMPILER_LAUNCHER)
@@ -46,7 +65,16 @@ endif()
46
65
# LZ4
47
66
if (NOT ${SLANG_USE_SYSTEM_LZ4} )
48
67
set (LZ4_BUNDLED_MODE ON )
49
- add_subdirectory (lz4/build /cmake EXCLUDE_FROM_ALL ${system} )
68
+ if (NOT SLANG_OVERRIDE_LZ4_PATH)
69
+ add_subdirectory (lz4/build /cmake EXCLUDE_FROM_ALL ${system} )
70
+ else ()
71
+ add_subdirectory (
72
+ ${SLANG_OVERRIDE_LZ4_PATH} /build /cmake
73
+ lz4/build /cmake
74
+ EXCLUDE_FROM_ALL
75
+ ${system}
76
+ )
77
+ endif ()
50
78
if (MSVC )
51
79
target_compile_options (
52
80
lz4_static
@@ -57,7 +85,16 @@ endif()
57
85
58
86
# Vulkan headers
59
87
if (NOT ${SLANG_USE_SYSTEM_VULKAN_HEADERS} )
60
- add_subdirectory (vulkan EXCLUDE_FROM_ALL ${system} )
88
+ if (NOT SLANG_OVERRIDE_VULKAN_HEADERS_PATH)
89
+ add_subdirectory (vulkan EXCLUDE_FROM_ALL ${system} )
90
+ else ()
91
+ add_subdirectory (
92
+ ${SLANG_OVERRIDE_VULKAN_HEADERS_PATH}
93
+ vulkan
94
+ EXCLUDE_FROM_ALL
95
+ ${system}
96
+ )
97
+ endif ()
61
98
endif ()
62
99
63
100
# metal-cpp headers
@@ -69,22 +106,55 @@ target_include_directories(
69
106
70
107
# SPIRV-Headers
71
108
if (NOT ${SLANG_USE_SYSTEM_SPIRV_HEADERS} )
72
- add_subdirectory (spirv-headers EXCLUDE_FROM_ALL ${system} )
109
+ if (NOT SLANG_OVERRIDE_SPIRV_HEADERS_PATH)
110
+ add_subdirectory (spirv-headers EXCLUDE_FROM_ALL ${system} )
111
+ else ()
112
+ add_subdirectory (
113
+ ${SLANG_OVERRIDE_SPIRV_HEADERS_PATH}
114
+ spirv-headers
115
+ EXCLUDE_FROM_ALL
116
+ ${system}
117
+ )
118
+ endif ()
73
119
endif ()
74
120
75
121
if (SLANG_ENABLE_SLANG_GLSLANG)
76
122
# SPIRV-Tools
77
123
set (SPIRV_TOOLS_BUILD_STATIC ON )
78
124
set (SPIRV_WERROR OFF )
79
- set (SPIRV_HEADER_DIR "${CMAKE_CURRENT_LIST_DIR} /spirv-headers/" )
125
+ # Headers
126
+ if (NOT SLANG_OVERRIDE_SPIRV_HEADERS_PATH)
127
+ set (SPIRV_HEADER_DIR "${CMAKE_CURRENT_LIST_DIR} /spirv-headers/" )
128
+ else ()
129
+ set (SPIRV_HEADER_DIR ${SLANG_OVERRIDE_SPIRV_HEADERS_PATH} )
130
+ endif ()
80
131
set (SPIRV_SKIP_TESTS ON )
81
- add_subdirectory (spirv-tools EXCLUDE_FROM_ALL ${system} )
132
+ # Tools
133
+ if (NOT SLANG_OVERRIDE_SPIRV_TOOLS_PATH)
134
+ add_subdirectory (spirv-tools EXCLUDE_FROM_ALL ${system} )
135
+ else ()
136
+ add_subdirectory (
137
+ ${SLANG_OVERRIDE_SPIRV_TOOLS_PATH}
138
+ spirv-tools
139
+ EXCLUDE_FROM_ALL
140
+ ${system}
141
+ )
142
+ endif ()
82
143
83
144
# glslang
84
145
set (SKIP_GLSLANG_INSTALL ON )
85
146
set (ENABLE_OPT ON )
86
147
set (ENABLE_PCH OFF )
87
- add_subdirectory (glslang EXCLUDE_FROM_ALL ${system} )
148
+ if (NOT SLANG_OVERRIDE_GLSLANG_PATH)
149
+ add_subdirectory (glslang EXCLUDE_FROM_ALL ${system} )
150
+ else ()
151
+ add_subdirectory (
152
+ ${SLANG_OVERRIDE_GLSLANG_PATH}
153
+ glslang
154
+ EXCLUDE_FROM_ALL
155
+ ${system}
156
+ )
157
+ endif ()
88
158
endif ()
89
159
90
160
# imgui
0 commit comments