SET(LANG "C")
SET(CMAKE_${LANG}_STANDARD 11)
-PROJECT(vkh VERSION 0.1.0 DESCRIPTION "Vulkan helpers library")# LANGUAGES ${LANG})
+PROJECT(vkh VERSION 0.1.0 DESCRIPTION "Vulkan helpers library" LANGUAGES ${LANG})
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")
C_STANDARD 11
C_EXTENSIONS OFF
PUBLIC_HEADER include/vkh.h
+ LINKER_LANGUAGE C
)
TARGET_INCLUDE_DIRECTORIES("${LibName}"
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/src
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/include
- ${Vulkan_INCLUDE_DIRS}
+ ${Vulkan_INCLUDE_DIRS}
)
TARGET_LINK_LIBRARIES("${LibName}"
+ PRIVATE
+ libVMA
PUBLIC
${Vulkan_LIBRARIES}
Threads::Threads
if (VKH_USE_VMA)
ADD_DEFINITIONS (-DVKH_USE_VMA)
SET(VKH_USE_VMA ON PARENT_SCOPE)
- ADD_LIBRARY(libVMA OBJECT src/VmaUsage.cpp)
+ ADD_LIBRARY(libVMA STATIC src/vma/VmaUsage.cpp)
SET_TARGET_PROPERTIES(
libVMA PROPERTIES
POSITION_INDEPENDENT_CODE ON
- LINKER_LANGUAGE CXX
+ LINKER_LANGUAGE C
)
TARGET_INCLUDE_DIRECTORIES(libVMA
PUBLIC
- ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/vma
${Vulkan_INCLUDE_DIRS}
)
- LIST (APPEND VKH_SRC $<TARGET_OBJECTS:libVMA>)
ENDIF()
IF (vkh_has_root_project)
+++ /dev/null
-/*
-In exactly one CPP file define macro VMA_IMPLEMENTATION and then include
-vk_mem_alloc.h to include definitions of its internal implementation
-*/
-#pragma warning(push)
-#pragma warning(disable:4100;disable:4127;disable:4324)
-#define VMA_IMPLEMENTATION
-#include "vk_mem_alloc.h"
-#pragma warning(pop)
--- /dev/null
+/*
+In exactly one CPP file define macro VMA_IMPLEMENTATION and then include
+vk_mem_alloc.h to include definitions of its internal implementation
+*/
+#pragma warning(push)
+#pragma warning(disable:4100;disable:4127;disable:4324)
+#define VMA_IMPLEMENTATION
+#include "../vk_mem_alloc.h"
+#pragma warning(pop)