Hi Stefan, On 12/11/2018 11:17 AM, Brüns, Stefan wrote: > On Sonntag, 9. Dezember 2018 18:07:21 CET Wayne Stambaugh wrote: >> Stefan, >> >> I tested you patch and it seems to work fine on linux. However, it also >> affects macos which I'm not sure that it wont break something. Would >> one of our macos devs please take a look at this patch when you get a >> chance. > > Hi Wayne, > > I am quite sure it does not affect MacOS, as the changed code block is > guarded > by #ifndef __WXMAC__ [1], and PLUGINDIR is not used outside the block as far > as I can see. > > Kind regards, > > Stefan > > [1] https://git.launchpad.net/kicad/tree/3d-viewer/3d_cache/ > 3d_plugin_manager.cpp#n123
The patch I'm looking at applies at line 149 which is inside #ifndef _WIN32 block which would effect both linux and macos. Is it possible this code changed you submitted the patch (it does apply cleanly) or I have the wrong patch. I've attached the patch I tested just in case. Cheers, Wayne
From 3f1f474f8ceab75acda7c1d0a36cc9c33c6124b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <[email protected]> Date: Tue, 9 Oct 2018 17:35:55 +0200 Subject: [PATCH] Use absolute path CMAKE_INSTALL_FULL_LIBDIR for 3d viewer PLUGINDIR Currently, the plugindir in the plugin manager is constructed as {CMAKE_INSTALL_PREFIX}/bin/../{CMAKE_INSTALL_LIBDIR}/kicad/..., while CMakes install uses {CMAKE_INSTALL_LIBDIR}/kicad/... In case CMAKE_INSTALL_LIBDIR is a relative path "install" prefixes it with CMAKE_INSTALL_PREFIX and both paths happen to match, otherwise the constructed path ends up as e.g. "/usr/bin/../usr/lib/kicad/...". For these cases where an absolute path is wanted CMake provides the CMAKE_INSTALL_FULL_<dir> variants which works the same as CMAKE_INSTALL_<dir> when used as DIRECTORY for install. --- 3d-viewer/3d_cache/3d_plugin_manager.cpp | 10 +++------- 3d-viewer/3d_plugin_dir.h.in | 2 +- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/3d-viewer/3d_cache/3d_plugin_manager.cpp b/3d-viewer/3d_cache/3d_plugin_manager.cpp index 52f2cef..fc561e7 100644 --- a/3d-viewer/3d_cache/3d_plugin_manager.cpp +++ b/3d-viewer/3d_cache/3d_plugin_manager.cpp @@ -149,14 +149,10 @@ void S3D_PLUGIN_MANAGER::loadPlugins( void ) #endif #ifndef _WIN32 - // multiarch friendly determination of the plugin directory: the executable dir - // is first determined via wxStandardPaths::Get().GetExecutablePath() and then - // the CMAKE_INSTALL_LIBDIR path is appended relative to the executable dir. + // PLUGINDIR = CMAKE_INSTALL_FULL_LIBDIR path is the absolute path + // corresponding to the install path used for constructing KICAD_USER_PLUGIN - fn.Assign( wxStandardPaths::Get().GetExecutablePath() ); - fn.RemoveLastDir(); - wxString tfname = fn.GetPathWithSep(); - tfname.Append( wxString::FromUTF8Unchecked( PLUGINDIR ) ); + wxString tfname = wxString::FromUTF8Unchecked( PLUGINDIR ); fn.Assign( tfname, ""); fn.AppendDir( "kicad" ); #else diff --git a/3d-viewer/3d_plugin_dir.h.in b/3d-viewer/3d_plugin_dir.h.in index 6cf6de2..fb923ec 100644 --- a/3d-viewer/3d_plugin_dir.h.in +++ b/3d-viewer/3d_plugin_dir.h.in @@ -1 +1 @@ -#define PLUGINDIR "@CMAKE_INSTALL_LIBDIR@" +#define PLUGINDIR "@CMAKE_INSTALL_FULL_LIBDIR@" -- 2.19.0
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

