diff options
Diffstat (limited to 'poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch')
-rw-r--r-- | poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch b/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch new file mode 100644 index 0000000000..4addea3bf1 --- /dev/null +++ b/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch @@ -0,0 +1,85 @@ +From edca667684764cfcc0460e448e834fadf623a887 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Mon, 3 Jul 2017 14:49:18 +0300 +Subject: [PATCH] Support installing demos, support out-of-tree builds + +This is especially useful for cross-compile situation where testing +happens on target. + +-DRESOURCE_INSTALL_DIR=<path> decides where data is installed (and +where the binaries will load the data from): if it's left empty, +then nothing will be installed and binaries will load the data from +CMAKE_SOURCE_DIR. + +Binaries are now correctly built in CMAKE_BINARY_DIR. + +Upstream-Status: Submitted [https://github.com/SaschaWillems/Vulkan/pull/352] +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +--- + CMakeLists.txt | 15 ++++++++++++++- + base/vulkanexamplebase.cpp | 2 +- + 2 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b9886bc..4958fff 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -16,6 +16,8 @@ include_directories(base) + OPTION(USE_D2D_WSI "Build the project using Direct to Display swapchain" OFF) + OPTION(USE_WAYLAND_WSI "Build the project using Wayland swapchain" OFF) + ++set(RESOURCE_INSTALL_DIR "" CACHE PATH "Path to install resources to (leave empty for running uninstalled)") ++ + # Use FindVulkan module added with CMAKE 3.7 + if (NOT CMAKE_VERSION VERSION_LESS 3.7.0) + message(STATUS "Using module to find Vulkan") +@@ -108,6 +110,10 @@ function(buildExample EXAMPLE_NAME) + add_executable(${EXAMPLE_NAME} ${MAIN_CPP} ${SOURCE} ${SHADERS}) + target_link_libraries(${EXAMPLE_NAME} ${Vulkan_LIBRARY} ${ASSIMP_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) + endif(WIN32) ++ ++ if(RESOURCE_INSTALL_DIR) ++ install(TARGETS ${EXAMPLE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) ++ endif() + endfunction(buildExample) + + # Build all examples +@@ -117,6 +123,13 @@ function(buildExamples) + endforeach(EXAMPLE) + endfunction(buildExamples) + ++if(RESOURCE_INSTALL_DIR) ++ add_definitions(-DVK_EXAMPLE_DATA_DIR=\"${RESOURCE_INSTALL_DIR}/\") ++ install(DIRECTORY data/ DESTINATION ${RESOURCE_INSTALL_DIR}/) ++else() ++ add_definitions(-DVK_EXAMPLE_DATA_DIR=\"${CMAKE_SOURCE_DIR}/data/\") ++endif() ++ + # Compiler specific stuff + IF(MSVC) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") +@@ -128,7 +141,7 @@ ELSE(WIN32) + link_libraries(${XCB_LIBRARIES} ${Vulkan_LIBRARY}) + ENDIF(WIN32) + +-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin/") ++set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/") + + set(EXAMPLES + bloom +diff --git a/base/vulkanexamplebase.cpp b/base/vulkanexamplebase.cpp +index 647368a..a0f28a5 100644 +--- a/base/vulkanexamplebase.cpp ++++ b/base/vulkanexamplebase.cpp +@@ -84,7 +84,7 @@ const std::string VulkanExampleBase::getAssetPath() + #if defined(__ANDROID__) + return ""; + #else +- return "./../data/"; ++ return VK_EXAMPLE_DATA_DIR; + #endif + } + #endif +-- +2.13.2 + |