@eli-schwartz commented on this pull request.
+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'
Use the meson kwarg `gnu_symbol_visibility: 'hidden'` on your build targets, and let the declspec define fill in the support gap for Windows (I think everywhere else should support it, really).
- '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',
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 `override_options: ['cpp_std=c++17']`