Merge branch 'master' of https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a14bc8a..879eaee 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -24,7 +24,9 @@
     CXX_STANDARD_REQUIRED ON
 )
 
-target_include_directories(VulkanMemoryAllocator PUBLIC "${PROJECT_SOURCE_DIR}/include")
+target_include_directories(VulkanMemoryAllocator PUBLIC 
+    $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
+)
 
 # Only link to Vulkan if static linking is used
 if(${VMA_STATIC_VULKAN_FUNCTIONS})
@@ -44,8 +46,7 @@
     VMA_RECORDING_ENABLED=$<BOOL:${VMA_RECORDING_ENABLED}>
 )
 
-install(TARGETS VulkanMemoryAllocator DESTINATION "lib")
-install(FILES "${PROJECT_SOURCE_DIR}/include/vk_mem_alloc.h" DESTINATION "include")
+include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/install_target.cmake)
 
 if(VMA_BUILD_SAMPLE)
     if(WIN32)
diff --git a/src/VmaUsage.h b/src/VmaUsage.h
index 5bff938..0140ce4 100644
--- a/src/VmaUsage.h
+++ b/src/VmaUsage.h
@@ -33,7 +33,7 @@
     #define WIN32_LEAN_AND_MEAN
 #endif
 
-#include <Windows.h>
+#include <windows.h>
 #if !defined(VK_USE_PLATFORM_WIN32_KHR)
     #define VK_USE_PLATFORM_WIN32_KHR
 #endif // #if !defined(VK_USE_PLATFORM_WIN32_KHR)
diff --git a/src/cmake/Config.cmake.in b/src/cmake/Config.cmake.in
new file mode 100644
index 0000000..a7d7543
--- /dev/null
+++ b/src/cmake/Config.cmake.in
@@ -0,0 +1,10 @@
+@PACKAGE_INIT@
+
+include(CMakeFindDependencyMacro)
+
+find_package(Vulkan REQUIRED)
+
+include("${CMAKE_CURRENT_LIST_DIR}/VulkanMemoryAllocatorTargets.cmake")
+check_required_components("@PROJECT_NAME@")
+
+
diff --git a/src/cmake/install_target.cmake b/src/cmake/install_target.cmake
new file mode 100644
index 0000000..6ddd455
--- /dev/null
+++ b/src/cmake/install_target.cmake
@@ -0,0 +1,32 @@
+include(GNUInstallDirs)
+target_include_directories(VulkanMemoryAllocator PUBLIC 
+    $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDE_DIRS}>
+)
+install(TARGETS VulkanMemoryAllocator
+        EXPORT  VulkanMemoryAllocatorTargets
+        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+        ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+        RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+        INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+)
+# install(FILES "${PROJECT_SOURCE_DIR}/include/vk_mem_alloc.h" DESTINATION "include")
+install(FILES "${PROJECT_SOURCE_DIR}/include/vk_mem_alloc.h"
+        DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+)
+install(EXPORT VulkanMemoryAllocatorTargets
+        FILE VulkanMemoryAllocatorTargets.cmake
+        NAMESPACE VulkanMemoryAllocator::
+        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/VulkanMemoryAllocator
+)
+include(CMakePackageConfigHelpers)
+configure_package_config_file(${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in
+    "${CMAKE_CURRENT_BINARY_DIR}/VulkanMemoryAllocatorConfig.cmake"
+    INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/VulkanMemoryAllocator
+)
+install(FILES
+        "${CMAKE_CURRENT_BINARY_DIR}/VulkanMemoryAllocatorConfig.cmake"
+         DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/VulkanMemoryAllocator
+)
+
+
+