mirror of
https://gitlab.com/veilid/veilid.git
synced 2024-11-24 09:50:16 -06:00
47 lines
1.4 KiB
CMake
47 lines
1.4 KiB
CMake
cmake_minimum_required(VERSION 3.10)
|
|
set(PROJECT_NAME "veilid")
|
|
project(${PROJECT_NAME} LANGUAGES CXX)
|
|
|
|
# This value is used when generating builds using this plugin, so it must
|
|
# not be changed
|
|
set(PLUGIN_NAME "veilid_plugin")
|
|
|
|
add_library(${PLUGIN_NAME} SHARED
|
|
"veilid_plugin.cc"
|
|
)
|
|
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)
|
|
target_link_libraries(${PLUGIN_NAME} PRIVATE PkgConfig::GTK)
|
|
|
|
include(./rust.cmake)
|
|
# List of absolute paths to libraries that should be bundled with the plugin
|
|
|
|
|
|
function(get_all_targets var)
|
|
set(targets)
|
|
get_all_targets_recursive(targets ${CMAKE_CURRENT_SOURCE_DIR})
|
|
set(${var} ${targets} PARENT_SCOPE)
|
|
endfunction()
|
|
|
|
macro(get_all_targets_recursive targets dir)
|
|
get_property(subdirectories DIRECTORY ${dir} PROPERTY SUBDIRECTORIES)
|
|
foreach(subdir ${subdirectories})
|
|
get_all_targets_recursive(${targets} ${subdir})
|
|
endforeach()
|
|
|
|
get_property(current_targets DIRECTORY ${dir} PROPERTY BUILDSYSTEM_TARGETS)
|
|
list(APPEND ${targets} ${current_targets})
|
|
endmacro()
|
|
|
|
# get_all_targets(all_targets)
|
|
# message("All targets: ${all_targets}")
|
|
|
|
set(veilid_bundled_libraries
|
|
"$<TARGET_FILE:${CRATE_NAME}-shared>"
|
|
PARENT_SCOPE
|
|
) |