<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thank You Phil for getting back.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Yea I am  importing  only the ones I need like as below. If I do not import then it will throw error like</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
<p style="margin:0.0px 0.0px 0.0px 0.0px;font:11.0px Menlo;color:#000000"><span style="font-variant-ligatures:no-common-ligatures">sip-install: ::QQuickFramebufferObject has not been defined. </span></p>
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
%Module(name=Runtime.Qt, keyword_arguments="Optional", use_limited_api=True)
<div><br>
</div>
<div><b><u>ABCmod.sip</u></b></div>
<div><br>
</div>
<div>%Include Core_QList_qint64.sip</div>
<div><br>
</div>
<div>%Include Core_CoreTypes.sip</div>
<div>.......</div>
<div>%Include Mapping_ArcGISVectorTiledLayer.sip</div>
<div>%Include Mapping_ArcGISSceneLayer.sip</div>
<div>%Include Mapping_ImageAdjustmentLayer.sip</div>
<div>%Include Mapping_UnknownLayer.sip</div>
<div> ........</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>%Import QtQuick/QtQuickmod.sip</div>
<div>%Import QtPositioning/QtPositioningmod.sip</div>
<div>%Import QtSensors/QtSensorsmod.sip</div>
<div>%Import QtWidgets/QtWidgetsmod.sip</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>If I look in the file sipQtcmodule.cpp that gets generated I can see</div>
<div><br>
</div>
<div>/* This defines the types that this module needs to import from QtQuick. */
<div>sipImportedTypeDef sipImportedTypes_Qt_QtQuick[] = {</div>
<div>    {"QQuickFramebufferObject"},</div>
<div>    {"QQuickFramebufferObject::Renderer"},</div>
<div>    {"QQuickItem"},</div>
<div>    {"QQuickItem::ItemChange"},</div>
<div>    {"QQuickItem::ItemChangeData"},</div>
<div>    {"QQuickItem::UpdatePaintNodeData"},</div>
<div>    {"QSGNode"},</div>
<div>    {"QSGTextureProvider"},</div>
<div>    {SIP_NULLPTR}</div>
<div>};</div>
<br>
</div>
<div><br>
</div>
<div><br>
</div>
<b>I also have the exact same .toml file like the example for the QtCharts one.</b></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
# Specify the build system requirements.
<div>[build-system]</div>
<div>requires = ["sip >=5.3, <7", "PyQt-builder >=1.6, <2"]</div>
<div>build-backend = "sipbuild.api"</div>
<div><br>
</div>
<div># Specify the PEP 566 metadata for the project.</div>
<div>[tool.sip.metadata]</div>
<div>name = "ABCRuntime"</div>
<div>version = "100.10"</div>
<div>summary = "Python bindings for the xxx Runtime library"</div>
<div>home-page = "https://www.abc.com"</div>
<div>author = "xxx"</div>
<div><br>
</div>
<div>license = "GPL v3"</div>
<div>requires-dist = "PyQt5 (>=5.15)"</div>
<div>description-file = "README"</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div># Specify a PyQt-based project.</div>
<div>[tool.sip]</div>
<div>project-factory = "pyqtbuild:PyQtProject"</div>
<div># Configure the project.</div>
<div>[tool.sip.project]</div>
<div>tag-prefix = "ABCRuntime"</div>
<div># Configure the building of the fib bindings.</div>
<div><br>
</div>
[tool.sip.bindings.ABCRuntime] </div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Still it throws </div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<p style="margin:0.0px 0.0px 0.0px 0.0px;font:11.0px Menlo;color:#000000"><span style="font-variant-ligatures:no-common-ligatures">/Users/sumxxx/pythonBindingsEnv/lib/python3.9/site-packages/PyQt5/bindings/QtQuick/qquickitem.sip:26:10: fatal error: 'qquickitem.h'
 file not found</span></p>
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
What do I look for now?  I really cannot figure out what's the issue... It works for QtCharts but not for any other library.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thank You,</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Suman</div>
<div>
<div id="appendonsend"></div>
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Phil Thompson <phil@riverbankcomputing.com><br>
<b>Sent:</b> Saturday, May 1, 2021 12:24 PM<br>
<b>To:</b> Suman Chatterjee <sum_chat@hotmail.com><br>
<b>Cc:</b> pyqt@riverbankcomputing.com <pyqt@riverbankcomputing.com><br>
<b>Subject:</b> Re: need help with the .toml file. Not able to find the Qt headers</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="PlainText">Are you %Importing the Qt module? If so, don't. Only %Import the
<br>
bindings your library actually depends on.<br>
<br>
Phil<br>
<br>
On 30/04/2021 19:51, Suman Chatterjee wrote:<br>
> looks like it is not searching for the headers related to QtQuick. I<br>
> can see from the logs that it is searching for only QtCore and QtGui<br>
> headers but not for others. I have the import for the others also in<br>
> the sip file. Is there any other configuration that I am missing...<br>
> <br>
> <br>
> Reading /Users/sum10122/pythonBindingsEnv/sip/build/Qt/Qt.pro<br>
> <br>
> Compiling the project...<br>
> <br>
> make<br>
> <br>
> cd Qt/ && ( test -e Makefile || /usr/local/opt/qt/bin/qmake -o<br>
> Makefile /Users/sum10122/pythonBindingsEnv/sip/build/Qt/Qt.pro ) &&<br>
> /Applications/Xcode.app/Contents/Developer/usr/bin/make -f Makefile<br>
> <br>
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++<br>
> -c -pipe -stdlib=libc++ -O2 -std=gnu++11  -arch x86_64 -isysroot<br>
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk<br>
> -mmacosx-version-min=10.13 -fno-exceptions -Wall -Wextra -fPIC<br>
> -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS<br>
> -DQT_NO_DEBUG -DQT_PLUGIN -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -I..<br>
> -I/usr/local/Cellar/python@3.9/3.9.1_5/Frameworks/Python.framework/Versions/3.9/include/python3.9<br>
> -I/usr/local/Cellar/qt/5.15.2/lib/QtGui.framework/Headers<br>
> -I/usr/local/Cellar/qt/5.15.2/lib/QtCore.framework/Headers -I.<br>
> -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenGL.framework/Headers<br>
> -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AGL.framework/Headers<br>
> -I/usr/local/Cellar/qt/5.15.2/mkspecs/macx-clang<br>
> -F/usr/local/Cellar/qt/5.15.2/lib -o sipQtcmodule.o sipQtcmodule.cpp<br>
> <br>
> In file included from sipQtcmodule.cpp:7:<br>
> <br>
> /Users/sum10122/pythonBindingsEnv/lib/python3.9/site-packages/PyQt5/bindings/QtQuick/qquickitem.sip:26:10:<br>
> fatal error: 'qquickitem.h' file not found<br>
> <br>
> #include <qquickitem.h><br>
> <br>
> <br>
> ________________________________<br>
> From: Phil Thompson <phil@riverbankcomputing.com><br>
> Sent: Thursday, April 29, 2021 9:26 PM<br>
> To: Suman Chatterjee <sum_chat@hotmail.com><br>
> Cc: pyqt@riverbankcomputing.com <pyqt@riverbankcomputing.com><br>
> Subject: Re: need help with the .toml file. Not able to find the Qt <br>
> headers<br>
> <br>
> On 29/04/2021 20:04, Suman Chatterjee wrote:<br>
>> Hi,<br>
>>  I am writing a .toml file to generate the  Python bindings for a C++<br>
>> library like below<br>
>> <br>
>> # Specify the build system requirements.<br>
>> [build-system]<br>
>> requires = ["sip >=5.3, <7", "PyQt-builder >=1.6, <2"]<br>
>> build-backend = "sipbuild.api"<br>
>> <br>
>> # Specify the PEP 566 metadata for the project.<br>
>> [tool.sip.metadata]<br>
>> name = "ABC"<br>
>> version = "100.10"<br>
>> summary = "Python bindings for the ArcGIS Runtime library"<br>
>> home-page = "<a href="https://www.xxx.com">https://www.xxx.com</a>"<br>
>> author = "xxx"<br>
>> <br>
>> license = "GPL v3"<br>
>> requires-dist = "PyQt5 (>=5.15)"<br>
>> description-file = "README"<br>
>> <br>
>> # Configure the building of the fib bindings.<br>
>> [tool.sip.bindings.ABC]<br>
>> <br>
>> include-dirs = ["~/ABC_SDKs/Qt100.10/sdk/include"]<br>
>> <br>
>> # Specify a PyQt-based project.<br>
>> [tool.sip]<br>
>> project-factory = "pyqtbuild:PyQtProject"<br>
>> # Configure the project.<br>
>> [tool.sip.project]<br>
>> tag-prefix = "ABC"<br>
>> <br>
>> <br>
>> Now when I run sip-install. I am getting the below error<br>
>> <br>
>> <br>
>> /Users/xxx/pythonBindingsEnv/lib/python3.9/site-packages/PyQt5/bindings/QtQuick/qquickitem.sip:26:10:<br>
>> fatal error: 'qquickitem.h' file not found<br>
>> <br>
>> #include <qquickitem.h><br>
>> <br>
>>          ^~~~~~~~~~~~~~<br>
>> <br>
>> <br>
>> So my question is Do I need to copy all the QT headers files in a<br>
>> folder and add that in the Include-Dirs section of the .toml file. I<br>
>> have the Qt installation added to my PATH like as below<br>
>> <br>
>> <br>
>> export PATH=/usr/local/opt/qt/bin:$PATH<br>
>> <br>
>> <br>
>> But somehow it is not able to find them. But the similiar .toml file<br>
>> worked when I did for the QtCharts. Seems like if I include any other<br>
>> folder then it does not search in other paths.<br>
> <br>
> include-dirs isn't used to find the Qt .h files. qmake is the bit that<br>
> knows where they are. Run 'qmake -query' to see where it thinks they<br>
> are. Also looking at the generated .pro and Makefiles may give you some<br>
> clues.<br>
> <br>
> Phil<br>
</div>
</span></font></div>
</div>
</body>
</html>