diff options
author | Chun-wei Fan <fanchunwei@src.gnome.org> | 2020-03-02 18:48:42 +0800 |
---|---|---|
committer | Kjell Ahlstedt <kjellahlstedt@gmail.com> | 2020-03-04 08:44:12 +0100 |
commit | 1156756136e7ffd0c68fe630c6bceb3d6290203b (patch) | |
tree | 7d007a9466666c77a1e63afe49e3330e7cc9a98e | |
parent | cf1ee65e6cd0599653922049a4f34f55ba67a856 (diff) | |
download | glibmm-1156756136e7ffd0c68fe630c6bceb3d6290203b.tar.gz |
tools: Fix 'meson dist'
The former method of using gendef.exe to generate the import library for
glibmm_generate_extra_defs somehow breaks 'meson dist' and builds from
release tarballs, unless one builds giomm first.
Fix this by using the __declspec(dll[ex|im]port) directives, since
glibmm_generate_extra_defs is a simple utility library.
-rw-r--r-- | tools/extra_defs_gen/generate_extra_defs.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/extra_defs_gen/generate_extra_defs.h b/tools/extra_defs_gen/generate_extra_defs.h index 300df4ca..8ad6fa73 100644 --- a/tools/extra_defs_gen/generate_extra_defs.h +++ b/tools/extra_defs_gen/generate_extra_defs.h @@ -20,6 +20,16 @@ #include <iostream> #include <string> +#if defined (_MSC_VER) && !defined (GLIBMM_GEN_EXTRA_DEFS_STATIC) +#if defined (GLIBMM_GEN_EXTRA_DEFS_BUILD) +#define GLIBMM_GEN_EXTRA_DEFS_API __declspec (dllexport) +#else +#define GLIBMM_GEN_EXTRA_DEFS_API __declspec (dllimport) +#endif +#else +#define GLIBMM_GEN_EXTRA_DEFS_API +#endif + /** Function pointer type for functions that determine if a GType is a pointer * type. */ @@ -30,21 +40,29 @@ using GTypeIsAPointerFunc = bool(*)(GType gtype); * @param gtype The GType. * @return true if the GType is a GObject or a boxed type, false otherwise. */ +GLIBMM_GEN_EXTRA_DEFS_API bool gtype_is_a_pointer(GType gtype); +GLIBMM_GEN_EXTRA_DEFS_API std::string get_defs(GType gtype, GTypeIsAPointerFunc is_a_pointer_func = gtype_is_a_pointer); +GLIBMM_GEN_EXTRA_DEFS_API std::string get_property_with_node_name( GParamSpec* pParamSpec, const std::string& strObjectName, const std::string& strNodeName); +GLIBMM_GEN_EXTRA_DEFS_API std::string get_properties(GType gtype); +GLIBMM_GEN_EXTRA_DEFS_API std::string get_type_name(GType gtype, GTypeIsAPointerFunc is_a_pointer_func = gtype_is_a_pointer); +GLIBMM_GEN_EXTRA_DEFS_API std::string get_type_name_parameter( GType gtype, GTypeIsAPointerFunc is_a_pointer_func = gtype_is_a_pointer); +GLIBMM_GEN_EXTRA_DEFS_API std::string get_type_name_signal( GType gtype, GTypeIsAPointerFunc is_a_pointer_func = gtype_is_a_pointer); +GLIBMM_GEN_EXTRA_DEFS_API std::string get_signals(GType gtype, GTypeIsAPointerFunc is_a_pointer_func = gtype_is_a_pointer); |