diff --git a/examples/sokol-video-demo/CMakeLists.txt b/examples/sokol-video-demo/CMakeLists.txt index f073d20..6ce8bd9 100644 --- a/examples/sokol-video-demo/CMakeLists.txt +++ b/examples/sokol-video-demo/CMakeLists.txt @@ -4,6 +4,12 @@ project(sokol_video_demo C) include(FetchContent) set(FETCHCONTENT_QUIET FALSE) +# Linux -pthread shenanigans +if (CMAKE_SYSTEM_NAME STREQUAL Linux) + set(THREADS_PREFER_PTHREAD_FLAG ON) + find_package(Threads REQUIRED) +endif() + FetchContent_Declare( fontstash GIT_REPOSITORY "https://github.com/memononen/fontstash.git" @@ -42,18 +48,22 @@ else() if (CMAKE_SYSTEM_NAME STREQUAL Linux) target_compile_definitions(sokol PRIVATE SOKOL_GLCORE=1) target_link_libraries(sokol INTERFACE X11 Xi Xcursor GL dl m) + target_link_libraries(sokol PUBLIC Threads::Threads) endif() endif() target_include_directories(sokol INTERFACE ${sokol_SOURCE_DIR} ${fontstash_SOURCE_DIR}/src PRIVATE ${sokol_SOURCE_DIR} ${fontstash_SOURCE_DIR}/src) -if(MSVC) - set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /ENTRY:mainCRTStartup") - set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /ENTRY:mainCRTStartup") -endif() -add_executable(sokol_video_demo main.c) + +if(CMAKE_SYSTEM_NAME STREQUAL Windows) + add_executable(sokol_video_demo WIN32 main.c) + set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT sokol_video_demo) +else() + add_executable(sokol_video_demo main.c) +endif() target_link_libraries(sokol_video_demo PUBLIC sokol) + add_custom_command( TARGET sokol_video_demo POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory diff --git a/examples/sokol-video-demo/main.c b/examples/sokol-video-demo/main.c index 2fa3977..ba39b87 100644 --- a/examples/sokol-video-demo/main.c +++ b/examples/sokol-video-demo/main.c @@ -28,7 +28,7 @@ static void init() { sclay_setup(); uint64_t totalMemorySize = Clay_MinMemorySize(); Clay_Arena clayMemory = Clay_CreateArenaWithCapacityAndMemory(totalMemorySize, malloc(totalMemorySize)); - Clay_Initialize(clayMemory, (Clay_Dimensions){ (float)sapp_width(), (float)sapp_height() }, (Clay_ErrorHandler){}); + Clay_Initialize(clayMemory, (Clay_Dimensions){ (float)sapp_width(), (float)sapp_height() }, (Clay_ErrorHandler){0}); fonts[FONT_ID_BODY_16] = sclay_add_font("resources/Roboto-Regular.ttf"); Clay_SetMeasureTextFunction(sclay_measure_text, &fonts); demoData = ClayVideoDemo_Initialize(); @@ -75,5 +75,3 @@ sapp_desc sokol_main(int argc, char **argv) { .logger.func = slog_func, }; } - -int main(); \ No newline at end of file