cmake_minimum_required(VERSION 3.21)
project(leaf_flare LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 14)
file(GLOB FLARE_FILES "${FLARE_SOURCE}/src/*.cpp")
add_executable(flare ${FLARE_FILES} "${LEAF_ADAPTER}/flare-browser.cpp")
target_include_directories(flare PRIVATE "${FLARE_SOURCE}/src" "${LEAF_ADAPTER}")
target_compile_options(flare PRIVATE -O2 -fexceptions -sUSE_SDL=2 -sUSE_SDL_IMAGE=2
 "-sSDL2_IMAGE_FORMATS=['png','jpg']" -sUSE_SDL_TTF=2 -sUSE_SDL_MIXER=2
 "-sSDL2_MIXER_FORMATS=['ogg']")
target_link_options(flare PRIVATE -O2 -fexceptions -sDISABLE_EXCEPTION_CATCHING=0
 -sUSE_SDL=2 -sUSE_SDL_IMAGE=2 "-sSDL2_IMAGE_FORMATS=['png','jpg']"
 -sUSE_SDL_TTF=2 -sUSE_SDL_MIXER=2 "-sSDL2_MIXER_FORMATS=['ogg']"
 -sASYNCIFY -sEXIT_RUNTIME=1 -sALLOW_MEMORY_GROWTH -sSTACK_SIZE=2097152 -sASSERTIONS=1
 -sEXPORTED_RUNTIME_METHODS=FS,ENV,callMain,ccall
 -sINCOMING_MODULE_JS_API=canvas,preRun,noInitialRun,onRuntimeInitialized,onAbort,onExit,print,printErr,arguments,wasmBinary,locateFile
 -Wl,--wrap=SDL_RenderPresent -Wl,--wrap=SDL_CreateWindow)
set_target_properties(flare PROPERTIES SUFFIX ".js")
