cmake_minimum_required(VERSION 3.13)
project(AnyfileLazPerf LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
file(GLOB SOURCES "${LAZPERF_SOURCE}/cpp/lazperf/*.cpp" "${LAZPERF_SOURCE}/cpp/lazperf/detail/*.cpp")
add_executable(laz-perf ${SOURCES} "${LAZPERF_SOURCE}/cpp/emscripten/laz-perf.cpp")
target_include_directories(laz-perf PRIVATE "${LAZPERF_SOURCE}/cpp" "${LAZPERF_SOURCE}/cpp/lazperf")
target_compile_options(laz-perf PRIVATE -O2 -fwasm-exceptions "-ffile-prefix-map=${LAZPERF_SOURCE}=/laz-perf")
target_link_options(laz-perf PRIVATE -O2 -fwasm-exceptions --bind -sMODULARIZE=1 -sEXPORT_ES6=1 -sENVIRONMENT=worker -sDYNAMIC_EXECUTION=0 -sALLOW_MEMORY_GROWTH=1 -sMAXIMUM_MEMORY=268435456 -sINITIAL_MEMORY=16777216 -sABORTING_MALLOC=0 "-sEXPORTED_FUNCTIONS=['_malloc','_free']")
set_target_properties(laz-perf PROPERTIES SUFFIX .js)
