[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pykde
Subject:    Re: [PyQt] Customizing ui compiler to use pyrcc5?
From:       Patrick Stinson <patrickkidd () gmail ! com>
Date:       2020-04-22 14:52:00
Message-ID: 8F0C211C-178E-453C-A2CC-C61012032165 () gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Yeah, I thought about that. Seems prudent, though I have enough of this project but \
in qmake and have just released so it still makes sense to keep working with qmake \
for a bit.

For the record, this seems to have helped:


win32 {
    SIP_PLATFORM = WS_WIN
} macx {
    SIP_PLATFORM = WS_MACX
} linux-g++ {
    SIP_PLATFORM = WS_LINUX
}

# sip compiler
sip_compiler.input = SIP_SOURCE
sip_compiler.output = sipAPI${QMAKE_FILE_BASE}.h sip${QMAKE_FILE_BASE}part0.cpp \
sip${QMAKE_FILE_BASE}part1.cpp sip${QMAKE_FILE_BASE}part2.cpp \
sip${QMAKE_FILE_BASE}part3.cpp sip${QMAKE_FILE_BASE}part4.cpp sip_compiler.CONFIG = \
no_link target_predeps dep_lines win32 {
    sip_compiler.commands = sip -t $$SIP_PLATFORM -I \
Z:\\dev\\vendor\\sysroot-dev-win-32\\Python-3.6.4\\sip\\PyQt5 -c . -j 5 -P -o \
${QMAKE_FILE_NAME} } macx|linux-g++ {
    sip_compiler.commands = sip -t $$SIP_PLATFORM `python3 get_some_sip_flags.py` -c \
. -j 5 -P -o ${QMAKE_FILE_NAME} }
sip_compiler.variable_out = GENERATED_FILES
sip_compiler.name = SIP ${QMAKE_FILE_IN}
QMAKE_EXTRA_COMPILERS += sip_compiler

target.files = $$TARGET.so
target.depends = sip$$TARGETpart0.cpp sip$$TARGETpart1.cpp sip$$TARGETpart2.cpp \
sip$$TARGETpart3.cpp sip$$TARGETpart4.cpp target.CONFIG = no_check_exist

# pyuic5 compiler
pyuic5.input = FORMS
pyuic5.output = ${QMAKE_FILE_BASE}_form.py
pyuic5.dependency_type = TYPE_UI
pyuic5.CONFIG = no_link target_predeps dep_lines
pyuic5.commands = pyuic5 ${QMAKE_FILE_NAME} -o ${QMAKE_FILE_OUT}
pyuic5.variable_out = GENERATED_FILES
pyuic5.name = PyUIC5 ${QMAKE_FILE_IN}
QMAKE_EXTRA_COMPILERS += pyuic5

#pyrcc5 compiler
pyrcc5.input = RESOURCES
pyrcc5.output = qrc_${QMAKE_FILE_BASE}.py
pyrcc5.dependency_type = TYPE_RCC
pyrcc5.CONFIG = no_link target_predeps dep_lines
pyrcc5.commands = pyrcc5 ${QMAKE_FILE_NAME} -o ${QMAKE_FILE_OUT}
QMAKE_EXTRA_COMPILERS += pyrcc5





> On Apr 22, 2020, at 12:58 AM, Giuseppe Corbelli <corbelligiuseppe@mesdan.it> wrote:
> 
> 
> On 4/21/20 8:09 PM, Patrick Stinson wrote:
> > Has anyone tried to create a qmake project that will handle pyqt5 targets? Seems \
> > that would have to at least: 1) Customize the ui compiler to use pyrcc5 instead \
> > of rcc 2) Build sip submodules (I have actually had some success with this)
> > 3) Figure out a way to simultaneously build for multiple platforms, e.g. macOS \
> > and iOS. I am trying get my dev, macOS, iOS, and Windows targets into a single
> > qmake-based build system to simplify development and deployment
> > across platforms.
> 
> As far as I know Qt is moving away from qmake to cmake for QT6[1][2] so I would \
> suggest staying one step ahead and using cmake, which should be already a viable \
> option for QT5. 
> [1] https://lists.qt-project.org/pipermail/development/2018-October/034023.html
> [2] https://wiki.qt.io/CMake_Port
> -- 
> Giuseppe Corbelli
> _______________________________________________
> PyQt mailing list    PyQt@riverbankcomputing.com
> https://www.riverbankcomputing.com/mailman/listinfo/pyqt


