FTXUI/examples/CMakeLists.txt

32 lines
1.1 KiB
CMake
Raw Permalink Normal View History

if(NOT FTXUI_BUILD_EXAMPLES)
return()
endif()
set(EXAMPLES_DIR ${CMAKE_CURRENT_SOURCE_DIR})
function(example name)
add_executable(ftxui_example_${name} ${name}.cpp)
target_link_libraries(ftxui_example_${name} PUBLIC ${DIRECTORY_LIB})
file(RELATIVE_PATH dir ${EXAMPLES_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
set_property(GLOBAL APPEND PROPERTY FTXUI::EXAMPLES ${dir}/${name})
target_compile_features(ftxui_example_${name} PRIVATE cxx_std_17)
endfunction(example)
2019-01-03 05:33:59 +08:00
add_subdirectory(component)
add_subdirectory(dom)
2021-03-22 07:26:52 +08:00
if (EMSCRIPTEN)
2022-03-14 01:51:46 +08:00
# 32MB should be enough to run all the examples, in debug mode.
target_link_options(component PUBLIC "SHELL: -s TOTAL_MEMORY=33554432")
2022-03-31 08:17:43 +08:00
target_link_options(component PUBLIC "SHELL: -s ASSERTIONS=1")
#string(APPEND CMAKE_EXE_LINKER_FLAGS " -s ALLOW_MEMORY_GROWTH=1")
#target_link_options(component PUBLIC "SHELL: -s ALLOW_MEMORY_GROWTH=1")
2022-03-14 01:51:46 +08:00
get_property(EXAMPLES GLOBAL PROPERTY FTXUI::EXAMPLES)
2021-03-22 07:26:52 +08:00
foreach(file
"index.html"
"sw.js"
"run_webassembly.py")
configure_file(${file} ${file})
2021-03-22 07:26:52 +08:00
endforeach(file)
endif()