aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoão Valverde <joao.valverde@tecnico.ulisboa.pt>2017-09-22 19:13:33 +0100
committerJoão Valverde <j@v6e.pt>2017-09-23 17:49:08 +0000
commitfd4dc6f115868f18e787f4bffaf8f8c5ceccff82 (patch)
tree2d3227bf7637108fae61400b43f15041554808d4
parentcaa9b19107a097a64552e5fc071f4d7fd218b59e (diff)
plugins: Fixups for g9260461f4f
Put plugins in CMake build dir with a version subdir. This avoids some weird special cases, however running with autotools from build dir displays the wrong global folder in about->folders. Unfortunately the hack to run from the autotools build dir is troublesome. Various fixes for Windows builds. Try to fix also build dir issue loading plugins on macOS with ENABLE_APPLICATION_BUNDLE (blind). Change-Id: Ic3c7c21f5850c12a53844202d61fa0592b45739c Reviewed-on: https://code.wireshark.org/review/23657 Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org> Reviewed-by: João Valverde <j@v6e.pt>
-rw-r--r--CMakeLists.txt5
-rw-r--r--cmake/modules/WiresharkPlugin.cmake2
-rw-r--r--packaging/nsis/wireshark.nsi8
-rw-r--r--packaging/wix/CMakeLists.txt2
-rw-r--r--packaging/wix/DirectoryStructure.wxi2
-rw-r--r--wsutil/filesystem.c2
6 files changed, 11 insertions, 10 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d06049c..e6c0a32 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1425,13 +1425,12 @@ else()
endif()
if(ENABLE_APPLICATION_BUNDLE)
- set(_plugin_dir "${CMAKE_BINARY_DIR}/run/Wireshark.app/Contents/PlugIns/wireshark")
+ set(_plugin_dir "${CMAKE_BINARY_DIR}/run/Wireshark.app/Contents/PlugIns/wireshark/${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}")
else()
get_target_property(_libwireshark_location epan LOCATION)
get_filename_component(_plugin_dir "${_libwireshark_location}" PATH)
- set(_plugin_dir "${_plugin_dir}/plugins")
+ set(_plugin_dir "${_plugin_dir}/${PLUGIN_VERSION_DIR}")
endif()
-# XXX The NMake environment appends the version. Should we do so here?
set (PLUGIN_DIR ${_plugin_dir} CACHE INTERNAL "Build time plugin location.")
foreach(_plugin_src_dir ${PLUGIN_SRC_DIRS})
diff --git a/cmake/modules/WiresharkPlugin.cmake b/cmake/modules/WiresharkPlugin.cmake
index 36d1ebf..04b1137 100644
--- a/cmake/modules/WiresharkPlugin.cmake
+++ b/cmake/modules/WiresharkPlugin.cmake
@@ -50,7 +50,7 @@ macro(ADD_PLUGIN_LIBRARY _plugin)
foreach(_config_type ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER ${_config_type} _config_upper)
set_target_properties(${_plugin} PROPERTIES
- LIBRARY_OUTPUT_DIRECTORY_${_config_upper} ${CMAKE_BINARY_DIR}/run/${_config_type}/plugins
+ LIBRARY_OUTPUT_DIRECTORY_${_config_upper} ${CMAKE_BINARY_DIR}/run/${_config_type}/${PLUGIN_VERSION_DIR}
)
endforeach()
diff --git a/packaging/nsis/wireshark.nsi b/packaging/nsis/wireshark.nsi
index 03e8a01..2ee35a7 100644
--- a/packaging/nsis/wireshark.nsi
+++ b/packaging/nsis/wireshark.nsi
@@ -1009,7 +1009,7 @@ SectionGroup "Plugins & Extensions" SecPluginsGroup
Section "Dissector Plugins" SecPlugins
;-------------------------------------------
-SetOutPath '$INSTDIR\plugins\${VERSION}'
+SetOutPath '$INSTDIR\plugins\${VERSION_MAJOR}.${VERSION_MINOR}'
File "${STAGING_DIR}\plugins\docsis.dll"
File "${STAGING_DIR}\plugins\ethercat.dll"
File "${STAGING_DIR}\plugins\gryphon.dll"
@@ -1026,20 +1026,20 @@ SectionEnd
Section "Tree Statistics Plugin" SecStatsTree
;-------------------------------------------
-SetOutPath '$INSTDIR\plugins\${VERSION}'
+SetOutPath '$INSTDIR\plugins\${VERSION_MAJOR}.${VERSION_MINOR}'
File "${STAGING_DIR}\plugins\stats_tree.dll"
SectionEnd
Section "Mate - Meta Analysis and Tracing Engine" SecMate
;-------------------------------------------
-SetOutPath '$INSTDIR\plugins\${VERSION}'
+SetOutPath '$INSTDIR\plugins\${VERSION_MAJOR}.${VERSION_MINOR}'
File "${STAGING_DIR}\plugins\mate.dll"
SectionEnd
Section "TRANSUM - network and application performance analysis" SecTransum
;-------------------------------------------
-SetOutPath '$INSTDIR\plugins\${VERSION}'
+SetOutPath '$INSTDIR\plugins\${VERSION_MAJOR}.${VERSION_MINOR}'
File "${STAGING_DIR}\plugins\transum.dll"
SectionEnd
diff --git a/packaging/wix/CMakeLists.txt b/packaging/wix/CMakeLists.txt
index 9efad04..cc976f3 100644
--- a/packaging/wix/CMakeLists.txt
+++ b/packaging/wix/CMakeLists.txt
@@ -308,6 +308,8 @@ set(WIX_CANDLE_DEFINES
-dPlatform=${TARGET_MACHINE}
-dWiresharkName=${CMAKE_PROJECT_NAME}
-dWiresharkVersion=${PRODUCT_VERSION}
+ -dWiresharkMajorVersion=${PROJECT_MAJOR_VERSION}
+ -dWiresharkMinorVersion=${PROJECT_MINOR_VERSION}
-dAssetDir=${CMAKE_SOURCE_DIR}/packaging/wix
-dBuildOutputDir=${EXECUTABLE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}
-dDiameterDir=${ARCHIVE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}/diameter
diff --git a/packaging/wix/DirectoryStructure.wxi b/packaging/wix/DirectoryStructure.wxi
index 6e24e2c..00c2dbf 100644
--- a/packaging/wix/DirectoryStructure.wxi
+++ b/packaging/wix/DirectoryStructure.wxi
@@ -28,7 +28,7 @@
</Directory>
<Directory Id="dirRadius" Name="radius"/>
<Directory Id="dirPlugins" Name="plugins">
- <Directory Id="dirPluginsVersion" Name="$(var.WiresharkVersion)"/>
+ <Directory Id="dirPluginsVersion" Name="$(var.WiresharkMajorVersion).$(var.WiresharkMinorVersion)"/>
</Directory>
<Directory Id="dirProfiles" Name="profiles"/>
<Directory Id="dirSnmp" Name="snmp">
diff --git a/wsutil/filesystem.c b/wsutil/filesystem.c
index ea46290..ce1eca7 100644
--- a/wsutil/filesystem.c
+++ b/wsutil/filesystem.c
@@ -975,7 +975,7 @@ init_plugin_dir(void)
* on Windows, the data file directory is the directory
* in which the Wireshark binary resides.
*/
- plugin_dir = g_build_filename(get_datafile_dir(), "plugins", VERSION, (gchar *)NULL);
+ plugin_dir = g_build_filename(get_datafile_dir(), "plugins", (gchar *)NULL);
/*
* Make sure that pathname refers to a directory.