diff --git a/CMakeLists.txt b/CMakeLists.txt index d05e83679c16d0c5e7e9aa7344e96656b8f8edb8..569efcf20fe84a64205b7060bbb89587cbe579da 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,6 +14,10 @@ endif() message("-- Language: [ C++ " ${CMAKE_CXX_STANDARD} " ]") message("-- Compiler: [ " ${CMAKE_CXX_COMPILER_ID} " " ${CMAKE_CXX_COMPILER_VERSION} " ]") +if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "9.0.0")) + message(FATAL_ERROR "Upgrade your compiler! GCC 9.0+ is required!") +endif() + # setting up different paths set(vkcv_config ${PROJECT_SOURCE_DIR}/config) set(vkcv_config_ext ${vkcv_config}/ext) diff --git a/include/vkcv/Window.hpp b/include/vkcv/Window.hpp index ef5e35cc10a9983440d3d33f7d8dd93a6aef5199..87c98a9281e6081c98487c7fd314d960b818190f 100644 --- a/include/vkcv/Window.hpp +++ b/include/vkcv/Window.hpp @@ -4,12 +4,14 @@ * @file src/vkcv/Window.hpp * @brief Window class to handle a basic rendering surface and input */ -#include <GLFW/glfw3.h> #define NOMINMAX #include <algorithm> +struct GLFWwindow; + namespace vkcv { + class Window final { private: GLFWwindow *m_window; @@ -88,4 +90,5 @@ namespace vkcv { */ virtual ~Window(); }; + } \ No newline at end of file diff --git a/src/vkcv/Core.cpp b/src/vkcv/Core.cpp index dffe0a9f461de60fcd609e14377e41f14c67a4dd..75893552712789db0928ffd671604c357af432be 100644 --- a/src/vkcv/Core.cpp +++ b/src/vkcv/Core.cpp @@ -4,6 +4,8 @@ * @brief Handling of global states regarding dependencies */ +#include <GLFW/glfw3.h> + #include "vkcv/Core.hpp" #include "PassManager.hpp" #include "PipelineManager.hpp" diff --git a/src/vkcv/Window.cpp b/src/vkcv/Window.cpp index ce05d67cb216215c625b468acdb85be2fc2a8b2e..376f363a95c1e873c435825ba97e155205851347 100644 --- a/src/vkcv/Window.cpp +++ b/src/vkcv/Window.cpp @@ -4,8 +4,9 @@ * @brief Window class to handle a basic rendering surface and input */ -#include "vkcv/Window.hpp" +#include <GLFW/glfw3.h> +#include "vkcv/Window.hpp" namespace vkcv {