Allow finding kicad_3dsg when running from build dir
This might also come in handy later when we use more dynamic libs
This commit is contained in:
parent
9a13835f5d
commit
cdb352bb24
|
@ -32,6 +32,7 @@
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <core/arraydim.h>
|
#include <core/arraydim.h>
|
||||||
#include <id.h>
|
#include <id.h>
|
||||||
|
#include <kiplatform/app.h>
|
||||||
#include <settings/settings_manager.h>
|
#include <settings/settings_manager.h>
|
||||||
#include <logging.h>
|
#include <logging.h>
|
||||||
|
|
||||||
|
@ -199,6 +200,19 @@ KIFACE* KIWAY::KiFACE( FACE_T aFaceId, bool doLoad )
|
||||||
{
|
{
|
||||||
wxString dname = dso_search_path( aFaceId );
|
wxString dname = dso_search_path( aFaceId );
|
||||||
|
|
||||||
|
// Insert DLL search path for kicad_3dsg from build dir
|
||||||
|
if( wxGetEnv( wxT( "KICAD_RUN_FROM_BUILD_DIR" ), nullptr ) )
|
||||||
|
{
|
||||||
|
wxFileName myPath = wxStandardPaths::Get().GetExecutablePath();
|
||||||
|
|
||||||
|
if( !myPath.GetPath().EndsWith( wxT( "pcbnew" ) ) )
|
||||||
|
{
|
||||||
|
myPath.RemoveLastDir();
|
||||||
|
myPath.AppendDir( wxT( "pcbnew" ) );
|
||||||
|
KIPLATFORM::APP::AddDynamicLibrarySearchPath( myPath.GetPath() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
wxDynamicLibrary dso;
|
wxDynamicLibrary dso;
|
||||||
|
|
||||||
void* addr = NULL;
|
void* addr = NULL;
|
||||||
|
|
|
@ -102,3 +102,8 @@ void KIPLATFORM::APP::SetShutdownBlockReason( wxWindow* aWindow, const wxString&
|
||||||
void KIPLATFORM::APP::ForceTimerMessagesToBeCreatedIfNecessary()
|
void KIPLATFORM::APP::ForceTimerMessagesToBeCreatedIfNecessary()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void KIPLATFORM::APP::AddDynamicLibrarySearchPath( const wxString& aPath )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
|
@ -82,6 +82,15 @@ namespace KIPLATFORM
|
||||||
* Call as needed in an application to ensure timers are dispatched
|
* Call as needed in an application to ensure timers are dispatched
|
||||||
*/
|
*/
|
||||||
void ForceTimerMessagesToBeCreatedIfNecessary();
|
void ForceTimerMessagesToBeCreatedIfNecessary();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Inserts a search path for loading dynamic libraries. The exact place this new path ends
|
||||||
|
* up in the dynamic library search order is platform-dependent, but generally this can be
|
||||||
|
* used to make sure dynamic libraries are found in non-standard runtime situations.
|
||||||
|
*
|
||||||
|
* @param aPath is the full path to insert
|
||||||
|
*/
|
||||||
|
void AddDynamicLibrarySearchPath( const wxString& aPath );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -111,3 +111,9 @@ void KIPLATFORM::APP::ForceTimerMessagesToBeCreatedIfNecessary()
|
||||||
MSG msg;
|
MSG msg;
|
||||||
PeekMessage( &msg, nullptr, WM_TIMER, WM_TIMER, PM_NOREMOVE );
|
PeekMessage( &msg, nullptr, WM_TIMER, WM_TIMER, PM_NOREMOVE );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void KIPLATFORM::APP::AddDynamicLibrarySearchPath( const wxString& aPath )
|
||||||
|
{
|
||||||
|
SetDllDirectoryA( aPath.c_str() );
|
||||||
|
}
|
||||||
|
|
|
@ -63,3 +63,8 @@ void KIPLATFORM::APP::SetShutdownBlockReason( wxWindow* aWindow, const wxString&
|
||||||
void KIPLATFORM::APP::ForceTimerMessagesToBeCreatedIfNecessary()
|
void KIPLATFORM::APP::ForceTimerMessagesToBeCreatedIfNecessary()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void KIPLATFORM::APP::AddDynamicLibrarySearchPath( const wxString& aPath )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue