# select the 3D backend for sokol_gfx.h and sokol_app.h
# the sokol_config() macro is in the top-level CMakeLists.txt file!
sokol_config()

fips_ide_group(Samples)
fips_begin_app(triangle-sapp windowed)
    fips_vs_warning_level(3)
    fips_files(triangle-sapp.c)
    sokol_shader(triangle-sapp.glsl ${slang})
    fips_deps(sokol)
fips_end_app()
fips_ide_group(SamplesWithDebugUI)
fips_begin_app(triangle-sapp-ui windowed)
    fips_vs_warning_level(3)
    fips_files(triangle-sapp.c)
    sokol_shader(triangle-sapp.glsl ${slang})
    fips_deps(sokol dbgui imgui)
fips_end_app()
target_compile_definitions(triangle-sapp-ui PRIVATE USE_DBG_UI)

fips_ide_group(Samples)
fips_begin_app(imgui-sapp windowed)
    fips_vs_warning_level(3)
    fips_files(imgui-sapp.cc)
    # use sokol-cpp for testing here, this isn't required though
    fips_deps(sokol-cpp imgui)
    if (FIPS_IOS)
        fips_files(ios-info.plist)
    endif()
fips_end_app()

fips_ide_group(Samples)
fips_begin_app(CogDemoImgui windowed)
    fips_vs_warning_level(3)
    fips_files(
	CAudio_Sokol.cpp
	CAudio_Sokol.h
	CAudioMixer.h
	CAudioMixMultiSource.cpp
	CAudioMixMultiSource.h
	CDemoBase.cpp
	CDemoBase.h
	CDemoDispatch.cpp
	CDemoDispatch.h
	CDemoGlobals.cpp
	CDemoGlobals.h
	CDemoImgui.cpp
	CDemoImgui.h
	CDemoSpokes.cpp
	CDemoSpokes.h
	CDemoTriangle.cpp
	CDemoTriangle.h
	CogDemoGui.cpp
	zr_happy009.wav.cpp
	zr_wurlitzer66216.wav.cpp
	)
    sokol_shader(demo-spokes.glsl ${slang})
    sokol_shader(demo-triangle.glsl ${slang})
    # use sokol-cpp for testing here, this isn't required though
    fips_deps(sokol-cpp imgui)
    if (FIPS_IOS)
        fips_files(ios-info.plist)
    endif()
fips_end_app()
