Files
Курнат Андрей 2315f25754 Initial QSfera import
2026-06-07 10:20:04 +03:00

38 lines
1.3 KiB
CMake

include(OCApplyCommonSettings)
function(add_vfs_plugin)
set(options "")
set(oneValueArgs NAME)
set(multiValueArgs SRC LIBS)
cmake_parse_arguments(__PLUGIN "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
add_library(vfs_${__PLUGIN_NAME} MODULE
${__PLUGIN_SRC}
)
apply_common_target_settings(vfs_${__PLUGIN_NAME})
set_target_properties(vfs_${__PLUGIN_NAME} PROPERTIES OUTPUT_NAME "QSfera_vfs_${__PLUGIN_NAME}")
target_link_libraries(vfs_${__PLUGIN_NAME} PRIVATE
libsync
${__PLUGIN_LIBS}
)
if(APPLE)
set_target_properties(vfs_${__PLUGIN_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "$<TARGET_FILE_DIR:qsfera>/../PlugIns/")
# make the plugins available to the tests
add_custom_command(TARGET vfs_${__PLUGIN_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND}
ARGS -E create_symlink "$<TARGET_FILE:vfs_${__PLUGIN_NAME}>" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$<TARGET_FILE_NAME:vfs_${__PLUGIN_NAME}>")
else()
install(TARGETS vfs_${__PLUGIN_NAME} DESTINATION "${KDE_INSTALL_PLUGINDIR}")
endif()
if (TARGET qsfera)
add_dependencies(qsfera vfs_${__PLUGIN_NAME})
endif()
if (TARGET cmd)
add_dependencies(cmd vfs_${__PLUGIN_NAME})
endif()
endfunction()