forked from osmocom/wireshark
plugins.example: Make installation relocatable
Fixes "make install" to be relocatable using DESTDIR. For that we cannot use an absolute path as intallation directory target. This is useful mostly to implement packaging using CPack. It is a bit awkward to configure a default CMAKE_INSTALL_PREFIX using WiresharkConfig.cmake but it seems to be working OK. The previous non-relocatable behaviour may still be useful. It is relegated to a custom "copy_plugin" target.
This commit is contained in:
parent
842f53c329
commit
c451e572e5
|
@ -4,9 +4,11 @@ set(Wireshark_PATCH_VERSION @PROJECT_PATCH_VERSION@)
|
||||||
set(Wireshark_VERSION "@PROJECT_VERSION@")
|
set(Wireshark_VERSION "@PROJECT_VERSION@")
|
||||||
|
|
||||||
set(Wireshark_PLUGINS_ENABLED @HAVE_PLUGINS@)
|
set(Wireshark_PLUGINS_ENABLED @HAVE_PLUGINS@)
|
||||||
|
set(Wireshark_PLUGIN_LIBDIR "@PLUGIN_INSTALL_VERSION_LIBDIR@")
|
||||||
|
|
||||||
@PACKAGE_INIT@
|
@PACKAGE_INIT@
|
||||||
|
|
||||||
|
set_and_check(Wireshark_INSTALL_PREFIX "${PACKAGE_PREFIX_DIR}")
|
||||||
set_and_check(Wireshark_LIB_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@")
|
set_and_check(Wireshark_LIB_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@")
|
||||||
set_and_check(Wireshark_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@/wireshark")
|
set_and_check(Wireshark_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@/wireshark")
|
||||||
if(Wireshark_PLUGINS_ENABLED)
|
if(Wireshark_PLUGINS_ENABLED)
|
||||||
|
|
|
@ -14,6 +14,12 @@ project(Hello VERSION 0.0.1 DESCRIPTION "Wireshark Hello Plugin" LANGUAGES C)
|
||||||
|
|
||||||
find_package(Wireshark CONFIG REQUIRED)
|
find_package(Wireshark CONFIG REQUIRED)
|
||||||
|
|
||||||
|
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||||
|
set(CMAKE_INSTALL_PREFIX "${Wireshark_INSTALL_PREFIX}"
|
||||||
|
CACHE PATH "Installation prefix" FORCE
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(NOT Wireshark_PLUGINS_ENABLED)
|
if(NOT Wireshark_PLUGINS_ENABLED)
|
||||||
message(WARNING "Wireshark was compiled without support for plugins")
|
message(WARNING "Wireshark was compiled without support for plugins")
|
||||||
endif()
|
endif()
|
||||||
|
@ -36,5 +42,10 @@ set_target_properties(hello PROPERTIES PREFIX "" DEFINE_SYMBOL "")
|
||||||
target_link_libraries(hello epan)
|
target_link_libraries(hello epan)
|
||||||
|
|
||||||
install(TARGETS hello
|
install(TARGETS hello
|
||||||
LIBRARY DESTINATION "${Wireshark_PLUGIN_INSTALL_DIR}/epan" NAMELINK_SKIP
|
LIBRARY DESTINATION "${Wireshark_PLUGIN_LIBDIR}/epan" NAMELINK_SKIP
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_target(copy_plugin
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:hello> ${Wireshark_PLUGIN_INSTALL_DIR}
|
||||||
|
COMMENT "Installing plugin to: ${Wireshark_PLUGIN_INSTALL_DIR}"
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue