mirror of
https://github.com/wgh136/flutter_qjs.git
synced 2025-09-27 13:27:24 +00:00
44 lines
1.4 KiB
CMake
44 lines
1.4 KiB
CMake
cmake_minimum_required(VERSION 3.10)
|
|
|
|
set(CXX_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../cxx)
|
|
|
|
# quickjs
|
|
set(QUICK_JS_LIB_DIR ${CXX_LIB_DIR}/quickjs)
|
|
file (STRINGS "${QUICK_JS_LIB_DIR}/VERSION" QUICKJS_VERSION)
|
|
add_library(libquickjs SHARED
|
|
${QUICK_JS_LIB_DIR}/cutils.c
|
|
${QUICK_JS_LIB_DIR}/libregexp.c
|
|
${QUICK_JS_LIB_DIR}/libunicode.c
|
|
${QUICK_JS_LIB_DIR}/quickjs.c
|
|
)
|
|
project(libquickjs LANGUAGES C)
|
|
target_compile_options(libquickjs PRIVATE "-DCONFIG_VERSION=\"${QUICKJS_VERSION}\"")
|
|
target_compile_options(libquickjs PRIVATE "-DDUMP_LEAKS")
|
|
|
|
set(PROJECT_NAME "flutter_qjs")
|
|
project(${PROJECT_NAME} LANGUAGES CXX)
|
|
|
|
set(PLUGIN_NAME "${PROJECT_NAME}_plugin")
|
|
|
|
add_library(${PLUGIN_NAME} SHARED
|
|
"${PLUGIN_NAME}.cc"
|
|
"${CXX_LIB_DIR}/ffi.cpp"
|
|
)
|
|
|
|
apply_standard_settings(${PLUGIN_NAME})
|
|
target_compile_features(${PLUGIN_NAME} PUBLIC cxx_std_17)
|
|
set_target_properties(${PLUGIN_NAME} PROPERTIES
|
|
CXX_VISIBILITY_PRESET hidden)
|
|
target_compile_definitions(${PLUGIN_NAME} PRIVATE FLUTTER_PLUGIN_IMPL)
|
|
target_include_directories(${PLUGIN_NAME} INTERFACE
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/include")
|
|
target_link_libraries(${PLUGIN_NAME} PRIVATE flutter)
|
|
target_link_libraries(${PLUGIN_NAME} PRIVATE libquickjs)
|
|
target_link_libraries(${PLUGIN_NAME} PRIVATE PkgConfig::GTK)
|
|
|
|
# List of absolute paths to libraries that should be bundled with the plugin
|
|
set(flutter_qjs_bundled_libraries
|
|
""
|
|
PARENT_SCOPE
|
|
)
|