On 1/6/2014 12:00 PM, Maciej Sumiński wrote:
I can fully understand that it is much easier for many users not to deal
with building boost library, but on the other hand - there are many
others who do not need a separate copy of boost just for KiCad.
As far as I know, there are 3 main reasons to keep boost in KiCad
(https://lists.launchpad.net/kicad-developers/msg11692.html):
Ad 1) I guess the patch that fixes the geometry problem is
patches/boost_minkowski.patch. But inside there are only two lines
commented out and in fact they seem to be variables that are not even
used anywhere. How does that influence the function output? Or is not it
already solved by switching optimization options (already done in the
main CMake script)?
Ad 2&3) For those people included boost can make life simpler.
So why not give a choice to build another copy or use the library
available in system? I came to the conclusion after having 8 different
branches, every of them containing compiled boost library. And it seems
that KiCad builds and works just as well using the boost library
included in my system.
The attached patch:
- Adds a CMake option KICAD_BUILD_BOOST that enables building boost. If
you think that boost should be downloaded and built by default (I guess
that eg. KiCad-WinBuilder could be influenced by that), I can change it
to KICAD_SKIP_BOOST and satisfies me as well.
Besides that, boost can downloaded and built when an appropriate version
is not available in system.
- Removes all context related files (common/system/*), as they are
anyway contained in boost and no longer necessary.
- Removes the last traces of KICAD_STABLE_VERSION and
KICAD_TESTING_VERSION from bundled documentation.
I look forward to your opinions. I tested it with boost 1.54.0-3 (that
is the reason why I put such version as required in CMakeLists.txt) and
gcc 4.8.2.
Regards,
Orson
Orson,
I prefer building Boost myself but a little historical perspective is
needed to understand why we opted to download and build Boost. Long
before the geometry library issues were the Windows build issues. We
(Dick, JP, and myself) spent a considerable amount of time helping
Windows developers with Boost build issues. There were also a lot of
KiCad build bugs related to which version of Boost was installed on on
Linux as well.