]> O.S.I.I.S - jp/vkhelpers.git/commitdiff
prepare for optional vulkan memory allocator usage
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Sat, 30 May 2020 15:36:05 +0000 (17:36 +0200)
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Sat, 30 May 2020 15:36:05 +0000 (17:36 +0200)
CMakeLists.txt

index 4c852dd1c7741e7459829999d73cf8cbc0547341..f00df4055ec7266e3da998c719e17071d417420c 100644 (file)
@@ -1,6 +1,13 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 3.7)
 
-PROJECT(vkh VERSION 0.1.0 DESCRIPTION "Vulkan helpers library")
+OPTION(VKH_ENABLE_VMA "enable Vulkan Memory Allocator" ON)
+if (VKH_ENABLE_VMA)
+       SET(LANG "CXX")
+ELSE()
+       SET(LANG "C")
+ENDIF()
+
+PROJECT(vkh VERSION 0.1.0 DESCRIPTION "Vulkan helpers library" LANGUAGES ${LANG})
 
 SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")
 
@@ -8,29 +15,33 @@ IF(NOT CMAKE_BUILD_TYPE)
   SET(CMAKE_BUILD_TYPE Release)
 ENDIF()
 
-IF (UNIX)
-       SET(CMAKE_EXE_LINKER_FLAGS "-lm")
-ENDIF()
-
 MESSAGE(STATUS "${CMAKE_BUILD_TYPE} build.")
 
+
 if (CMAKE_BUILD_TYPE STREQUAL "Debug")
        ADD_DEFINITIONS (-DDEBUG)
        OPTION(ENABLE_VALIDATION "enable vulkan validation layer" ON)
        IF (UNIX)
-               SET(CMAKE_CXX_FLAGS "-std=c99 -Wall -Wno-extra")
-       ELSEIF(MSVC)
-               SET(CMAKE_CXX_FLAGS "/W4 /wd4204 /wd4221 /wd4100")
+               SET(CMAKE_${LANG}_FLAGS "-std=c99 -Wall")
+       ELSEIF (MSVC)
+               SET(CMAKE_${LANG}_FLAGS "/W4 /wd4204 /wd4221 /wd4100")
        ENDIF()
 ELSE()
        UNSET(ENABLE_VALIDATION CACHE)
        IF (UNIX)
-               SET(CMAKE_CXX_FLAGS "-w")
+               SET(CMAKE_${LANG}_FLAGS "-w")
        ELSEIF(MSVC)
-               SET(CMAKE_CXX_FLAGS "/W0")
+               SET(CMAKE_${LANG}_FLAGS "/W0")
        ENDIF()
 ENDIF()
 
+if (${LANG} EQUAL "C" AND MSVC)  
+       SET(CMAKE_C_FLAGS "/TC ${CMAKE_C_FLAGS}")
+endif ()
+
+IF (VKH_ENABLE_VMA)
+       ADD_DEFINITIONS (-DUSE_VMA)
+ENDIF ()
 IF (ENABLE_VALIDATION)
        ADD_DEFINITIONS (-DVKH_USE_VALIDATION)
 ENDIF ()
@@ -54,7 +65,10 @@ FIND_PACKAGE(Vulkan REQUIRED)
 
 INCLUDE(GNUInstallDirs)
 
-FILE(GLOB sources src/*.c*)
+FILE(GLOB sources src/*.c)
+if (VKH_ENABLE_VMA)
+       LIST(APPEND sources src/VmaUsage.cpp)
+ENDIF()
 
 CONFIGURE_FILE(vkh.pc.in vkh.pc @ONLY)
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/vkh.pc DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig)