You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.0 KiB
88 lines
2.0 KiB
# 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
|
|
)
|