19 lines
648 B
CMake
19 lines
648 B
CMake
include(CMakeParseArguments)
|
|
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
function(ly_add_plugin)
|
|
cmake_parse_arguments(ADDPLUGIN "" "NAME" "SOURCES" ${ARGN})
|
|
set(PLUGIN_NAME plugin_${ADDPLUGIN_NAME})
|
|
|
|
foreach(PLUGIN_SOURCE ${ADDPLUGIN_SOURCES})
|
|
list(APPEND PLUGIN_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/${PLUGIN_SOURCE})
|
|
endforeach()
|
|
|
|
add_library(${PLUGIN_NAME} MODULE ${PLUGIN_SOURCES})
|
|
set_target_properties(${PLUGIN_NAME} PROPERTIES PREFIX "")
|
|
target_link_libraries(${PLUGIN_NAME} yang)
|
|
endfunction(ly_add_plugin)
|
|
|
|
ly_add_plugin(NAME invalid SOURCES invalid.c)
|
|
ly_add_plugin(NAME simple SOURCES simple.c)
|