<div dir="ltr">Hi,<div><br></div><div>I have some questions I found while trying to figure out why the C++ code model for QGIS classes in Qt Creator were not being recognized (since a recent Creator update, not sure when) [0].</div><br>I tracked it down to the following code (sample):<br><br>REMOVE_DEFINITIONS("-DGUI_EXPORT=${DLLIMPORT}")<br>ADD_DEFINITIONS("\"-DGUI_EXPORT=${DLLEXPORT}\"")<br><br>This extra quoting causes the definition (and any other *_EXPORT define) to be parsed as undefined in Qt Creator when building the code model. Why is the quoting like it is? i.e., why isn't it?:<br><br>ADD_DEFINITIONS("-DGUI_EXPORT=${DLLEXPORT}")<div><br></div><div>I could not find any CMake documentation on what the extra quoting accomplishes. There are instances of this type of quoting in the GRASS provider CMake setup as well.</div><div><br></div><div><br></div><div>Also, why are there spaces here in this string value? (in root CMakeLists.txt):</div><div><br></div><div>SET(DLLEXPORT "__attribute__ ((visibility (\\\"default\\\")))")</div><div><br></div><div>Shouldn't that be?:</div><div><br></div><div>SET(DLLEXPORT "__attribute__((visibility(\\\"default\\\")))")</div><div><br></div><div>The latter seems to make a difference with Clang on OS X [1].</div><div><br></div><div>[0] <a href="http://drive.dakotacarto.com/qgis/qgis-dllexport-quoting_qt-creator.png">http://drive.dakotacarto.com/qgis/qgis-dllexport-quoting_qt-creator.png</a></div><div>[1] <a href="https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/CppRuntimeEnv/Articles/SymbolVisibility.html">https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/CppRuntimeEnv/Articles/SymbolVisibility.html</a><br clear="all"><div><div class="gmail_signature"><br></div><div class="gmail_signature">Regards,</div><div class="gmail_signature"><br>Larry Shaffer<br>Dakota Cartography<br>Black Hills, South Dakota</div></div>
</div></div>