diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ea4efa9..fee7add 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -6,9 +6,9 @@ set(SOURCES_COMMON stick.c analogue.c) set(SOURCES_SDL_RENDERER draw.c) -set(SOURCES_METAL draw_metal.m metal_shader_types.h) -set(SOURCES_OPENGL draw_opengl_core.c) -set(SOURCES_OPENGL_LEGACY draw_opengl.c) +set(SOURCES_METAL metal/draw_metal.m metal/metal_shader_types.h) +set(SOURCES_OPENGL glcore/draw_opengl_core.c) +set(SOURCES_OPENGL_LEGACY gl/draw_opengl.c) function (common_setup _TARGET) target_link_libraries(${_TARGET} @@ -32,20 +32,21 @@ if (BUILD_METAL) find_library(FOUNDATION Foundation REQUIRED) find_library(QUARTZCORE QuartzCore REQUIRED) include(MetalHelper) - metal_compile(OUTPUT shader.metallib SOURCES shader.metal) + metal_compile(OUTPUT shader.metallib SOURCES metal/shader.metal) bin2h_compile(OUTPUT metalShader.h BIN ${CMAKE_CURRENT_BINARY_DIR}/shader.metallib) add_executable(${TARGET}_metal ${SOURCES_COMMON} ${SOURCES_METAL} ${CMAKE_CURRENT_BINARY_DIR}/metalShader.h) - target_include_directories(${TARGET}_metal PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) + target_include_directories(${TARGET}_metal PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) target_link_libraries(${TARGET}_metal ${METAL} ${QUARTZCORE} ${FOUNDATION}) + target_compile_definitions(${TARGET}_metal PRIVATE USE_METAL) common_setup(${TARGET}_metal) endif() if (BUILD_OPENGL) include(GL3WHelper) add_gl3w(gl3w) - bin2h_compile(OUTPUT glslShaders.h TXT vert.glsl geom.glsl frag.glsl) + bin2h_compile(OUTPUT glslShaders.h TXT glcore/vert.glsl glcore/geom.glsl glcore/frag.glsl) add_executable(${TARGET}_glcore ${SOURCES_COMMON} ${SOURCES_OPENGL} ${CMAKE_CURRENT_BINARY_DIR}/glslShaders.h) - target_include_directories(${TARGET}_glcore PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) + target_include_directories(${TARGET}_glcore PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) target_link_libraries(${TARGET}_glcore OpenGL::GL gl3w) target_compile_definitions(${TARGET}_glcore PRIVATE USE_OPENGL) common_setup(${TARGET}_glcore) @@ -53,6 +54,7 @@ endif() if (BUILD_OPENGL_LEGACY) add_executable(${TARGET}_gl ${SOURCES_COMMON} ${SOURCES_OPENGL_LEGACY}) + target_include_directories(${TARGET}_gl PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) target_link_libraries(${TARGET}_gl OpenGL::GL) target_compile_definitions(${TARGET}_gl PRIVATE USE_OPENGL) common_setup(${TARGET}_gl) diff --git a/src/draw_opengl.c b/src/gl/draw_opengl.c similarity index 100% rename from src/draw_opengl.c rename to src/gl/draw_opengl.c diff --git a/src/draw_opengl_core.c b/src/glcore/draw_opengl_core.c similarity index 100% rename from src/draw_opengl_core.c rename to src/glcore/draw_opengl_core.c diff --git a/src/frag.glsl b/src/glcore/frag.glsl similarity index 100% rename from src/frag.glsl rename to src/glcore/frag.glsl diff --git a/src/geom.glsl b/src/glcore/geom.glsl similarity index 100% rename from src/geom.glsl rename to src/glcore/geom.glsl diff --git a/src/vert.glsl b/src/glcore/vert.glsl similarity index 100% rename from src/vert.glsl rename to src/glcore/vert.glsl diff --git a/src/draw_metal.m b/src/metal/draw_metal.m similarity index 100% rename from src/draw_metal.m rename to src/metal/draw_metal.m diff --git a/src/metal_shader_types.h b/src/metal/metal_shader_types.h similarity index 100% rename from src/metal_shader_types.h rename to src/metal/metal_shader_types.h diff --git a/src/shader.metal b/src/metal/shader.metal similarity index 100% rename from src/shader.metal rename to src/metal/shader.metal