From b4c2ce16c660c27dbfdeef12a55a0c7d448a83d2 Mon Sep 17 00:00:00 2001 From: ladevieq Date: Thu, 1 Apr 2021 09:15:10 +0200 Subject: Fix linux build --- CMakeLists.txt | 4 +++- include/aabb.hpp | 1 + src/CMakeLists.txt | 4 ++-- src/utils.cpp | 12 +++++++++++- src/window.cpp | 2 +- 5 files changed, 18 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f857345..70bcdfa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,16 +6,18 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake" CACHE STRING "Vcpkg toolchain file") +if(WIN32) add_compile_options( -fcolor-diagnostics -fansi-escape-codes # colored output when using ninja ) +endif() project(path-tracer VERSION 1.0 LANGUAGES CXX) find_package(imgui CONFIG REQUIRED) find_package(Vulkan REQUIRED) -if(${CMAKE_SYSTEM_NAME} EQUAL "Linux") +if(UNIX AND NOT APPLE) find_package(X11 REQUIRED) endif() diff --git a/include/aabb.hpp b/include/aabb.hpp index 18f6d09..c5a7b86 100644 --- a/include/aabb.hpp +++ b/include/aabb.hpp @@ -2,6 +2,7 @@ #define __AABB_HPP_ #include "vec3.hpp" +#include class aabb { public: diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 048a159..91cdf43 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -3,7 +3,7 @@ add_definitions(-DNOMINMAX -D_USE_MATH_DEFINES) include_directories(${CMAKE_SOURCE_DIR}/include) include_directories(${Vulkan_INCLUDE_DIRS}) -if(${CMAKE_SYSTEM_NAME} EQUAL "Linux") +if(UNIX AND NOT APPLE) include_directories(${X11_xcb_INCLUDE_PATH}) endif() @@ -23,7 +23,7 @@ add_executable( window.cpp ) -if(${CMAKE_SYSTEM_NAME} EQUAL "Linux") +if(UNIX AND NOT APPLE) list(APPEND LIBRARIES ${CMAKE_DL_LIBS} ${X11_xcb_LIB} ${X11_xkbcommon_LIB} ${X11_xkbcommon_X11_LIB}) endif() diff --git a/src/utils.cpp b/src/utils.cpp index b228e82..eb119e8 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -4,16 +4,26 @@ #include #include +#include "defines.hpp" #include "material.hpp" std::vector get_shader_code(const char* path) { +#if defined(WINDOWS) FILE* f = nullptr; errno_t err = fopen_s(&f, path, "rb"); if (err != 0) { - std::cerr << "Cannot open compute shader file !" << std::endl; + std::cerr << "Cannot open shader file !" << std::endl; return {}; } +#elif defined(LINUX) + FILE* f = fopen(path, "rb"); + + if (!f) { + std::cerr << "Cannot open shader file !" << std::endl; + return {}; + } +#endif if (fseek(f, 0, SEEK_END) != 0) { return {}; diff --git a/src/window.cpp b/src/window.cpp index 793f67d..a5b1032 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -149,7 +149,7 @@ void window::poll_events() { events.push_back({ .x = motion_event->event_x, .y = motion_event->event_y, - .type = EVENT_TYPES::MOVE, + .type = EVENT_TYPES::MOUSE_MOVE, }); break; } -- cgit v1.3