From bede6aeb4264040784a422e64796ce21a012eab5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jean-Philippe=20Bruy=C3=A8re?= Date: Mon, 5 Dec 2022 03:04:41 +0100 Subject: [PATCH] vma as static library, linkage in c --- CMakeLists.txt | 14 ++++++++------ src/{ => vma}/VmaUsage.cpp | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) rename src/{ => vma}/VmaUsage.cpp (90%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7fdf0e9..867d49d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 $) ENDIF() IF (vkh_has_root_project) diff --git a/src/VmaUsage.cpp b/src/vma/VmaUsage.cpp similarity index 90% rename from src/VmaUsage.cpp rename to src/vma/VmaUsage.cpp index 93fcb1b..57179a2 100644 --- a/src/VmaUsage.cpp +++ b/src/vma/VmaUsage.cpp @@ -5,5 +5,5 @@ 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" +#include "../vk_mem_alloc.h" #pragma warning(pop) -- 2.47.3