# Copyright 2020 The Dawn Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. add_library(dawn_utils STATIC ${DAWN_DUMMY_FILE}) target_sources(dawn_utils PRIVATE "ComboRenderBundleEncoderDescriptor.cpp" "ComboRenderBundleEncoderDescriptor.h" "ComboRenderPipelineDescriptor.cpp" "ComboRenderPipelineDescriptor.h" "PlatformDebugLogger.h" "ScopedAutoreleasePool.cpp" "ScopedAutoreleasePool.h" "SystemUtils.cpp" "SystemUtils.h" "TerribleCommandBuffer.cpp" "TerribleCommandBuffer.h" "TestUtils.cpp" "TestUtils.h" "TextureUtils.cpp" "TextureUtils.h" "Timer.h" "WGPUHelpers.cpp" "WGPUHelpers.h" "WireHelper.cpp" "WireHelper.h" ) target_link_libraries(dawn_utils PUBLIC dawncpp_headers PRIVATE dawn_internal_config dawn_common dawn_native dawn_proc dawn_wire SPIRV-Tools-opt glfw ) if(WIN32 AND NOT WINDOWS_STORE) target_sources(dawn_utils PRIVATE "WindowsDebugLogger.cpp") else() target_sources(dawn_utils PRIVATE "EmptyDebugLogger.cpp") endif() if(WIN32) target_sources(dawn_utils PRIVATE "WindowsTimer.cpp") elseif(APPLE) target_sources(dawn_utils PRIVATE "OSXTimer.cpp" "ObjCUtils.h" "ObjCUtils.mm" ) target_link_libraries(dawn_utils PRIVATE "-framework QuartzCore") elseif(UNIX) target_sources(dawn_utils PRIVATE "PosixTimer.cpp") endif() if (DAWN_ENABLE_METAL) target_link_libraries(dawn_utils PRIVATE "-framework Metal") endif() if(DAWN_SUPPORTS_GLFW_FOR_WINDOWING) target_sources(dawn_utils PRIVATE "BackendBinding.cpp" "BackendBinding.h" "GLFWUtils.cpp" "GLFWUtils.h" ) target_link_libraries(dawn_utils PRIVATE glfw) if (DAWN_ENABLE_D3D12) target_sources(dawn_utils PRIVATE "D3D12Binding.cpp") endif() if (DAWN_ENABLE_METAL) target_sources(dawn_utils PRIVATE "GLFWUtils_metal.mm" "MetalBinding.mm" ) endif() if (DAWN_ENABLE_NULL) target_sources(dawn_utils PRIVATE "NullBinding.cpp") endif() if (DAWN_ENABLE_OPENGL) target_sources(dawn_utils PRIVATE "OpenGLBinding.cpp") endif() if (DAWN_ENABLE_VULKAN) target_sources(dawn_utils PRIVATE "VulkanBinding.cpp") endif() endif()