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)