← Back to team overview

kicad-developers team mailing list archive

Improving behavior and logic of Findngspice.cmake

 

Hi,

as written some days ago I'm working currently on packaging of ngspice
for Debian main.
For this I must follow the Debian (packaging) policy [1]. This requires
the installation of shared libraries into /usr/lib/triplet due policy
9.1.1.4 (see [2]). triplet means here the architecture there the
installation is happen. For i386 this would be the folder
'/usr/lib/i386-linux-gnu' and for amd64 '/usr/lib/x86_64-linux-gnu' and
so on.

The build of the KiCad development tree is currently not working with
those folders as the cmake snippet for libngspice does not care about
this constellation.

I would provide a patch here to fix this but I have no real clue about
CMake! So I requesting some help here, could please someone with more
knowledge than me improve the cmake helper for libngspice to search also
in such folders for the library? The header is already found in the new
(default) installation folder /user/include.
So far I've could find relevant and depended information the path there
to look while searching for libngsice.so would be
/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE} for CMake.

And, if someone is going to dig into this could also be added the search
and pickup of a pkg-config file for libngspice? I will work on adding a
pkg-config file for libngspice in the next week so it would be great if
the intelligence for using of a pkg-config file could be added in the
same go.

I think something like this logic should be sufficient and not collide
with the current content.

if (pkg-config found)
  do read the pkg-config
else
  search for the devel files manually
fi

Thanks!

I gladly help to test modifications of Findngspice.cmake.

[1] https://www.debian.org/doc/debian-policy/
[2] https://www.debian.org/doc/debian-policy/#file-system-structure

-- 
Regards
Carsten Schoenert


Follow ups