old backend selector

This commit is contained in:
2023-06-28 06:43:46 +10:00
parent a75e480155
commit 8f7bf116aa
2 changed files with 19 additions and 32 deletions

View File

@ -2,15 +2,15 @@ set(SOURCES
maths.h
draw.h
draw_common.c
$<$<NOT:$<OR:$<BOOL:${USE_METAL}>,$<BOOL:${USE_OPENGL}>,$<BOOL:${USE_OPENGL_LEGACY}>>>:draw.c>
$<$<BOOL:${USE_METAL}>:draw_metal.m metal_shader_types.h>
$<$<BOOL:${USE_OPENGL}>:draw_opengl_core.c>
$<$<BOOL:${USE_OPENGL_LEGACY}>:draw_opengl.c>
$<$<NOT:$<OR:$<STREQUAL:${GFX_BACKEND},OPENGL>,$<STREQUAL:${GFX_BACKEND},OPENGL_LEGACY>,$<STREQUAL:${GFX_BACKEND},METAL>>>:draw.c>
$<$<STREQUAL:${GFX_BACKEND},METAL>:draw_metal.m metal_shader_types.h>
$<$<STREQUAL:${GFX_BACKEND},OPENGL>:draw_opengl_core.c>
$<$<STREQUAL:${GFX_BACKEND},OPENGL_LEGACY>:draw_opengl.c>
stick.h
stick.c
analogue.c)
if (USE_METAL)
if (GFX_BACKEND STREQUAL "METAL")
find_library(METAL Metal REQUIRED)
find_library(FOUNDATION Foundation REQUIRED)
find_library(QUARTZCORE QuartzCore REQUIRED)
@ -19,7 +19,7 @@ if (USE_METAL)
include(BinHelper)
bin2h_compile(OUTPUT metalShader.h BIN ${CMAKE_CURRENT_BINARY_DIR}/shader.metallib)
list(APPEND SOURCES ${CMAKE_CURRENT_BINARY_DIR}/metalShader.h)
elseif (USE_OPENGL)
elseif (GFX_BACKEND STREQUAL "OPENGL")
include(GL3WHelper)
add_gl3w(gl3w)
include(BinHelper)
@ -29,16 +29,16 @@ endif()
add_executable(${TARGET} ${SOURCES})
target_include_directories(${TARGET} PRIVATE
$<$<OR:$<BOOL:${USE_METAL}>,$<BOOL:${USE_OPENGL}>>:${CMAKE_CURRENT_BINARY_DIR}>)
$<$<OR:$<STREQUAL:${GFX_BACKEND},OPENGL>,$<STREQUAL:${GFX_BACKEND},METAL>>:${CMAKE_CURRENT_BINARY_DIR}>)
target_link_libraries(${TARGET}
$<$<PLATFORM_ID:Windows>:SDL2::SDL2main>
SDL2::SDL2
$<$<BOOL:${USE_METAL}>:${METAL} ${QUARTZCORE} ${FOUNDATION}>
$<$<OR:$<BOOL:${USE_OPENGL}>,$<BOOL:${USE_OPENGL_LEGACY}>>:OpenGL::GL>
$<$<BOOL:${USE_OPENGL}>:gl3w>
$<$<STREQUAL:${GFX_BACKEND},METAL>:${METAL} ${QUARTZCORE} ${FOUNDATION}>
$<$<OR:$<STREQUAL:${GFX_BACKEND},OPENGL>,$<STREQUAL:${GFX_BACKEND},OPENGL_LEGACY>>:OpenGL::GL>
$<$<STREQUAL:${GFX_BACKEND},OPENGL>:gl3w>
$<$<BOOL:${GNU}>:m>)
target_compile_options(${TARGET} PRIVATE
$<$<BOOL:${GNU}>:-Wall -Wextra -pedantic -Wno-unused-parameter>)
target_compile_definitions(${TARGET} PRIVATE
$<$<BOOL:${USE_METAL}>:USE_METAL>
$<$<OR:$<BOOL:${USE_OPENGL}>,$<BOOL:${USE_OPENGL_LEGACY}>>:USE_OPENGL>)
$<$<STREQUAL:${GFX_BACKEND},METAL>:USE_METAL>
$<$<OR:$<STREQUAL:${GFX_BACKEND},OPENGL>,$<STREQUAL:${GFX_BACKEND},OPENGL_LEGACY>>:USE_OPENGL>)