<p></p>
<p><b>@eli-schwartz</b> commented on this pull request.</p>

<hr>

<p>In <a href="https://github.com/geany/geany/pull/2761#discussion_r707010767">meson.build</a>:</p>
<pre style='color:#555'>> +def_cflags += '-DGDK_DISABLE_DEPRECATION_WARNINGS'
+def_cflags += '-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_32'
+def_cflags += '-DGEANY_PREFIX="@0@"'.format(get_option('prefix'))
+foreach d : [ 'includedir', 'libdir', 'libexecdir', 'datadir', 'localedir' ]
+  def_cflags += '-DGEANY_@0@="@1@"'.format(d.underscorify().to_upper(), join_paths(prefix, get_option(d)))
+endforeach
+def_cflags += '-DGEANY_DOCDIR="@0@"'.format(join_paths(prefix, get_option('datadir'), 'doc'))
+
+# CFLAGS for everything else, i.e. most of Geany
+geany_cflags = def_cflags
+have_gcc4_visibility = cc.has_argument('-fvisibility=hidden')
+geany_cflags += '-DGEANY_PRIVATE'
+if target_machine.system() == 'windows'
+  geany_cflags += '-DGEANY_EXPORT_SYMBOL="__declspec(dllexport)"'
+elif have_gcc4_visibility
+  geany_cflags += '-fvisibility=hidden'
</pre>
<p>Use the meson kwarg <code>gnu_symbol_visibility: 'hidden'</code> on your build targets, and let the declspec define fill in the support gap for Windows (I think everywhere else should support it, really).</p>

<hr>

<p>In <a href="https://github.com/geany/geany/pull/2761#discussion_r707011389">meson.build</a>:</p>
<pre style='color:#555'>> +    'scintilla/lexers/LexPerl.cxx',
+    'scintilla/lexers/LexPowerShell.cxx',
+    'scintilla/lexers/LexProps.cxx',
+    'scintilla/lexers/LexPython.cxx',
+    'scintilla/lexers/LexPO.cxx',
+    'scintilla/lexers/LexR.cxx',
+    'scintilla/lexers/LexRuby.cxx',
+    'scintilla/lexers/LexRust.cxx',
+    'scintilla/lexers/LexSmalltalk.cxx',
+    'scintilla/lexers/LexSQL.cxx',
+    'scintilla/lexers/LexTCL.cxx',
+    'scintilla/lexers/LexTxt2tags.cxx',
+    'scintilla/lexers/LexVHDL.cxx',
+    'scintilla/lexers/LexVerilog.cxx',
+    'scintilla/lexers/LexYAML.cxx',
+    cpp_std: 'c++17',
</pre>
<p>This is not a valid kwarg, but it is a valid project option. You can add it to default_options in the project() declaration, or override it per target with <code>override_options: ['cpp_std=c++17']</code></p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany/pull/2761#pullrequestreview-752319216">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAIOWJ3ETCLGSBEVBCUNSBLUBWC6TANCNFSM4ZDZAFLA">unsubscribe</a>.<br />Triage notifications on the go with GitHub Mobile for <a href="https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675">iOS</a> or <a href="https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub">Android</a>.
<img src="https://github.com/notifications/beacon/AAIOWJ33IEIEHWEPITC7ZT3UBWC6TA5CNFSM4ZDZAFLKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOFTLXV4A.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/geany/geany/pull/2761#pullrequestreview-752319216",
"url": "https://github.com/geany/geany/pull/2761#pullrequestreview-752319216",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>