Different moc output path on windows/mac for sip-build?
Patrick Stinson
patrickkidd at gmail.com
Sat Oct 10 00:01:17 BST 2020
These extensions build fine for dev using sip-build.
> On Oct 9, 2020, at 2:59 PM, Patrick Stinson <patrickkidd at gmail.com> wrote:
>
> For what it’s worth, here is the solution I devised:
>
>
> if sys.platform == 'win32':
> aux_sources = [
> "../../../pkdiagram/vedana/build/_vedana/release/moc_qaesencryption.cpp",
> ]
> else:
> aux_sources = [
> "../../../pkdiagram/vedana/build/_vedana/moc_qaesencryption.cpp",
> ]
>
>
> class VedanaComponent(Component):
> """ The vedana module component. """
>
> must_install_from_source = False
> preinstalls = ['Python', 'PyQt', 'Qt', 'SIP']
> provides = {
> '_vedana': ExtensionModule(
> deps='PyQt:PyQt5.QtCore',
> source=[
> "../../../pkdiagram/vedana/_vedana.cpp",
> "../../../pkdiagram/vedana/qaesencryption.cpp",
> "../../../pkdiagram/vedana/encryption.cpp",
> "../../../pkdiagram/vedana/build/_vedana/sip_vedanacmodule.cpp",
> ] + aux_sources,
> defines=[ "PK_DEBUG_BUILD=0" ]
> )
> }
>
>> On Oct 9, 2020, at 11:24 AM, Patrick Stinson <patrickkidd at gmail.com> wrote:
>>
>> I am looking forward to the switch to cmake, though of course behavior like this may stay the same regardless. I ported my app from qmake to cmake and the build system is so much cleaner that there is no comparison.
>>
>>> On Oct 9, 2020, at 11:22 AM, Patrick Stinson <patrickkidd at gmail.com> wrote:
>>>
>>> Oh that’s right.
>>>
>>> I’ll see if I can get my component to add its source paths differently for windows.
>>>
>>>> On Oct 9, 2020, at 12:13 AM, Phil Thompson <phil at riverbankcomputing.com> wrote:
>>>>
>>>> On 09/10/2020 00:38, Patrick Stinson wrote:
>>>>> Sip-build puts moc_* sources into different paths on windows and Mac,
>>>>> which causes problems when trying to write an extension and associated
>>>>> component plugin that work together.
>>>>> Windows:
>>>>> <build-dir>/<module name>/<release|debug>/moc_*
>>>>> Mac:
>>>>> <build-dir>/<module name>/moc_*
>>>>> How to fix this? This doesn’t seem right.
>>>>
>>>> It's standard qmake behaviour.
>>>>
>>>> Phil
>>>
>>
>
More information about the PyQt
mailing list