kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #05755
Re: [PATCH] expat dependency for cmake
On 10/17/2010 04:06 PM, Martijn Kuipers wrote:
> On Oct 17, 2010, at 22:02 PM, Wayne Stambaugh wrote:
>
>
>> On 10/16/2010 2:52 PM, Martijn Kuipers wrote:
>>
>>> <snip>
>>>
>>>> There are two ways that wxWidgets depends on expat:
>>>>
>>>> 1) wxXml class depends on expat.
>>>>
>>>> 2) xrc depends on wxXml which depends on expat
>>>>
>>>>
>>>> My current theory is this:
>>>>
>>>> wxWidgets folks have probably gotten their build system fairly robust
>>>> for users of 2), i.e. xrc.
>>>>
>>>> For those that are only using 1), like Kicad, then they still have a
>>>> hole or two. When we say "they",
>>>>
>>>> Perhaps a test should be done to depend on the xrc support, even though
>>>> we don't use it. That might be another way to consider plugging this hole.
>>>>
>>>> The provider of wxWidgets is definitely a factor also to consider also,
>>>> where does it come from? If it comes from the distro repo, then there
>>>> is a package maintainer in this picture also, else not.
>>>>
>>>>
>>>> Dick
>>>>
>>> Thanks Dick and Wayne for your clear explanation. Though even if it is a wx problem, should we not plug the hole while we await a fix from upstream?
>>>
>> Martin,
>>
>> On my home machine with wxWidgets build as individual static libraries
>> using expat included with wxWidgets, wx-config --libs xml yields the
>> following output:
>>
>> -L/mingw/lib -mthreads /mingw/lib/libwx_baseud_xml-2.8.a
>> /mingw/lib/libwx_baseud-2.8.a -lwxregexud-2.8 -lwxexpatd-2.8 -lz
>> -lrpcrt4 -luuid -lodbc32 -lole32 -loleaut32 -lwinspool -lwinmm -lshell32
>> -lcomctl32 -lcomdlg32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32
>>
>> It appears that in this case, wx-config is returning the correct expat
>> library to link against. I'll check my machine a work tomorrow. I'm
>> pretty sure I build wxWidgets using the expat library I build separately
>> and see if it includes -lexpat instead of -lwxexpatd-2.8.
>>
>> Wayne
>>
> Thanks Wayne,
>
> I am on OSX if that makes a difference. Marco has already created a bug-report at wx, so let's see what they do.
>
> /Martijn
>
CMake has this command:
include( <otherproject>.cmake )
It is an inter-project communication mechanism that I have used in house
here, for two projects that are both based on CMake.
I think we'd award the "man of the year award" to the guy who could
spend three hours creating a full CMakeLists.txt system for wxWidgets,
and sell that project on using the CMake tool (maybe not in that
order). The persuasive argument would go along the lines of "KDE uses
CMake, so....", "Kicad is one of the largest multi-platform customers
of wxWidgets, and we like CMake .... and don't like the fact that
wx-config sometimes falls down..."
That new wxWidgets CMake build system then could export() the
<otherproject>.cmake into Kicad's build system. This would solve all
the problems on all the platforms as far as I am concerned.
Dick
References
-
[PATCH] expat dependency for cmake
From: Martijn Kuipers, 2010-10-14
-
Re: [PATCH] expat dependency for cmake
From: Brian Sidebotham, 2010-10-14
-
Re: [PATCH] expat dependency for cmake
From: Dick Hollenbeck, 2010-10-15
-
Re: [PATCH] expat dependency for cmake
From: Martijn Kuipers, 2010-10-15
-
Re: [PATCH] expat dependency for cmake
From: Dick Hollenbeck, 2010-10-15
-
Re: [PATCH] expat dependency for cmake
From: Martijn Kuipers, 2010-10-16
-
Re: [PATCH] expat dependency for cmake
From: Dick Hollenbeck, 2010-10-16
-
Re: [PATCH] expat dependency for cmake
From: Martijn Kuipers, 2010-10-16
-
Re: [PATCH] expat dependency for cmake
From: Wayne Stambaugh, 2010-10-17
-
Re: [PATCH] expat dependency for cmake
From: Martijn Kuipers, 2010-10-17