mirror of
https://github.com/nicbarker/clay.git
synced 2025-04-15 10:48:04 +00:00
57 lines
1.9 KiB
CMake
57 lines
1.9 KiB
CMake
cmake_minimum_required(VERSION 3.27)
|
|
project(sokol_video_demo C)
|
|
|
|
include(FetchContent)
|
|
set(FETCHCONTENT_QUIET FALSE)
|
|
|
|
FetchContent_Declare(
|
|
fontstash
|
|
GIT_REPOSITORY "https://github.com/memononen/fontstash.git"
|
|
GIT_TAG "b5ddc9741061343740d85d636d782ed3e07cf7be"
|
|
GIT_PROGRESS TRUE
|
|
GIT_SHALLOW TRUE
|
|
)
|
|
FetchContent_MakeAvailable(fontstash)
|
|
|
|
FetchContent_Declare(
|
|
sokol
|
|
GIT_REPOSITORY "https://github.com/floooh/sokol.git"
|
|
GIT_TAG "da9de496f938b7575eff7f01ab774d77469bd390"
|
|
GIT_PROGRESS TRUE
|
|
GIT_SHALLOW TRUE
|
|
)
|
|
FetchContent_MakeAvailable(sokol)
|
|
set(sokol_HEADERS
|
|
${sokol_SOURCE_DIR}/sokol_app.h
|
|
${sokol_SOURCE_DIR}/sokol_gfx.h
|
|
${sokol_SOURCE_DIR}/sokol_glue.h
|
|
${sokol_SOURCE_DIR}/sokol_log.h
|
|
${sokol_SOURCE_DIR}/util/sokol_gl.h
|
|
${fontstash_SOURCE_DIR}/src/fontstash.h
|
|
${sokol_SOURCE_DIR}/util/sokol_fontstash.h)
|
|
if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
|
|
add_library(sokol STATIC sokol.c ${sokol_HEADERS})
|
|
target_compile_options(sokol PRIVATE -x objective-c)
|
|
target_link_libraries(sokol PUBLIC
|
|
"-framework QuartzCore"
|
|
"-framework Cocoa"
|
|
"-framework MetalKit"
|
|
"-framework Metal")
|
|
else()
|
|
add_library(sokol STATIC sokol.c ${sokol_HEADERS})
|
|
if (CMAKE_SYSTEM_NAME STREQUAL Linux)
|
|
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)
|
|
|
|
add_executable(sokol_video_demo main.c)
|
|
target_link_libraries(sokol_video_demo PUBLIC sokol)
|
|
add_custom_command(
|
|
TARGET sokol_video_demo POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
${CMAKE_CURRENT_SOURCE_DIR}/resources
|
|
${CMAKE_CURRENT_BINARY_DIR}/resources)
|