# Sets the minimum version of CMake required to build your native library. # This ensures that a certain set of CMake features is available to # your build. cmake_minimum_required(VERSION 3.4.1) # build native_app_glue as a static lib add_library( app-glue STATIC ${ANDROID_NDK}/sources/android/native_app_glue/android_native_app_glue.c ) # Specifies a library name, specifies whether the library is STATIC or # SHARED, and provides relative paths to the source code. You can # define multiple libraries by adding multiple add.library() commands, # and CMake builds them for you. When you build your app, Gradle # automatically packages shared libraries with your APK. # now build app's shared lib set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++14") add_library( native-lib SHARED ../libs/yoga/yoga/YGNodeList.c ../libs/yoga/yoga/Yoga.c ../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 src/main/cpp/main.cpp ../engine/pch.cpp ../engine/util.cpp ../engine/rtt.cpp ../engine/bezier.cpp ../engine/asset.cpp ../engine/image.cpp ../engine/texture.cpp ../engine/font.cpp ../engine/shader.cpp ../engine/shape.cpp ../engine/app.cpp ../engine/app_cloud.cpp ../engine/app_dialogs.cpp ../engine/app_events.cpp ../engine/app_layout.cpp ../engine/app_shaders.cpp ../engine/brush.cpp ../engine/canvas.cpp ../engine/canvas_modes.cpp ../engine/log.cpp ../engine/action.cpp ../engine/layout.cpp ../engine/node.cpp ../engine/node_border.cpp ../engine/node_button.cpp ../engine/node_button_custom.cpp ../engine/node_canvas.cpp ../engine/node_checkbox.cpp ../engine/node_color_quad.cpp ../engine/node_combobox.cpp ../engine/node_dialog_browse.cpp ../engine/node_dialog_cloud.cpp ../engine/node_dialog_open.cpp ../engine/node_dialog_layer_rename.cpp ../engine/node_icon.cpp ../engine/node_image.cpp ../engine/node_image_texture.cpp ../engine/node_message_box.cpp ../engine/node_panel_brush.cpp ../engine/node_panel_color.cpp ../engine/node_panel_layer.cpp ../engine/node_panel_stroke.cpp ../engine/node_popup_menu.cpp ../engine/node_progress_bar.cpp ../engine/node_settings.cpp ../engine/node_slider.cpp ../engine/node_stroke_preview.cpp ../engine/node_text.cpp ../engine/node_text_input.cpp ../engine/node_viewport.cpp ../engine/node_scroll.cpp ) target_include_directories(native-lib PRIVATE ${ANDROID_NDK}/sources/android/native_app_glue src/main/cpp ../engine ../libs/glm ../libs/tinyxml2 ../libs/yoga ../libs/stb ../libs/jpeg ../libs/curl-android-ios/prebuilt-with-ssl/android/include ../libs/poly2tri/poly2tri ../libs/base64 ) # add lib dependencies target_link_libraries( native-lib android app-glue ${CMAKE_SOURCE_DIR}/../libs/curl-android-ios/prebuilt-with-ssl/android/armeabi-v7a/libcurl.a EGL GLESv3 log z )