← Back to team overview

kicad-developers team mailing list archive

a few (minor?) niggles

 

Hi folks,

 I have a few comments and 1 question:

1. While playing with the kicad 3d refactoring today I noticed that there
are xsl
files installed in ${PREFIX}/lib/plugins.  Is there a reason why files
which are
not library files are being installed within a lib directory?  I think the
expected
behavior on Linux would be to find it in ${PREFIX}/share/kicad/${SOME_DIR}.
I'm not sure what to name SOME_DIR; I'm not comfortable with using
'plugins' unless the directory contains genuine plugins, but as long as the
files aren't under the lib directory I wouldn't have any strong objection to
calling the directory 'plugins'.  On MSWin the expected behavior for a
system-
wide install is (FOLDERID_ProgramData)/kicad/${SOME_DIR} and for a
local install (FOLDERID_LocalAppData)/kicad/${SOME_DIR}.  I have no idea
what the expected behavior is on OSX.

2. The top level CMakeLists.txt file sets a *lot* of CMAKE_CXX_FLAGS
and in my opinion this can pollute builds within an add_subdirectory().
At the moment the entire build system runs OK, but post-release I think
we should consider cleaning up the top level control file to avoid
accidentally
imposing unwanted flags on builds within added subdirs.  For example, one
side-effect in the current system is that -fvisibility=hidden is set and
this
essentially forces static linkage on all add_subdirectory() builds since it
hides all symbols by default.

And the 1 question:
In the 3D refactoring I plan to use a runtime-linking system (plugin) in the
implementation of the model parsers; this will allow any specific model
parser to be added or rebuilt without a complete rebuild of pcbnew and
it will also allow users in general to create plugins (including non-free
plugins, even though I have no interest in that) which other users can
build independent of the kicad source tree and install to provide additional
3d model support. Does anyone have a good idea of how we can determine
the plugin search directory at runtime?  On linux for example a user can
do: make install DESTDIR=${RANDOM_DIRECTORY} so on the program
side I would want to look in ${RANDOM_DIRECTORY}/lib/kicad/3dplugins.
Similar issues exist for operation on MSWin with ${RANDOM_DIRECTORY}.

- Cirilo

Follow ups