kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #38243
Re: eeschema depends on libngspice.so instead of libngspice.so.0?
On Montag, 29. Oktober 2018 13:12:19 CET Maciej Sumiński wrote:
> Hi Carsten,
>
> On 10/27/18 11:50 AM, Carsten Schoenert wrote:
> [snip]
>
> > I'd really appreciate if the situation could be improved here somewhere
> > in the future!
>
> Can you check if the attached patch solves the problem? It still does
> not recognize the right libngspice file under Windows, but I need to
> know if it is a step in the right direction.
>
> Cheers,
> Orson
Some inline comments:
> diff --git a/eeschema/CMakeLists.txt b/eeschema/CMakeLists.txt
> index e56f3c849..cd4d0d78e 100644
> --- a/eeschema/CMakeLists.txt
> +++ b/eeschema/CMakeLists.txt
> @@ -7,6 +7,15 @@ add_definitions( -DEESCHEMA )
> if( KICAD_SPICE )
> set( INC_AFTER ${INC_AFTER} ${NGSPICE_INCLUDE_DIR} )
> +
> + # Find out the exact libngspice file name
> + get_filename_component( NGSPICE_REAL_PATH "${NGSPICE_LIBRARY}" REALPATH
> ) + get_filename_component( NGSPICE_LIB_FILE "${NGSPICE_REAL_PATH}" NAME
> ) +
> + set_property( SOURCE sim/ngspice.cpp
> + APPEND PROPERTY COMPILE_DEFINITIONS
> + NGSPICE_LIB_FILE="${NGSPICE_LIB_FILE}"
> + )
> endif()
> include_directories( BEFORE ${INC_BEFORE} )
> @@ -359,7 +368,15 @@ target_link_libraries( eeschema_kiface
> legacy_gal
> ${wxWidgets_LIBRARIES}
> ${GDI_PLUS_LIBRARIES}
> + ${NGSPICE_LIBRARY}
Likely duplicates the line below and probably breaks when NGSPICE_LIBRARY is
unset
> )
>
> +
> +if( KICAD_SPICE )
> + target_link_libraries( eeschema_kiface
> + ${NGSPICE_LIBRARY}
> + )
> +endif()
This does not achieve what you likely intended. At least on openSUSE, kicad is
linked with the as-needed linker flag, discarding any symbols and libraries
not actually linked to.
Kind regards,
Stefan
Follow ups
References