]> O.S.I.I.S - jp/vkhelpers.git/commitdiff
vma as static library, linkage in c
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Mon, 5 Dec 2022 02:04:41 +0000 (03:04 +0100)
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Mon, 5 Dec 2022 02:04:41 +0000 (03:04 +0100)
CMakeLists.txt
src/VmaUsage.cpp [deleted file]
src/vma/VmaUsage.cpp [new file with mode: 0644]

index 7fdf0e98ec12e1217e523fbb8de9bb39aa815e48..867d49d690224c13a927156dfdc49f666d102bce 100644 (file)
@@ -6,7 +6,7 @@ OPTION(VKH_USE_VMA "enable Vulkan Memory Allocator" ON)
 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")
 
@@ -63,15 +63,18 @@ FUNCTION (setup_lib LibName)
             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
@@ -88,18 +91,17 @@ GET_DIRECTORY_PROPERTY (vkh_has_root_project PARENT_DIRECTORY)
 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)
diff --git a/src/VmaUsage.cpp b/src/VmaUsage.cpp
deleted file mode 100644 (file)
index 93fcb1b..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-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)
diff --git a/src/vma/VmaUsage.cpp b/src/vma/VmaUsage.cpp
new file mode 100644 (file)
index 0000000..57179a2
--- /dev/null
@@ -0,0 +1,9 @@
+/*
+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)