# Copyright 2020 The SwiftShader Authors. All Rights Reserved. # # 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. set(ROOT_PROJECT_COMPILE_OPTIONS ${WARNINGS_AS_ERRORS} ) set(VULKAN_WRAPPER_SRC_FILES Buffer.cpp Buffer.hpp DrawTester.cpp DrawTester.hpp Framebuffer.cpp Framebuffer.hpp Image.cpp Image.hpp Swapchain.cpp Swapchain.hpp Util.cpp Util.hpp VulkanHeaders.cpp VulkanHeaders.hpp VulkanTester.cpp VulkanTester.hpp Window.cpp Window.hpp ) add_library(VulkanWrapper STATIC ${VULKAN_WRAPPER_SRC_FILES} ) if (NOT TARGET glslang) message(FATAL_ERROR "Missing required target: glslang") endif() if (NOT TARGET glslang-default-resource-limits) message(FATAL_ERROR "Missing required target: glslang-default-resource-limits") endif() if (NOT TARGET SPIRV) message(FATAL_ERROR "Missing required target: SPIRV") endif() set_target_properties(VulkanWrapper PROPERTIES FOLDER "Tests" RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) target_include_directories(VulkanWrapper PUBLIC "." "${SWIFTSHADER_DIR}/include" ) target_compile_definitions(VulkanWrapper PUBLIC "STANDALONE" ) target_compile_options(VulkanWrapper PRIVATE ${ROOT_PROJECT_COMPILE_OPTIONS} ) target_link_options(VulkanWrapper PRIVATE ${SWIFTSHADER_LINK_FLAGS} ) target_link_libraries(VulkanWrapper PUBLIC glslang glslang-default-resource-limits SPIRV )