[Attachment #5 (unknown)]

<html><head><meta http-equiv="Content-Type" content="text/html; \
charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: \
space; line-break: after-white-space;" class="">Yeah, I thought about that. Seems \
prudent, though I have enough of this project but in qmake and have just released so \
it still makes sense to keep working with qmake for a bit.<div class=""><br \
class=""></div><div class="">For the record, this seems to have helped:</div><div \
class=""><br class=""></div><div class=""><br class=""></div><div class=""><div \
style="color: rgb(212, 212, 212); background-color: rgb(30, 30, 30); font-family: \
Menlo, Monaco, &quot;Courier New&quot;, monospace; line-height: 18px; white-space: \
pre;" class=""><div class=""><span style="color: #569cd6;" class="">win32</span> \
{</div><div class="">    <span style="color: #9cdcfe;" class="">SIP_PLATFORM</span> = \
WS_WIN</div><div class="">} macx {</div><div class="">    <span style="color: \
#9cdcfe;" class="">SIP_PLATFORM</span> = WS_MACX</div><div class="">} linux-g++ \
{</div><div class="">    <span style="color: #9cdcfe;" class="">SIP_PLATFORM</span> = \
WS_LINUX</div><div class="">}</div><br class=""><div class=""><span style="color: \
#6a9955;" class=""># sip compiler</span></div><div class=""><span style="color: \
#9cdcfe;" class="">sip_compiler.input</span> = SIP_SOURCE</div><div class=""><span \
style="color: #9cdcfe;" class="">sip_compiler.output</span> = \
sipAPI${QMAKE_FILE_BASE}.h sip${QMAKE_FILE_BASE}part0.cpp \
sip${QMAKE_FILE_BASE}part1.cpp sip${QMAKE_FILE_BASE}part2.cpp \
sip${QMAKE_FILE_BASE}part3.cpp sip${QMAKE_FILE_BASE}part4.cpp</div><div \
class=""><span style="color: #9cdcfe;" class="">sip_compiler.CONFIG</span> = no_link \
target_predeps dep_lines</div><div class=""><span style="color: #569cd6;" \
class="">win32</span> {</div><div class="">    <span style="color: #9cdcfe;" \
class="">sip_compiler.commands</span> = sip -t <span style="color: #9cdcfe;" \
class="">$$SIP_PLATFORM</span> -I Z:<span style="color: #d16969;" \
class="">\</span>\dev\\vendor\\sysroot-dev-win-32\\Python-3.6.4\\sip\\PyQt5 -c . -j 5 \
-P -o ${QMAKE_FILE_NAME}</div><div class="">} macx|linux-g++ {</div><div class="">    \
<span style="color: #9cdcfe;" class="">sip_compiler.commands</span> = sip -t <span \
style="color: #9cdcfe;" class="">$$SIP_PLATFORM</span> <span style="color: #ce9178;" \
class="">`python3 get_some_sip_flags.py`</span> -c . -j 5 -P -o \
${QMAKE_FILE_NAME}</div><div class="">}</div><div class=""><span style="color: \
#9cdcfe;" class="">sip_compiler.variable_out</span> = GENERATED_FILES</div><div \
class=""><span style="color: #9cdcfe;" class="">sip_compiler.name</span> = SIP \
${QMAKE_FILE_IN}</div><div class=""><span style="color: #9cdcfe;" \
class="">QMAKE_EXTRA_COMPILERS</span> += sip_compiler</div><br class=""><div \
class=""><span style="color: #9cdcfe;" class="">target.files</span> = <span \
style="color: #9cdcfe;" class="">$$TARGET</span>.so</div><div class=""><span \
style="color: #9cdcfe;" class="">target.depends</span> = sip<span style="color: \
#9cdcfe;" class="">$$TARGET</span>part0.cpp sip<span style="color: #9cdcfe;" \
class="">$$TARGET</span>part1.cpp sip<span style="color: #9cdcfe;" \
class="">$$TARGET</span>part2.cpp sip<span style="color: #9cdcfe;" \
class="">$$TARGET</span>part3.cpp sip<span style="color: #9cdcfe;" \
class="">$$TARGET</span>part4.cpp</div><div class=""><span style="color: #9cdcfe;" \
class="">target.CONFIG</span> = no_check_exist</div><br class=""><div class=""><span \
style="color: #6a9955;" class=""># pyuic5 compiler</span></div><div class=""><span \
style="color: #9cdcfe;" class="">pyuic5.input</span> = FORMS</div><div class=""><span \
style="color: #9cdcfe;" class="">pyuic5.output</span> = \
${QMAKE_FILE_BASE}_form.py</div><div class=""><span style="color: #9cdcfe;" \
class="">pyuic5.dependency_type</span> = TYPE_UI</div><div class=""><span \
style="color: #9cdcfe;" class="">pyuic5.CONFIG</span> = no_link target_predeps \
dep_lines</div><div class=""><span style="color: #9cdcfe;" \
class="">pyuic5.commands</span> = pyuic5 ${QMAKE_FILE_NAME} -o \
${QMAKE_FILE_OUT}</div><div class=""><span style="color: #9cdcfe;" \
class="">pyuic5.variable_out</span> = GENERATED_FILES</div><div class=""><span \
style="color: #9cdcfe;" class="">pyuic5.name</span> = PyUIC5 \
${QMAKE_FILE_IN}</div><div class=""><span style="color: #9cdcfe;" \
class="">QMAKE_EXTRA_COMPILERS</span> += pyuic5</div><br class=""><div class=""><span \
style="color: #6a9955;" class="">#pyrcc5 compiler</span></div><div class=""><span \
style="color: #9cdcfe;" class="">pyrcc5.input</span> = RESOURCES</div><div \
class=""><span style="color: #9cdcfe;" class="">pyrcc5.output</span> = \
qrc_${QMAKE_FILE_BASE}.py</div><div class=""><span style="color: #9cdcfe;" \
class="">pyrcc5.dependency_type</span> = TYPE_RCC</div><div class=""><span \
style="color: #9cdcfe;" class="">pyrcc5.CONFIG</span> = no_link target_predeps \
dep_lines</div><div class=""><span style="color: #9cdcfe;" \
class="">pyrcc5.commands</span> = pyrcc5 ${QMAKE_FILE_NAME} -o \
${QMAKE_FILE_OUT}</div><div class=""><span style="color: #9cdcfe;" \
class="">QMAKE_EXTRA_COMPILERS</span> += pyrcc5</div><br class=""><br \
class=""></div></div><div class=""><br class=""></div><div class=""><br \
class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Apr 22, \
2020, at 12:58 AM, Giuseppe Corbelli &lt;<a href="mailto:corbelligiuseppe@mesdan.it" \
class="">corbelligiuseppe@mesdan.it</a>&gt; wrote:</div><br \
class="Apple-interchange-newline"><div class=""><div class=""><br class="">On 4/21/20 \
8:09 PM, Patrick Stinson wrote:<br class=""><blockquote type="cite" class="">Has \
anyone tried to create a qmake project that will handle pyqt5 targets? Seems that \
would have to at least:<br class="">1) Customize the ui compiler to use pyrcc5 \
instead of rcc<br class="">2) Build sip submodules (I have actually had some success \
with this)<br class="">3) Figure out a way to simultaneously build for multiple \
platforms, e.g. macOS and iOS.<br class="">I am trying get my dev, macOS, iOS, and \
Windows targets into a single<br class="">qmake-based build system to simplify \
development and deployment<br class="">across platforms.<br class=""></blockquote><br \
class="">As far as I know Qt is moving away from qmake to cmake for QT6[1][2] so I \
would suggest staying one step ahead and using cmake, which should be already a \
viable option for QT5.<br class=""><br class="">[1] <a \
href="https://lists.qt-project.org/pipermail/development/2018-October/034023.html" \
class="">https://lists.qt-project.org/pipermail/development/2018-October/034023.html</a><br \
class="">[2] <a href="https://wiki.qt.io/CMake_Port" \
class="">https://wiki.qt.io/CMake_Port</a><br class="">-- <br class="">Giuseppe \
Corbelli<br class="">_______________________________________________<br class="">PyQt \
mailing list &nbsp;&nbsp;&nbsp;<a href="mailto:PyQt@riverbankcomputing.com" \
class="">PyQt@riverbankcomputing.com</a><br class=""><a \
href="https://www.riverbankcomputing.com/mailman/listinfo/pyqt" \
class="">https://www.riverbankcomputing.com/mailman/listinfo/pyqt</a><br \
class=""></div></div></blockquote></div><br class=""></div></body></html>


[Attachment #6 (text/plain)]

_______________________________________________
PyQt mailing list    PyQt@riverbankcomputing.com
https://www.riverbankcomputing.com/mailman/listinfo/pyqt


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic