105 lines
2.5 KiB
CMake
105 lines
2.5 KiB
CMake
###############################################################################
|
|
cmake_minimum_required(VERSION 3.7.0)
|
|
project(cruft-vulkan CXX)
|
|
|
|
list (APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
|
|
include (nc)
|
|
|
|
|
|
###############################################################################
|
|
include (FindVulkan)
|
|
if (NOT Vulkan_FOUND)
|
|
message (FATAL_ERROR "Vulkan client library not found")
|
|
endif ()
|
|
|
|
|
|
##-----------------------------------------------------------------------------
|
|
include (FindLibXslt)
|
|
if (NOT LIBXSLT_XSLTPROC_EXECUTABLE)
|
|
message (FATAL_ERROR "xsltproc is required to generate the API headers")
|
|
endif()
|
|
|
|
|
|
###############################################################################
|
|
include_directories ("${CMAKE_CURRENT_BINARY_DIR}")
|
|
|
|
|
|
##-----------------------------------------------------------------------------
|
|
add_custom_command (
|
|
OUTPUT
|
|
"${CMAKE_CURRENT_BINARY_DIR}/vk.hpp"
|
|
COMMENT
|
|
"[xsltproc] vk.hpp"
|
|
COMMAND
|
|
"${LIBXSLT_XSLTPROC_EXECUTABLE}"
|
|
--output "${CMAKE_CURRENT_BINARY_DIR}/vk.hpp"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/vk.xsl"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/vk.xml"
|
|
DEPENDS
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/vk.xsl"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/vk.xml"
|
|
)
|
|
|
|
|
|
##-----------------------------------------------------------------------------
|
|
list (APPEND sources
|
|
vk.hpp
|
|
fwd.hpp
|
|
object.cpp
|
|
object.hpp
|
|
buffer.cpp
|
|
buffer.hpp
|
|
command_buffer.cpp
|
|
command_buffer.hpp
|
|
command_pool.cpp
|
|
command_pool.hpp
|
|
device.cpp
|
|
device.hpp
|
|
device_memory.cpp
|
|
device_memory.hpp
|
|
event.cpp
|
|
event.hpp
|
|
except.cpp
|
|
except.hpp
|
|
fence.cpp
|
|
fence.hpp
|
|
framebuffer.cpp
|
|
framebuffer.hpp
|
|
instance.cpp
|
|
instance.hpp
|
|
image.cpp
|
|
image.hpp
|
|
ostream.cpp
|
|
ostream.hpp
|
|
physical_device.cpp
|
|
physical_device.hpp
|
|
pipeline.cpp
|
|
pipeline.hpp
|
|
pipeline_cache.cpp
|
|
pipeline_cache.hpp
|
|
queue.cpp
|
|
queue.hpp
|
|
render_pass.cpp
|
|
render_pass.hpp
|
|
semaphore.cpp
|
|
semaphore.hpp
|
|
shader_module.cpp
|
|
shader_module.hpp
|
|
traits.hpp
|
|
)
|
|
|
|
|
|
##-----------------------------------------------------------------------------
|
|
add_library (cruft-vk STATIC ${sources})
|
|
|
|
###############################################################################
|
|
get_directory_property (HAS_PARENT PARENT_DIRECTORY)
|
|
if (HAS_PARENT)
|
|
set (CRUFT_VK_FOUND 1 PARENT_SCOPE)
|
|
endif ()
|
|
|
|
|
|
###############################################################################
|
|
configure_file(libcruft-vk-system.pc.in libcruft-vk.pc)
|
|
configure_file(Doxyfile.in Doxyfile)
|