Skip to content

Instantly share code, notes, and snippets.

@floooh
Created March 26, 2020 17:15
Show Gist options
  • Save floooh/073ae6aeb27a3d57a69092633ed4d551 to your computer and use it in GitHub Desktop.
Save floooh/073ae6aeb27a3d57a69092633ed4d551 to your computer and use it in GitHub Desktop.
NextSim target structure proposal
if (FIPS_EMSCRIPTEN)
add_definitions(-DSOKOL_GLES2)
set(slang "glsl100")
elseif (FIPS_WINDOWS)
add_definitions(-DSOKOL_D3D11)
set(slang "hlsl5")
elseif (FIPS_OSX)
add_definitions(-DSOKOL_METAL)
if (FIPS_IOS)
set(slang "metal_ios:metal_sim")
else()
set(slang "metal_macos")
endif()
else()
add_definitions(-DSOKOL_GLCORE33)
set(slang "glsl330")
endif()
fips_begin_lib(sokol)
fips_vs_warning_level(3)
if (FIPS_OSX)
fips_files(sokol.m)
if (FIPS_IOS)
fips_frameworks_osx(UIKit Metal MetalKit AudioToolbox)
else()
fips_frameworks_osx(Cocoa QuartzCore Metal MetalKit AudioToolbox)
endif()
else()
fips_files(sokol.c)
if (FIPS_ANDROID)
fips_libs(GLESv3 EGL OpenSLES log android)
elseif (FIPS_LINUX)
fips_libs(X11 GL m dl asound)
endif()
endif()
fips_end_lib()
fips_begin_lib(ay38500)
fips_vs_warning_level(3)
fips_dir(unique/AY38500)
fips_files(support.c segdefs.c netlist.c nodenames.c)
fips_end_lib()
target_include_directories(ay38500 PUBLIC unique/AY38500)
fips_begin_lib(m6502)
fips_vs_warning_level(3)
fips_dir(unique/6502)
fips_files(support.c segdefs.c netlist.c nodenames.c)
fips_end_lib()
target_include_directories(m6502 PUBLIC unique/6502)
fips_begin_lib(nextsim_lib)
fips_vs_warning_level(3)
fips_files(gfx.c util.c asm.c netlist_sim.c)
fips_files(ui_asm.cc)
sokol_shader(chipvis.glsl ${slang})
fips_dir(res)
fips_generate(FROM fonts.yml TYPE dump HEADER fonts.h)
fips_generate(FROM markdown.yml TYPE dump HEADER markdown.h)
fips_files(help_assembler.md about.md favicon.png)
fips_deps(sokol imgui texteditor asmx)
fips_end_lib()
fips_begin_app(NextSim_AY38500 windowed)
fips_vs_warning_level(3)
fips_files(main.h main.c sim.c trace.c pick.c chipvis.c)
fips_files(ui.cc)
fips_deps(nextsim_lib ay38500)
fips_end_app()
fips_begin_app(NextSim_6502 windowed)
fips_vs_warning_level(3)
fips_files(main.h main.c sim.c trace.c pick.c chipvis.c)
fips_files(ui.cc)
fips_deps(nextsim_lib m6502)
fips_end_app()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment