diff options
| -rw-r--r-- | CMakeLists.txt | 4 | ||||
| -rw-r--r-- | include/aabb.hpp | 1 | ||||
| -rw-r--r-- | src/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | src/utils.cpp | 12 | ||||
| -rw-r--r-- | 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 <cmath>
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 <cstring> #include <iostream> +#include "defines.hpp" #include "material.hpp" std::vector<uint8_t> 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; } |
