From 94531e4b0aa71f09dcd70546e3dc6c093141fe23 Mon Sep 17 00:00:00 2001
From: Tobias Frisch <tfrisch@uni-koblenz.de>
Date: Fri, 25 Jun 2021 21:33:12 +0200
Subject: [PATCH] [#85] Moved all defines out of the source code into cmake

Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de>
---
 config/lib/GLFW.cmake                                | 2 ++
 modules/asset_loader/CMakeLists.txt                  | 2 ++
 modules/asset_loader/config/STB.cmake                | 4 ++++
 modules/asset_loader/src/vkcv/asset/asset_loader.cpp | 3 ---
 modules/camera/config/GLM.cmake                      | 4 ++--
 src/vkcv/Swapchain.cpp                               | 1 -
 6 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/config/lib/GLFW.cmake b/config/lib/GLFW.cmake
index 1b68d8aa..d7c9dedc 100644
--- a/config/lib/GLFW.cmake
+++ b/config/lib/GLFW.cmake
@@ -1,6 +1,8 @@
 
 find_package(glfw3 QUIET)
 
+list(APPEND vkcv_definitions GLFW_INCLUDE_VULKAN)
+
 if (glfw3_FOUND)
     list(APPEND vkcv_libraries glfw)
 
diff --git a/modules/asset_loader/CMakeLists.txt b/modules/asset_loader/CMakeLists.txt
index d2a9b817..c5a1fd0e 100644
--- a/modules/asset_loader/CMakeLists.txt
+++ b/modules/asset_loader/CMakeLists.txt
@@ -38,3 +38,5 @@ target_include_directories(vkcv_asset_loader SYSTEM BEFORE PRIVATE ${vkcv_asset_
 
 # add the own include directory for public headers
 target_include_directories(vkcv_asset_loader BEFORE PUBLIC ${vkcv_asset_loader_include})
+
+target_compile_definitions(vkcv_asset_loader PUBLIC ${vkcv_asset_loader_definitions})
diff --git a/modules/asset_loader/config/STB.cmake b/modules/asset_loader/config/STB.cmake
index da20d3ec..1287d0a9 100644
--- a/modules/asset_loader/config/STB.cmake
+++ b/modules/asset_loader/config/STB.cmake
@@ -1,6 +1,10 @@
 
 if (EXISTS "${vkcv_asset_loader_lib_path}/stb")
 	list(APPEND vkcv_asset_loader_includes ${vkcv_asset_loader_lib}/stb)
+	
+	list(APPEND vkcv_asset_loader_definitions STB_IMAGE_IMPLEMENTATION)
+	list(APPEND vkcv_asset_loader_definitions STBI_ONLY_JPEG)
+	list(APPEND vkcv_asset_loader_definitions STBI_ONLY_PNG)
 else()
 	message(WARNING "STB is required..! Update the submodules!")
 endif ()
diff --git a/modules/asset_loader/src/vkcv/asset/asset_loader.cpp b/modules/asset_loader/src/vkcv/asset/asset_loader.cpp
index 97fd3951..c21d0c9f 100644
--- a/modules/asset_loader/src/vkcv/asset/asset_loader.cpp
+++ b/modules/asset_loader/src/vkcv/asset/asset_loader.cpp
@@ -3,9 +3,6 @@
 #include <string.h>	// memcpy(3)
 #include <stdlib.h>	// calloc(3)
 #include <fx/gltf.h>
-#define STB_IMAGE_IMPLEMENTATION
-#define STBI_ONLY_JPEG
-#define STBI_ONLY_PNG
 #include <stb_image.h>
 #include <vkcv/Logger.hpp>
 #include <algorithm>
diff --git a/modules/camera/config/GLM.cmake b/modules/camera/config/GLM.cmake
index ecf3a190..6f6e0f65 100644
--- a/modules/camera/config/GLM.cmake
+++ b/modules/camera/config/GLM.cmake
@@ -10,8 +10,8 @@ else()
         
         list(APPEND vkcv_camera_libraries glm)
         
-        list(APPEND vkcv_camera_defines GLM_DEPTH_ZERO_TO_ONE=1)
-        list(APPEND vkcv_camera_defines GLM_FORCE_LEFT_HANDED=1)
+        list(APPEND vkcv_camera_defines GLM_DEPTH_ZERO_TO_ONE)
+        list(APPEND vkcv_camera_defines GLM_FORCE_LEFT_HANDED)
     else()
         message(WARNING "GLM is required..! Update the submodules!")
     endif ()
diff --git a/src/vkcv/Swapchain.cpp b/src/vkcv/Swapchain.cpp
index 33714ada..2c5b3530 100644
--- a/src/vkcv/Swapchain.cpp
+++ b/src/vkcv/Swapchain.cpp
@@ -1,7 +1,6 @@
 #include <vkcv/Swapchain.hpp>
 #include <utility>
 
-#define GLFW_INCLUDE_VULKAN
 #include <GLFW/glfw3.h>
 
 namespace vkcv
-- 
GitLab