summaryrefslogtreecommitdiffstats
path: root/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/core/app-framework/app_framework.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/core/app-framework/app_framework.cmake')
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/core/app-framework/app_framework.cmake93
1 files changed, 93 insertions, 0 deletions
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/core/app-framework/app_framework.cmake b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/core/app-framework/app_framework.cmake
new file mode 100644
index 000000000..b8a63d856
--- /dev/null
+++ b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/core/app-framework/app_framework.cmake
@@ -0,0 +1,93 @@
+# Copyright (C) 2019 Intel Corporation. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
+
+add_definitions (-DWASM_ENABLE_APP_FRAMEWORK=1)
+
+set (APP_FRAMEWORK_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR})
+
+if ( NOT DEFINED APP_FRAMEWORK_INCLUDE_TYPE )
+ LIST (APPEND WASM_APP_LIB_SOURCE_ALL ${CMAKE_CURRENT_LIST_DIR}/app_ext_lib_export.c)
+endif()
+
+# app-native-shared and base are required
+include (${APP_FRAMEWORK_ROOT_DIR}/app-native-shared/native_interface.cmake)
+LIST (APPEND WASM_APP_SOURCE_ALL ${NATIVE_INTERFACE_SOURCE})
+
+MACRO(SUBDIRLIST result curdir)
+ FILE(GLOB children RELATIVE ${curdir} ${curdir}/*)
+ SET(dirlist "")
+ FOREACH(child ${children})
+ IF(IS_DIRECTORY ${curdir}/${child})
+ LIST(APPEND dirlist ${child})
+ ENDIF()
+ ENDFOREACH()
+ SET(${result} ${dirlist})
+ENDMACRO()
+
+function (add_module_native arg)
+ message ("Add native module ${ARGV0}")
+ include (${APP_FRAMEWORK_ROOT_DIR}/${ARGV0}/native/wasm_lib.cmake)
+
+ file (GLOB header
+ ${APP_FRAMEWORK_ROOT_DIR}/${ARGV0}/native/*.h
+ ${APP_FRAMEWORK_ROOT_DIR}/${ARGV0}/native/*.inl
+ )
+
+ LIST (APPEND WASM_APP_LIBS_DIR ${APP_FRAMEWORK_ROOT_DIR}/${ARGV0}/native)
+ set (WASM_APP_LIBS_DIR ${WASM_APP_LIBS_DIR} PARENT_SCOPE)
+
+ LIST (APPEND RUNTIME_LIB_HEADER_LIST ${header})
+ set (RUNTIME_LIB_HEADER_LIST ${RUNTIME_LIB_HEADER_LIST} PARENT_SCOPE)
+
+ LIST (APPEND WASM_APP_LIB_SOURCE_ALL ${WASM_APP_LIB_CURRENT_SOURCE})
+ set (WASM_APP_LIB_SOURCE_ALL ${WASM_APP_LIB_SOURCE_ALL} PARENT_SCOPE)
+endfunction ()
+
+function (add_module_app arg)
+ message ("Add app module ${ARGV0}")
+ include (${APP_FRAMEWORK_ROOT_DIR}/${ARGV0}/app/wasm_app.cmake)
+
+ LIST (APPEND WASM_APP_WA_INC_DIR_LIST "${APP_FRAMEWORK_ROOT_DIR}/${ARGV0}/app/wa-inc")
+ set (WASM_APP_WA_INC_DIR_LIST ${WASM_APP_WA_INC_DIR_LIST} PARENT_SCOPE)
+
+ LIST (APPEND WASM_APP_NAME ${ARGV0})
+ set (WASM_APP_NAME ${WASM_APP_NAME} PARENT_SCOPE)
+
+ LIST (APPEND WASM_APP_SOURCE_ALL ${WASM_APP_CURRENT_SOURCE})
+ set (WASM_APP_SOURCE_ALL ${WASM_APP_SOURCE_ALL} PARENT_SCOPE)
+endfunction ()
+
+if ("${WAMR_BUILD_APP_LIST}" STREQUAL "WAMR_APP_BUILD_ALL")
+ # add all modules under this folder
+ SUBDIRLIST(SUBDIRS ${APP_FRAMEWORK_ROOT_DIR})
+
+ FOREACH(subdir ${SUBDIRS})
+ if ("${subdir}" STREQUAL "app-native-shared")
+ continue()
+ endif ()
+ if ("${subdir}" STREQUAL "template")
+ continue()
+ endif ()
+
+ if ( NOT DEFINED APP_FRAMEWORK_INCLUDE_TYPE )
+ add_module_native (${subdir})
+ else ()
+ add_module_app (${subdir})
+ endif ()
+ ENDFOREACH()
+
+else ()
+ # add each module in the list
+ FOREACH (dir IN LISTS WAMR_BUILD_APP_LIST)
+ string(REPLACE "WAMR_APP_BUILD_" "" dir ${dir})
+ string(TOLOWER ${dir} dir)
+
+ if ( NOT DEFINED APP_FRAMEWORK_INCLUDE_TYPE )
+ add_module_native (${dir})
+ else ()
+ add_module_app (${dir})
+ endif ()
+ ENDFOREACH (dir)
+
+endif()