add yaze_c lib top level bindings
This commit is contained in:
@@ -111,4 +111,38 @@ set_target_properties(yaze
|
||||
)
|
||||
endif()
|
||||
|
||||
add_subdirectory(test)
|
||||
add_subdirectory(test)
|
||||
|
||||
# Yaze C API
|
||||
add_library(yaze_c SHARED
|
||||
app/yaze.cc
|
||||
app/rom.cc
|
||||
${YAZE_APP_EMU_SRC}
|
||||
${YAZE_APP_CORE_SRC}
|
||||
${YAZE_APP_EDITOR_SRC}
|
||||
${YAZE_APP_GFX_SRC}
|
||||
${YAZE_APP_ZELDA3_SRC}
|
||||
${YAZE_GUI_SRC}
|
||||
${IMGUI_SRC}
|
||||
${IMGUI_TEST_ENGINE_SOURCES}
|
||||
)
|
||||
|
||||
target_include_directories(
|
||||
yaze_c PUBLIC
|
||||
lib/
|
||||
app/
|
||||
${CMAKE_SOURCE_DIR}/src/
|
||||
${CMAKE_SOURCE_DIR}/src/lib/imgui_test_engine
|
||||
${PNG_INCLUDE_DIRS}
|
||||
${SDL2_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
target_link_libraries(
|
||||
yaze_c PUBLIC
|
||||
${ABSL_TARGETS}
|
||||
${SDL_TARGETS}
|
||||
${PNG_LIBRARIES}
|
||||
${CMAKE_DL_LIBS}
|
||||
ImGuiTestEngine
|
||||
ImGui
|
||||
)
|
||||
15
src/yaze.cc
Normal file
15
src/yaze.cc
Normal file
@@ -0,0 +1,15 @@
|
||||
#include "yaze.h"
|
||||
|
||||
// TODO: Implement yaze_initialize
|
||||
void yaze_initialize(void) {}
|
||||
|
||||
// TODO: Implement yaze_cleanup
|
||||
void yaze_cleanup(void) {}
|
||||
|
||||
// TODO: Implement load_rom
|
||||
Rom load_rom(const char* filename) {
|
||||
Rom rom;
|
||||
rom.filename = filename;
|
||||
rom.data = nullptr;
|
||||
return rom;
|
||||
}
|
||||
27
src/yaze.h
Normal file
27
src/yaze.h
Normal file
@@ -0,0 +1,27 @@
|
||||
#ifndef YAZE_H
|
||||
#define YAZE_H
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void yaze_initialize(void);
|
||||
|
||||
void yaze_cleanup(void);
|
||||
|
||||
typedef struct Rom Rom;
|
||||
|
||||
struct Rom {
|
||||
const char* filename;
|
||||
const uint8_t* data;
|
||||
};
|
||||
|
||||
Rom load_rom(const char* filename);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // YAZE_H
|
||||
Reference in New Issue
Block a user