Don't use REALPATH to find shared/dynamic libraries
We require API compatibility in the ngspice library because we
dynamically load the library and assign function pointers to specific
names/signatures. This should be consistent for all versions of the the
library until the soversion changes.
Fixes https://gitlab.com/kicad/code/kicad/issues/8878
(cherry picked from commit 17a17586a6
)
This commit is contained in:
parent
0843fbf904
commit
b2fbf982a8
|
@ -51,7 +51,6 @@ if( PKG_CONFIG_FOUND )
|
|||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
find_path( NGSPICE_INCLUDE_DIR ngspice/sharedspice.h
|
||||
PATHS
|
||||
${NGSPICE_ROOT_DIR}
|
||||
|
@ -65,7 +64,13 @@ find_path( NGSPICE_INCLUDE_DIR ngspice/sharedspice.h
|
|||
share/ngspice/include/ngspice
|
||||
)
|
||||
|
||||
find_library( NGSPICE_LIBRARY ngspice
|
||||
if( UNIX )
|
||||
set( NGSPICE_LIB_NAME libngspice.so.0 CACHE STRING "Optionally versioned name of the shared library" )
|
||||
else()
|
||||
set( NGSPICE_LIB_NAME ngspice CACHE STRING "Optionally versioned name of the shared library" )
|
||||
endif()
|
||||
|
||||
find_library( NGSPICE_LIBRARY ${NGSPICE_LIB_NAME}
|
||||
PATHS
|
||||
${NGSPICE_ROOT_DIR}
|
||||
$ENV{NGSPICE_ROOT_DIR}
|
||||
|
@ -147,5 +152,5 @@ mark_as_advanced(
|
|||
NGSPICE_LIBRARY
|
||||
NGSPICE_DLL
|
||||
NGSPICE_BUILD_VERSION
|
||||
NGSPIC_HAVE_CONFIG_H
|
||||
NGSPICE_HAVE_CONFIG_H
|
||||
)
|
||||
|
|
|
@ -9,8 +9,8 @@ if( KICAD_SPICE )
|
|||
set( INC_AFTER ${INC_AFTER} ${NGSPICE_INCLUDE_DIR} )
|
||||
|
||||
# Find out the exact libngspice file name
|
||||
get_filename_component( NGSPICE_DLL_REALPATH "${NGSPICE_DLL}" REALPATH )
|
||||
get_filename_component( NGSPICE_DLL_FILE "${NGSPICE_DLL_REALPATH}" NAME )
|
||||
get_filename_component( NGSPICE_DLL_ABSPATH "${NGSPICE_DLL}" ABSOLUTE )
|
||||
get_filename_component( NGSPICE_DLL_FILE "${NGSPICE_DLL_ABSPATH}" NAME )
|
||||
|
||||
set_property( SOURCE sim/ngspice.cpp
|
||||
APPEND PROPERTY COMPILE_DEFINITIONS
|
||||
|
|
Loading…
Reference in New Issue