Have individual plugin CMakeLists.txt files add library dependencies.

This removes any knowledge of plugin types from
cmake/modules/WiresharkPlugin.cmake, so that it doesn't have to be
changed if we add a new plugin type.  Revert to the second argument to
add_plugin_library() and install_plugin() being the subfolder.

Change-Id: I668ab90b28c73a8b12ca8e3e906b8de2f9395ca5
Reviewed-on: https://code.wireshark.org/review/25585
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot
Reviewed-by: Guy Harris <guy@alum.mit.edu>
This commit is contained in:
Guy Harris 2018-02-03 17:22:09 -08:00
parent ebef0b0dda
commit 121abba1a2
16 changed files with 31 additions and 22 deletions

View File

@ -28,17 +28,7 @@ macro(SET_MODULE_INFO _plugin _ver_major _ver_minor _ver_micro _ver_extra)
add_definitions(-DPLUGIN_VERSION=\"${PLUGIN_VERSION}\")
endmacro()
macro(ADD_PLUGIN_LIBRARY _plugin _plugin_type)
if(${_plugin_type} STREQUAL "epan")
set(_subfolder "epan")
set(_required_libraries "epan")
elseif(${_plugin_type} STREQUAL "wiretap")
set(_subfolder "wiretap")
set(_required_libraries "wiretap")
else()
message(FATAL_ERROR "add_plugin_library called with invalid plugin type ${_plugin_type}")
endif()
macro(ADD_PLUGIN_LIBRARY _plugin _subfolder)
add_library(${_plugin} MODULE
${PLUGIN_FILES}
${PLUGIN_RC_FILE}
@ -63,19 +53,10 @@ macro(ADD_PLUGIN_LIBRARY _plugin _plugin_type)
)
endforeach()
target_link_libraries(${_plugin} ${_required_libraries})
add_dependencies(plugins ${_plugin})
endmacro()
macro(INSTALL_PLUGIN _plugin _plugin_type)
if(${_plugin_type} STREQUAL "epan")
set(_subfolder "epan")
elseif(${_plugin_type} STREQUAL "wiretap")
set(_subfolder "wiretap")
else()
message(FATAL_ERROR "install_plugin called with invalid plugin type ${_plugin_type}")
endif()
macro(INSTALL_PLUGIN _plugin _subfolder)
install(TARGETS ${_plugin}
LIBRARY DESTINATION ${PLUGIN_INSTALL_LIBDIR}/${_subfolder} NAMELINK_SKIP
RUNTIME DESTINATION ${PLUGIN_INSTALL_LIBDIR}

View File

@ -56,6 +56,8 @@ register_plugin_files(plugin.c
add_plugin_library(docsis epan)
target_link_libraries(docsis epan)
install_plugin(docsis epan)
file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")

View File

@ -58,6 +58,8 @@ register_plugin_files(plugin.c
add_plugin_library(ethercat epan)
target_link_libraries(ethercat epan)
install_plugin(ethercat epan)
file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")

View File

@ -52,6 +52,8 @@ register_plugin_files(plugin.c
add_plugin_library(gryphon epan)
target_link_libraries(gryphon epan)
install_plugin(gryphon epan)
file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")

View File

@ -54,6 +54,8 @@ register_plugin_files(plugin.c
add_plugin_library(irda epan)
target_link_libraries(irda epan)
install_plugin(irda epan)
file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")

View File

@ -74,6 +74,8 @@ register_plugin_files(plugin.c
add_plugin_library(mate epan)
target_link_libraries(mate epan)
install_plugin(mate epan)
file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")

View File

@ -68,6 +68,8 @@ register_plugin_files(plugin.c
add_plugin_library(opcua epan)
target_link_libraries(opcua epan)
install_plugin(opcua epan)
file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")

View File

@ -67,7 +67,7 @@ register_plugin_files(plugin.c
add_plugin_library(pluginifdemo epan)
target_link_libraries(pluginifdemo Qt5::Core Qt5::Widgets Qt5::PrintSupport)
target_link_libraries(pluginifdemo epan Qt5::Core Qt5::Widgets Qt5::PrintSupport)
install_plugin(pluginifdemo epan)

View File

@ -66,6 +66,8 @@ register_plugin_files(plugin.c
add_plugin_library(profinet epan)
target_link_libraries(profinet epan)
install_plugin(profinet epan)
file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")

View File

@ -41,6 +41,8 @@ set_source_files_properties(
add_plugin_library(stats_tree epan)
target_link_libraries(stats_tree epan)
install_plugin(stats_tree epan)
file(GLOB PLUGIN_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")

View File

@ -59,6 +59,8 @@ register_plugin_files(plugin.c
add_plugin_library(transum epan)
target_link_libraries(transum epan)
install_plugin(transum epan)
file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")

View File

@ -52,6 +52,8 @@ register_plugin_files(plugin.c
add_plugin_library(unistim epan)
target_link_libraries(unistim epan)
install_plugin(unistim epan)
file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")

View File

@ -99,6 +99,8 @@ register_plugin_files(plugin.c
add_plugin_library(wimax epan)
target_link_libraries(wimax epan)
install_plugin(wimax epan)
file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")

View File

@ -57,6 +57,8 @@ register_plugin_files(plugin.c
add_plugin_library(wimaxasncp epan)
target_link_libraries(wimaxasncp epan)
install_plugin(wimaxasncp epan)
file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")

View File

@ -52,6 +52,8 @@ register_plugin_files(plugin.c
add_plugin_library(wimaxmacphy epan)
target_link_libraries(wimaxmacphy epan)
install_plugin(wimaxmacphy epan)
file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")

View File

@ -43,6 +43,8 @@ register_plugin_files(plugin.c
add_plugin_library(usbdump wiretap)
target_link_libraries(usbdump wiretap)
install_plugin(usbdump wiretap)
file(GLOB WIRETAP_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")