]> O.S.I.I.S - jp/vkhelpers.git/commitdiff
Implmented switch between Tinycthread and Threads.h
authorLinuxLegend <Tyler@linuxdev.app>
Mon, 28 Mar 2022 10:26:30 +0000 (04:26 -0600)
committerLinuxLegend <Tyler@linuxdev.app>
Mon, 28 Mar 2022 10:26:30 +0000 (04:26 -0600)
CMakeLists.txt
include/vkh.h
meson.build

index 831dbee1c45580413f99e8157899144434cea382..845d6214e26a7fd4a865d7fb121f1d839b058872 100644 (file)
@@ -58,7 +58,11 @@ FIND_PACKAGE(Vulkan REQUIRED)
 
 INCLUDE(GNUInstallDirs)
 
-FILE(GLOB VKH_SRC src/*.c src/deps/*.c)
+FILE(GLOB VKH_SRC src/*.c)
+
+IF (WIN32)
+LIST(APPEND VKH_SRC src/deps/*.c)
+ENDIF()
 
 CONFIGURE_FILE(vkh.pc.in vkh.pc @ONLY)
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/vkh.pc DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig)
index 93db165913081b8815d9ffe31f0b2a14e56706f7..78c0657dd219b60d20f959e099ad35a1913bdcd0 100644 (file)
@@ -30,8 +30,12 @@ extern "C" {
 
 #include <vulkan/vulkan.h>
 
+#if defined(_WIN32) || defined(WIN32) || defined(__WIN32__) || defined(_WIN64) || defined(WIN64) || defined(__WIN64__)
 #include "deps/tinycthread.h"
-
+#else
+// For platforms outside of Windows, Threads.h is provided for by compiler that supports C11 standard.
+#include <threads.h>
+#endif
 typedef enum VmaMemoryUsage VmaMemoryUsage;
 
 #include <stdlib.h>
index 12d74db2c83e8f0f96daf22b5893783b12c6dc8b..4ce3a84bfabddef4e1d06ed1b23defea4d657d3f 100644 (file)
@@ -166,10 +166,13 @@ vkh_src = [
     'src/vkh_presenter.c',
     'src/vkh_queue.c',
     'src/vkhelpers.c',
-    'src/deps/tinycthread.c',
     'src/VmaUsage.cpp'
 ]
 
+if (host_machine.system() == 'windows')
+    vkh_src += 'src/deps/tinycthread.c'
+endif
+
 vkh_include = [
     'include',
     'src',