summaryrefslogtreecommitdiffhomepage
path: root/examples/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'examples/CMakeLists.txt')
-rw-r--r--examples/CMakeLists.txt18
1 files changed, 18 insertions, 0 deletions
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 32d27ddc..5f0b0242 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -28,6 +28,24 @@ include(CheckIncludeFiles)
set(OUTPUT_EXT)
list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/rlgl_standalone.c)
+include(CheckIncludeFile)
+CHECK_INCLUDE_FILE("stdatomic.h" HAVE_STDATOMIC_H)
+set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
+find_package(Threads)
+if (CMAKE_USE_PTHREADS_INIT AND HAVE_STDATOMIC_H)
+ add_if_flag_compiles("-std=c11" CMAKE_C_FLAGS)
+ if(THREADS_HAVE_PTHREAD_ARG)
+ add_if_flag_compiles("-pthread" CMAKE_C_FLAGS)
+ endif()
+ if(CMAKE_THREAD_LIBS_INIT)
+ link_libraries("${CMAKE_THREAD_LIBS_INIT}")
+ endif()
+else()
+ # Items requiring pthreads
+ list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/core/core_loading_thread.c)
+endif()
+
+
if(${PLATFORM} MATCHES "Android")
list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/rlgl_standalone.c)
list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/standard_lighting.c)