123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- cmake_minimum_required(VERSION 3.14)
- set(PROJECT_NAME "flutter_zsdk")
- project(${PROJECT_NAME} LANGUAGES CXX)
- cmake_policy(VERSION 3.14...3.25)
- set(PLUGIN_NAME "flutter_zsdk_plugin")
- list(APPEND PLUGIN_SOURCES
- "flutter_zsdk_plugin.cpp"
- "flutter_zsdk_plugin.h"
- )
- add_library(${PLUGIN_NAME} SHARED
- "include/flutter_zsdk/flutter_zsdk_plugin_c_api.h"
- "flutter_zsdk_plugin_c_api.cpp"
- ${PLUGIN_SOURCES}
- )
- apply_standard_settings(${PLUGIN_NAME})
- 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 flutter_wrapper_plugin)
- set(flutter_zsdk_bundled_libraries
- ""
- PARENT_SCOPE
- )
- if (${include_${PROJECT_NAME}_tests})
- set(TEST_RUNNER "${PROJECT_NAME}_test")
- enable_testing()
- include(FetchContent)
- FetchContent_Declare(
- googletest
- URL https://github.com/google/googletest/archive/release-1.11.0.zip
- )
- set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
- set(INSTALL_GTEST OFF CACHE BOOL "Disable installation of googletest" FORCE)
- FetchContent_MakeAvailable(googletest)
- add_executable(${TEST_RUNNER}
- test/flutter_zsdk_plugin_test.cpp
- ${PLUGIN_SOURCES}
- )
- apply_standard_settings(${TEST_RUNNER})
- target_include_directories(${TEST_RUNNER} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}")
- target_link_libraries(${TEST_RUNNER} PRIVATE flutter_wrapper_plugin)
- target_link_libraries(${TEST_RUNNER} PRIVATE gtest_main gmock)
- add_custom_command(TARGET ${TEST_RUNNER} POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy_if_different
- "${FLUTTER_LIBRARY}" $<TARGET_FILE_DIR:${TEST_RUNNER}>
- )
- include(GoogleTest)
- gtest_discover_tests(${TEST_RUNNER})
- endif()
|