xref: /aosp_15_r20/external/swiftshader/src/Vulkan/CMakeLists.txt (revision 03ce13f70fcc45d86ee91b7ee4cab1936a95046e)
1*03ce13f7SAndroid Build Coastguard Worker# Copyright 2020 The SwiftShader Authors. All Rights Reserved.
2*03ce13f7SAndroid Build Coastguard Worker#
3*03ce13f7SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*03ce13f7SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*03ce13f7SAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*03ce13f7SAndroid Build Coastguard Worker#
7*03ce13f7SAndroid Build Coastguard Worker#    http://www.apache.org/licenses/LICENSE-2.0
8*03ce13f7SAndroid Build Coastguard Worker#
9*03ce13f7SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*03ce13f7SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*03ce13f7SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*03ce13f7SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*03ce13f7SAndroid Build Coastguard Worker# limitations under the License.
14*03ce13f7SAndroid Build Coastguard Worker
15*03ce13f7SAndroid Build Coastguard Workerset(ROOT_PROJECT_COMPILE_OPTIONS
16*03ce13f7SAndroid Build Coastguard Worker    ${SWIFTSHADER_COMPILE_OPTIONS}
17*03ce13f7SAndroid Build Coastguard Worker    ${WARNINGS_AS_ERRORS}
18*03ce13f7SAndroid Build Coastguard Worker)
19*03ce13f7SAndroid Build Coastguard Worker
20*03ce13f7SAndroid Build Coastguard Workerset(VULKAN_SRC_FILES
21*03ce13f7SAndroid Build Coastguard Worker    libVulkan.cpp
22*03ce13f7SAndroid Build Coastguard Worker    main.cpp
23*03ce13f7SAndroid Build Coastguard Worker    resource.h
24*03ce13f7SAndroid Build Coastguard Worker    Version.hpp
25*03ce13f7SAndroid Build Coastguard Worker    VkBuffer.cpp
26*03ce13f7SAndroid Build Coastguard Worker    VkBuffer.hpp
27*03ce13f7SAndroid Build Coastguard Worker    VkBufferView.cpp
28*03ce13f7SAndroid Build Coastguard Worker    VkBufferView.hpp
29*03ce13f7SAndroid Build Coastguard Worker    VkCommandBuffer.cpp
30*03ce13f7SAndroid Build Coastguard Worker    VkCommandBuffer.hpp
31*03ce13f7SAndroid Build Coastguard Worker    VkCommandPool.cpp
32*03ce13f7SAndroid Build Coastguard Worker    VkCommandPool.hpp
33*03ce13f7SAndroid Build Coastguard Worker    VkConfig.hpp
34*03ce13f7SAndroid Build Coastguard Worker    VkDebugUtilsMessenger.cpp
35*03ce13f7SAndroid Build Coastguard Worker    VkDebugUtilsMessenger.hpp
36*03ce13f7SAndroid Build Coastguard Worker    VkDescriptorPool.cpp
37*03ce13f7SAndroid Build Coastguard Worker    VkDescriptorPool.hpp
38*03ce13f7SAndroid Build Coastguard Worker    VkDescriptorSet.cpp
39*03ce13f7SAndroid Build Coastguard Worker    VkDescriptorSet.hpp
40*03ce13f7SAndroid Build Coastguard Worker    VkDescriptorSetLayout.cpp
41*03ce13f7SAndroid Build Coastguard Worker    VkDescriptorSetLayout.hpp
42*03ce13f7SAndroid Build Coastguard Worker    VkDescriptorUpdateTemplate.cpp
43*03ce13f7SAndroid Build Coastguard Worker    VkDescriptorUpdateTemplate.hpp
44*03ce13f7SAndroid Build Coastguard Worker    VkDestroy.hpp
45*03ce13f7SAndroid Build Coastguard Worker    VkDevice.cpp
46*03ce13f7SAndroid Build Coastguard Worker    VkDevice.hpp
47*03ce13f7SAndroid Build Coastguard Worker    VkDeviceMemory.cpp
48*03ce13f7SAndroid Build Coastguard Worker    VkDeviceMemory.hpp
49*03ce13f7SAndroid Build Coastguard Worker    VkDeviceMemoryExternalHost.cpp
50*03ce13f7SAndroid Build Coastguard Worker    VkDeviceMemoryExternalHost.hpp
51*03ce13f7SAndroid Build Coastguard Worker    VkDeviceMemoryExternalLinux.hpp
52*03ce13f7SAndroid Build Coastguard Worker    VkEvent.hpp
53*03ce13f7SAndroid Build Coastguard Worker    VkFence.hpp
54*03ce13f7SAndroid Build Coastguard Worker    VkFormat.cpp
55*03ce13f7SAndroid Build Coastguard Worker    VkFormat.hpp
56*03ce13f7SAndroid Build Coastguard Worker    VkFramebuffer.cpp
57*03ce13f7SAndroid Build Coastguard Worker    VkFramebuffer.hpp
58*03ce13f7SAndroid Build Coastguard Worker    VkGetProcAddress.cpp
59*03ce13f7SAndroid Build Coastguard Worker    VkGetProcAddress.hpp
60*03ce13f7SAndroid Build Coastguard Worker    VkImage.cpp
61*03ce13f7SAndroid Build Coastguard Worker    VkImage.hpp
62*03ce13f7SAndroid Build Coastguard Worker    VkImageView.cpp
63*03ce13f7SAndroid Build Coastguard Worker    VkImageView.hpp
64*03ce13f7SAndroid Build Coastguard Worker    VkInstance.cpp
65*03ce13f7SAndroid Build Coastguard Worker    VkInstance.hpp
66*03ce13f7SAndroid Build Coastguard Worker    VkMemory.cpp
67*03ce13f7SAndroid Build Coastguard Worker    VkMemory.hpp
68*03ce13f7SAndroid Build Coastguard Worker    VkObject.hpp
69*03ce13f7SAndroid Build Coastguard Worker    VkPhysicalDevice.cpp
70*03ce13f7SAndroid Build Coastguard Worker    VkPhysicalDevice.hpp
71*03ce13f7SAndroid Build Coastguard Worker    VkPipeline.cpp
72*03ce13f7SAndroid Build Coastguard Worker    VkPipeline.hpp
73*03ce13f7SAndroid Build Coastguard Worker    VkPipelineCache.cpp
74*03ce13f7SAndroid Build Coastguard Worker    VkPipelineCache.hpp
75*03ce13f7SAndroid Build Coastguard Worker    VkPrivateData.hpp
76*03ce13f7SAndroid Build Coastguard Worker    VkSpecializationInfo.cpp
77*03ce13f7SAndroid Build Coastguard Worker    VkSpecializationInfo.hpp
78*03ce13f7SAndroid Build Coastguard Worker    VkPipelineLayout.cpp
79*03ce13f7SAndroid Build Coastguard Worker    VkPipelineLayout.hpp
80*03ce13f7SAndroid Build Coastguard Worker    VkPromotedExtensions.cpp
81*03ce13f7SAndroid Build Coastguard Worker    VkQueryPool.cpp
82*03ce13f7SAndroid Build Coastguard Worker    VkQueryPool.hpp
83*03ce13f7SAndroid Build Coastguard Worker    VkQueue.cpp
84*03ce13f7SAndroid Build Coastguard Worker    VkQueue.hpp
85*03ce13f7SAndroid Build Coastguard Worker    VkRenderPass.cpp
86*03ce13f7SAndroid Build Coastguard Worker    VkRenderPass.hpp
87*03ce13f7SAndroid Build Coastguard Worker    VkSampler.cpp
88*03ce13f7SAndroid Build Coastguard Worker    VkSampler.hpp
89*03ce13f7SAndroid Build Coastguard Worker    VkSemaphore.cpp
90*03ce13f7SAndroid Build Coastguard Worker    VkSemaphore.hpp
91*03ce13f7SAndroid Build Coastguard Worker    VkSemaphoreExternalFuchsia.hpp
92*03ce13f7SAndroid Build Coastguard Worker    VkSemaphoreExternalLinux.hpp
93*03ce13f7SAndroid Build Coastguard Worker    VkShaderModule.cpp
94*03ce13f7SAndroid Build Coastguard Worker    VkShaderModule.hpp
95*03ce13f7SAndroid Build Coastguard Worker    VkStringify.cpp
96*03ce13f7SAndroid Build Coastguard Worker    VkStringify.hpp
97*03ce13f7SAndroid Build Coastguard Worker    VkStructConversion.hpp
98*03ce13f7SAndroid Build Coastguard Worker    VkTimelineSemaphore.cpp
99*03ce13f7SAndroid Build Coastguard Worker    VkTimelineSemaphore.hpp
100*03ce13f7SAndroid Build Coastguard Worker    VulkanPlatform.hpp
101*03ce13f7SAndroid Build Coastguard Worker)
102*03ce13f7SAndroid Build Coastguard Worker
103*03ce13f7SAndroid Build Coastguard Workerif(WIN32)
104*03ce13f7SAndroid Build Coastguard Worker    list(APPEND VULKAN_SRC_FILES
105*03ce13f7SAndroid Build Coastguard Worker        Vulkan.rc
106*03ce13f7SAndroid Build Coastguard Worker    )
107*03ce13f7SAndroid Build Coastguard Workerendif()
108*03ce13f7SAndroid Build Coastguard Worker
109*03ce13f7SAndroid Build Coastguard Workerif(SWIFTSHADER_ENABLE_VULKAN_DEBUGGER)
110*03ce13f7SAndroid Build Coastguard Worker    list(APPEND VULKAN_SRC_FILES
111*03ce13f7SAndroid Build Coastguard Worker        Debug/Context.cpp
112*03ce13f7SAndroid Build Coastguard Worker        Debug/Context.hpp
113*03ce13f7SAndroid Build Coastguard Worker        Debug/Debug.cpp
114*03ce13f7SAndroid Build Coastguard Worker        Debug/EventListener.cpp
115*03ce13f7SAndroid Build Coastguard Worker        Debug/EventListener.hpp
116*03ce13f7SAndroid Build Coastguard Worker        Debug/File.cpp
117*03ce13f7SAndroid Build Coastguard Worker        Debug/File.hpp
118*03ce13f7SAndroid Build Coastguard Worker        Debug/ID.hpp
119*03ce13f7SAndroid Build Coastguard Worker        Debug/Location.hpp
120*03ce13f7SAndroid Build Coastguard Worker        Debug/Server.cpp
121*03ce13f7SAndroid Build Coastguard Worker        Debug/Server.hpp
122*03ce13f7SAndroid Build Coastguard Worker        Debug/Thread.cpp
123*03ce13f7SAndroid Build Coastguard Worker        Debug/Thread.hpp
124*03ce13f7SAndroid Build Coastguard Worker        Debug/TypeOf.cpp
125*03ce13f7SAndroid Build Coastguard Worker        Debug/TypeOf.hpp
126*03ce13f7SAndroid Build Coastguard Worker        Debug/Value.cpp
127*03ce13f7SAndroid Build Coastguard Worker        Debug/Value.hpp
128*03ce13f7SAndroid Build Coastguard Worker        Debug/Variable.cpp
129*03ce13f7SAndroid Build Coastguard Worker        Debug/Variable.hpp
130*03ce13f7SAndroid Build Coastguard Worker        Debug/WeakMap.hpp
131*03ce13f7SAndroid Build Coastguard Worker    )
132*03ce13f7SAndroid Build Coastguard Workerendif()
133*03ce13f7SAndroid Build Coastguard Worker
134*03ce13f7SAndroid Build Coastguard Workerset(VULKAN_COMPILE_OPTIONS "")
135*03ce13f7SAndroid Build Coastguard Workerif(FUCHSIA)
136*03ce13f7SAndroid Build Coastguard Worker    # At the moment, the Fuchsia build uses unofficial VK_STRUCTURE_TYPE_XX
137*03ce13f7SAndroid Build Coastguard Worker    # constants that are defined as macros in <vulkan/fuchsia_extras.h>. When
138*03ce13f7SAndroid Build Coastguard Worker    # these appear in switch() cases, the compiler complains that the values
139*03ce13f7SAndroid Build Coastguard Worker    # are not part of the VkStructureType enum. Silence this warning, until
140*03ce13f7SAndroid Build Coastguard Worker    # the constants are upstreamed to the official Vulkan headers.
141*03ce13f7SAndroid Build Coastguard Worker    list(APPEND VULKAN_COMPILE_OPTIONS "-Wno-switch")
142*03ce13f7SAndroid Build Coastguard Workerendif()
143*03ce13f7SAndroid Build Coastguard Workerif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
144*03ce13f7SAndroid Build Coastguard Worker    list(APPEND VULKAN_COMPILE_OPTIONS
145*03ce13f7SAndroid Build Coastguard Worker        # TODO(b/208256248): Avoid exit-time destructor.
146*03ce13f7SAndroid Build Coastguard Worker        #"-Wexit-time-destructors"  # declaration requires an exit-time destructor
147*03ce13f7SAndroid Build Coastguard Worker    )
148*03ce13f7SAndroid Build Coastguard Workerendif()
149*03ce13f7SAndroid Build Coastguard Worker
150*03ce13f7SAndroid Build Coastguard Workerset(VULKAN_LINKER_FLAGS "")
151*03ce13f7SAndroid Build Coastguard Workerif(FUCHSIA)
152*03ce13f7SAndroid Build Coastguard Worker    # On Fuchsia, the Vulkan ICD is loaded into a process sandbox that doesn't
153*03ce13f7SAndroid Build Coastguard Worker    # have system libraries available, so ensure it does not depend on libc++.so.
154*03ce13f7SAndroid Build Coastguard Worker    list(APPEND VULKAN_LINKER_FLAGS "-static-libstdc++")
155*03ce13f7SAndroid Build Coastguard Workerendif()
156*03ce13f7SAndroid Build Coastguard Worker
157*03ce13f7SAndroid Build Coastguard Workeradd_library(vk_swiftshader SHARED
158*03ce13f7SAndroid Build Coastguard Worker    ${VULKAN_SRC_FILES}
159*03ce13f7SAndroid Build Coastguard Worker)
160*03ce13f7SAndroid Build Coastguard Worker
161*03ce13f7SAndroid Build Coastguard Workerset_target_properties(vk_swiftshader PROPERTIES
162*03ce13f7SAndroid Build Coastguard Worker    POSITION_INDEPENDENT_CODE 1
163*03ce13f7SAndroid Build Coastguard Worker    FOLDER "SwiftShader VK"
164*03ce13f7SAndroid Build Coastguard Worker    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
165*03ce13f7SAndroid Build Coastguard Worker    LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
166*03ce13f7SAndroid Build Coastguard Worker)
167*03ce13f7SAndroid Build Coastguard Worker
168*03ce13f7SAndroid Build Coastguard Workertarget_include_directories(vk_swiftshader
169*03ce13f7SAndroid Build Coastguard Worker    PRIVATE
170*03ce13f7SAndroid Build Coastguard Worker        ".."
171*03ce13f7SAndroid Build Coastguard Worker)
172*03ce13f7SAndroid Build Coastguard Worker
173*03ce13f7SAndroid Build Coastguard Workertarget_compile_options(vk_swiftshader
174*03ce13f7SAndroid Build Coastguard Worker    PRIVATE
175*03ce13f7SAndroid Build Coastguard Worker        ${ROOT_PROJECT_COMPILE_OPTIONS}
176*03ce13f7SAndroid Build Coastguard Worker        ${VULKAN_COMPILE_OPTIONS}
177*03ce13f7SAndroid Build Coastguard Worker)
178*03ce13f7SAndroid Build Coastguard Worker
179*03ce13f7SAndroid Build Coastguard Workertarget_compile_definitions(vk_swiftshader
180*03ce13f7SAndroid Build Coastguard Worker    PRIVATE
181*03ce13f7SAndroid Build Coastguard Worker        "VK_EXPORT="
182*03ce13f7SAndroid Build Coastguard Worker        $<$<CONFIG:Debug>:"DEBUGGER_WAIT_DIALOG">
183*03ce13f7SAndroid Build Coastguard Worker)
184*03ce13f7SAndroid Build Coastguard Worker
185*03ce13f7SAndroid Build Coastguard Workertarget_link_options(vk_swiftshader
186*03ce13f7SAndroid Build Coastguard Worker    PRIVATE
187*03ce13f7SAndroid Build Coastguard Worker        ${SWIFTSHADER_LINK_FLAGS}
188*03ce13f7SAndroid Build Coastguard Worker        ${VULKAN_LINKER_FLAGS}
189*03ce13f7SAndroid Build Coastguard Worker)
190*03ce13f7SAndroid Build Coastguard Worker
191*03ce13f7SAndroid Build Coastguard Workertarget_link_libraries(vk_swiftshader
192*03ce13f7SAndroid Build Coastguard Worker    PRIVATE
193*03ce13f7SAndroid Build Coastguard Worker        vk_system
194*03ce13f7SAndroid Build Coastguard Worker        vk_pipeline
195*03ce13f7SAndroid Build Coastguard Worker        vk_device
196*03ce13f7SAndroid Build Coastguard Worker        vk_wsi
197*03ce13f7SAndroid Build Coastguard Worker        Reactor
198*03ce13f7SAndroid Build Coastguard Worker        marl
199*03ce13f7SAndroid Build Coastguard Worker        ${OS_LIBS}
200*03ce13f7SAndroid Build Coastguard Worker        ${SWIFTSHADER_LIBS}
201*03ce13f7SAndroid Build Coastguard Worker        $<$<BOOL:${SWIFTSHADER_ENABLE_VULKAN_DEBUGGER}>:cppdap>
202*03ce13f7SAndroid Build Coastguard Worker)
203*03ce13f7SAndroid Build Coastguard Worker
204*03ce13f7SAndroid Build Coastguard Workerset_shared_library_export_map(vk_swiftshader ${CMAKE_CURRENT_SOURCE_DIR})
205*03ce13f7SAndroid Build Coastguard Worker
206*03ce13f7SAndroid Build Coastguard Worker# The name of the application-facing library. Usually this would be the Vulkan Loader,
207*03ce13f7SAndroid Build Coastguard Worker# which then loads the Installable Client Driver (ICD), see:
208*03ce13f7SAndroid Build Coastguard Worker# https://www.lunarg.com/tutorial-overview-of-vulkan-loader-layers/
209*03ce13f7SAndroid Build Coastguard Worker# But SwiftShader can also be loaded directlty by the application. This enables using
210*03ce13f7SAndroid Build Coastguard Worker# SwiftShader without requiring a Loader to be installed, and simplifies testing and
211*03ce13f7SAndroid Build Coastguard Worker# debugging. ${VULKAN_API_LIBRARY_NAME} is the name of this drop-in API library.
212*03ce13f7SAndroid Build Coastguard Workerif(WIN32)
213*03ce13f7SAndroid Build Coastguard Worker    set(VULKAN_API_LIBRARY_NAME "vulkan-1.dll")
214*03ce13f7SAndroid Build Coastguard Workerelseif(LINUX)
215*03ce13f7SAndroid Build Coastguard Worker    set(VULKAN_API_LIBRARY_NAME "libvulkan.so.1")
216*03ce13f7SAndroid Build Coastguard Workerelseif(APPLE)
217*03ce13f7SAndroid Build Coastguard Worker    set(VULKAN_API_LIBRARY_NAME "libvulkan.dylib")
218*03ce13f7SAndroid Build Coastguard Workerelseif(FUCHSIA)
219*03ce13f7SAndroid Build Coastguard Worker    set(VULKAN_API_LIBRARY_NAME "libvulkan.so")
220*03ce13f7SAndroid Build Coastguard Workerelse()
221*03ce13f7SAndroid Build Coastguard Worker    message(FATAL_ERROR "Platform does not support Vulkan yet")
222*03ce13f7SAndroid Build Coastguard Workerendif()
223*03ce13f7SAndroid Build Coastguard Worker
224*03ce13f7SAndroid Build Coastguard Workeradd_custom_command(
225*03ce13f7SAndroid Build Coastguard Worker    TARGET vk_swiftshader
226*03ce13f7SAndroid Build Coastguard Worker    POST_BUILD
227*03ce13f7SAndroid Build Coastguard Worker    COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/${CMAKE_SYSTEM_NAME}/
228*03ce13f7SAndroid Build Coastguard Worker    COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:vk_swiftshader> ${CMAKE_BINARY_DIR}/${CMAKE_SYSTEM_NAME}/
229*03ce13f7SAndroid Build Coastguard Worker    COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:vk_swiftshader> ${CMAKE_BINARY_DIR}/${CMAKE_SYSTEM_NAME}/${VULKAN_API_LIBRARY_NAME}
230*03ce13f7SAndroid Build Coastguard Worker
231*03ce13f7SAndroid Build Coastguard Worker    # Copy to ${CMAKE_BINARY_DIR}/bin so the library sits next to the PVR samples.
232*03ce13f7SAndroid Build Coastguard Worker    COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/bin
233*03ce13f7SAndroid Build Coastguard Worker    COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:vk_swiftshader> ${CMAKE_BINARY_DIR}/bin/${VULKAN_API_LIBRARY_NAME}
234*03ce13f7SAndroid Build Coastguard Worker)
235*03ce13f7SAndroid Build Coastguard Worker
236*03ce13f7SAndroid Build Coastguard Worker# The SWIFTSHADER_VULKAN_API_LIBRARY_INSTALL_PATH environment variable can be set to a path
237*03ce13f7SAndroid Build Coastguard Worker# where we'd like the drop-in API library to be installed. For example for testing with dEQP
238*03ce13f7SAndroid Build Coastguard Worker# this could be something like C:/src/deqp/build/external/vulkancts/modules/vulkan/Debug/
239*03ce13f7SAndroid Build Coastguard Workerif(DEFINED ENV{SWIFTSHADER_VULKAN_API_LIBRARY_INSTALL_PATH})
240*03ce13f7SAndroid Build Coastguard Worker    add_custom_command(
241*03ce13f7SAndroid Build Coastguard Worker        TARGET vk_swiftshader
242*03ce13f7SAndroid Build Coastguard Worker        POST_BUILD
243*03ce13f7SAndroid Build Coastguard Worker        COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:vk_swiftshader> $ENV{SWIFTSHADER_VULKAN_API_LIBRARY_INSTALL_PATH}${VULKAN_API_LIBRARY_NAME}
244*03ce13f7SAndroid Build Coastguard Worker    )
245*03ce13f7SAndroid Build Coastguard Workerendif()
246*03ce13f7SAndroid Build Coastguard Worker
247*03ce13f7SAndroid Build Coastguard Worker# The vk_swiftshader_icd.json manifest file will point to ICD_LIBRARY_PATH.
248*03ce13f7SAndroid Build Coastguard Worker# Set ICD_LIBRARY_PATH to be a relative path similar to "./libvk_swiftshader.so", so both files can be moved.
249*03ce13f7SAndroid Build Coastguard Worker# A relative path is relative to the manifest file.
250*03ce13f7SAndroid Build Coastguard Workerset(ICD_LIBRARY_PATH "${CMAKE_SHARED_LIBRARY_PREFIX}vk_swiftshader${CMAKE_SHARED_LIBRARY_SUFFIX}")
251*03ce13f7SAndroid Build Coastguard Workerif(WIN32)
252*03ce13f7SAndroid Build Coastguard Worker    # The path is output to a JSON file, which requires backslashes to be escaped.
253*03ce13f7SAndroid Build Coastguard Worker    set(ICD_LIBRARY_PATH ".\\\\${ICD_LIBRARY_PATH}")
254*03ce13f7SAndroid Build Coastguard Workerelse()
255*03ce13f7SAndroid Build Coastguard Worker    set(ICD_LIBRARY_PATH "./${ICD_LIBRARY_PATH}")
256*03ce13f7SAndroid Build Coastguard Workerendif()
257*03ce13f7SAndroid Build Coastguard Workerconfigure_file(
258*03ce13f7SAndroid Build Coastguard Worker    "vk_swiftshader_icd.json.tmpl"
259*03ce13f7SAndroid Build Coastguard Worker    "${CMAKE_BINARY_DIR}/${CMAKE_SYSTEM_NAME}/vk_swiftshader_icd.json"
260*03ce13f7SAndroid Build Coastguard Worker)
261