cmake_minimum_required(VERSION 3.4.1) project(panopainter) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \ -std=c++14 -O2 \ -s USE_GLFW=3 \ -s USE_WEBGL2=1 \ -s FULL_ES3=1 \ -s USE_PTHREADS=1 \ -s ASSERTIONS=2 \ -s TOTAL_MEMORY=64Mb \ -s ALLOW_MEMORY_GROWTH=1 \ -s WASM_MEM_MAX=512MB \ ") add_executable(panopainter src/main.cpp ../libs/yoga/yoga/log.cpp ../libs/yoga/yoga/Utils.cpp ../libs/yoga/yoga/YGConfig.cpp ../libs/yoga/yoga/YGEnums.cpp ../libs/yoga/yoga/YGLayout.cpp ../libs/yoga/yoga/YGMarker.cpp ../libs/yoga/yoga/YGNode.cpp ../libs/yoga/yoga/YGNodePrint.cpp ../libs/yoga/yoga/YGStyle.cpp ../libs/yoga/yoga/YGValue.cpp ../libs/yoga/yoga/Yoga.cpp ../libs/tinyxml2/tinyxml2.cpp ../libs/jpeg/jpgd.cpp ../libs/jpeg/jpge.cpp ../libs/poly2tri/poly2tri/common/shapes.cc ../libs/poly2tri/poly2tri/sweep/advancing_front.cc ../libs/poly2tri/poly2tri/sweep/cdt.cc ../libs/poly2tri/poly2tri/sweep/sweep_context.cc ../libs/poly2tri/poly2tri/sweep/sweep.cc ../libs/fmt/src/format.cc ../src/pch.cpp ../src/util.cpp ../src/rtt.cpp ../src/bezier.cpp ../src/asset.cpp ../src/image.cpp ../src/texture.cpp ../src/font.cpp ../src/shader.cpp ../src/shape.cpp ../src/app.cpp ../src/app_cloud.cpp ../src/app_dialogs.cpp ../src/app_events.cpp ../src/app_layout.cpp ../src/app_shaders.cpp ../src/app_vr.cpp ../src/brush.cpp ../src/canvas.cpp ../src/canvas_layer.cpp ../src/canvas_actions.cpp ../src/canvas_modes.cpp ../src/log.cpp ../src/action.cpp ../src/layout.cpp ../src/version.cpp ../src/node.cpp ../src/node_about.cpp ../src/node_border.cpp ../src/node_button.cpp ../src/node_button_custom.cpp ../src/node_canvas.cpp ../src/node_checkbox.cpp ../src/node_color_quad.cpp ../src/node_colorwheel.cpp ../src/node_combobox.cpp ../src/node_changelog.cpp ../src/node_dialog_browse.cpp ../src/node_dialog_cloud.cpp ../src/node_dialog_open.cpp ../src/node_dialog_picker.cpp ../src/node_dialog_layer_rename.cpp ../src/node_dialog_resize.cpp ../src/node_icon.cpp ../src/node_image.cpp ../src/node_image_texture.cpp ../src/node_message_box.cpp ../src/node_panel_brush.cpp ../src/node_panel_color.cpp ../src/node_panel_grid.cpp ../src/node_panel_floating.cpp ../src/node_panel_layer.cpp ../src/node_panel_stroke.cpp ../src/node_panel_quick.cpp ../src/node_popup_menu.cpp ../src/node_progress_bar.cpp ../src/node_settings.cpp ../src/node_slider.cpp ../src/node_stroke_preview.cpp ../src/node_text.cpp ../src/node_text_input.cpp ../src/node_tool_bucket.cpp ../src/node_usermanual.cpp ../src/node_viewport.cpp ../src/node_scroll.cpp ../src/abr.cpp ../src/binary_stream.cpp ../src/serializer.cpp ../src/settings.cpp ../src/node_input_box.cpp ../src/node_dialog_export_ppbr.cpp ) set_target_properties(panopainter PROPERTIES SUFFIX ".html") set_target_properties(panopainter PROPERTIES LINK_FLAGS "\ --embed-file data \ -s USE_GLFW=3 \ -s USE_WEBGL2=1 \ -s FULL_ES3=1 \ -s USE_PTHREADS=1 \ -s ASSERTIONS=2 \ -s TOTAL_MEMORY=64Mb \ -s ALLOW_MEMORY_GROWTH=1 \ -s WASM_MEM_MAX=512MB \ ") target_include_directories(panopainter PRIVATE src ../src ../libs/glm ../libs/tinyxml2 ../libs/yoga ../libs/stb ../libs/jpeg ../libs/poly2tri/poly2tri ../libs/base64 ../libs/sqlite3 ../libs/nanort ../libs/hash-library ../libs/fmt/include ../libs/glad/include ../libs/tinyfiledialogs )