-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathChangeLog
1603 lines (974 loc) · 53.5 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2024-03-17 Kjell Ahlstedt <[email protected]>
3.24.9
2023-12-26 Kjell Ahlstedt <[email protected]>
Gtk::ScrolledWindow: Update the class description
Make it similar to the description of GtkScrolledWindow.
2023-12-11 Kjell Ahlstedt <[email protected]>
meson.build: Don't fail if warning_level=everything
See !87
2023-08-11 Kjell Ahlstedt <[email protected]>
tests/gdk_rgba: Avoid some comparisons for exact equality
See !77
2023-08-09 Kjell Ahlstedt <[email protected]>
gtk_docs.xml: Update documentation of GtkClipboard
* gtk/src/gtk_docs.xml: Update the documentation of GtkClipboard
signal and functions.
* tools/gen_scripts/gtk_generate_docs.sh: Exclude gtkclipboard-quartz.c.
It can hide better descriptions in gtkclipboard.c.
2023-08-08 Kjell Ahlstedt <[email protected]>
3.24.8
2023-07-12 Kjell Ahlstedt <[email protected]>
Remove AUTHORS, HACKING, README.SUN; add info to README.md
Fixes #140
2023-07-12 Kjell Ahlstedt <[email protected]>
Update gtkmm.doap
2023-06-28 Chun-wei Fan <[email protected]>
README.win32: Convert to MarkDown
Make it easier on the eye in terms of formatting. Also update some info there
in particular with Visual Studio builds so that the current situation is better
reflected
2023-06-02 Kjell Ahlstedt <[email protected]>
tools/m4/class_shared.m4: Add a comment
2023-05-08 Kjell Ahlstedt <[email protected]>
gtk/gtkmm/base.h: Fix GTK_VERSION_GT_MICRO
GTK_MICRO_VERSION>minor -> GTK_MICRO_VERSION>micro
Fixes #135
2023-05-08 Kjell Ahlstedt <[email protected]>
Doxyfile.in: Remove obsolete entries
2023-05-08 Kjell Ahlstedt <[email protected]>
README.md: meson -> meson setup
2023-01-08 Kjell Ahlstedt <[email protected]>
meson.build: Simplify test if file exists
2023-01-03 Kjell Ahlstedt <[email protected]>
meson.build: Simplify lookup of python command
See libsigcplusplus PR#83
2023-01-03 Kjell Ahlstedt <[email protected]>
Meson build: Don't copy files with configure_file()
It's deprecated from Meson 0.64. The replacement, fs.copyfile(),
is not useful here. It only copies from the source directory to
the build directory.
2023-01-03 Kjell Ahlstedt <[email protected]>
meson.build: Fix the evaluation of is_git_build on Windows
Fixes #131
2022-09-27 Kjell Ahlstedt <[email protected]>
meson.build: Compress the Python code for is_git_build
2022-09-26 William Roy <[email protected]>
Fix meson.build .git check
Co-authored-by: Kjell Ahlstedt <[email protected]>
2022-09-26 William Roy <[email protected]>
Detect if we build from a git subtree
2022-09-13 Kjell Ahlstedt <[email protected]>
Convert README to README.md
2022-09-12 Kjell Ahlstedt <[email protected]>
3.24.7
2022-09-12 Kjell Ahlstedt <[email protected]>
Gtk::TextView::get_tabs(): Plug a memory leak
gtk_text_view_get_tabs() returns a copy (transfer full).
2022-08-22 Kjell Ahlstedt <[email protected]>
Dialog demo: Add a non-modal dialog
Fixes #123
2022-08-16 Kjell Ahlstedt <[email protected]>
Gtk::Menu: Fix build with -Dbuild-deprecated-api=false
Fixes #126
2022-07-18 Kjell Ahlstedt <[email protected]>
Doxyfile.in: Allow more graph nodes
Required for Gtk::Widget's inheritance diagram.
2022-06-29 Kjell Ahlstedt <[email protected]>
Gtk::Widget: Improve the class documentation
2022-06-09 Kjell Ahlstedt <[email protected]>
Gtk::FileChooserNative: Don't derive a gtkmm__GtkFileChooserNative
GtkFileChooserNative is declared G_DECLARE_FINAL_TYPE.
2022-06-09 Kjell Ahlstedt <[email protected]>
gmmproc: Improved handling of final types
* tools/m4/class_shared.m4: New file. It's a copy of the corresponding
file in glibmm. The copy in gtkmm makes it possible to
use _DO_NOT_DERIVE_GTYPE and _ABI_AS_WITH_DERIVED_GTYPE even if you build
against a version of glibmm where class_shared.m4 has not been updated.
* tools/extra_defs_gen/meson.build:
* tools/m4/filelist.am: Add class_shared.m4.
2022-05-24 Chun-wei Fan <[email protected]>
Meson: Simplify compiler flag checking
As Kjell suggested, don't use a for loop as get_supported_arguments() works on
a list and returns a list.
2022-05-23 Chun-wei Fan <[email protected]>
meson/MSVC: Apply /wd4828 when building gendef.exe only
This warning only applies when compiling gendef.cc, when '/utf-8' is also being
used, so only apply that compiler flag there. Move the '/utf-8' to be with the
other warning-related compiler flags for consistency's sake.
Also, only build gendef.exe if it is really needed, i.e., glibmm's gmmproc is
not able to produce headers that can export gtkmm's symbols via compiler
directives.
2022-05-23 Chun-wei Fan <[email protected]>
meson.build/MSVC: Disable more warnings
These warnings are not ones that we do need to be worried about when building
gtkmm, and we should extend applying them for the (generated) C sources as well
2022-05-23 Chun-wei Fan <[email protected]>
meson.build/MSVC: Re-order warnings-related c[xx]flags a bit
Don't (needlessly) repeat checking for the '/utf-8' compiler flag, and
use the `/wd4267` compiler flag only when building a 64-bit build, since
warning C4267 only applies for 64-bit builds.
Also, add a short description for the warning-related compiler flags for
Visual Studio.
2022-05-21 Kjell Ahlstedt <[email protected]>
meson.build: Avoid configuration warnings
2022-05-02 Kjell Ahlstedt <[email protected]>
3.24.6
2022-04-14 Kjell Ahlstedt <[email protected]>
Gtk::Object::_release_c_instance(): Unref orphan managed widgets
g_object_run_dispose() unrefs a widget only if it has a parent.
Use g_object_unref() on all widgets without a parent.
Fixes #115
2022-02-27 Kjell Ahlstedt <[email protected]>
meson.build: Check if Perl is required for building documentation
New versions of mm-common use the Python scripts doc_postprocess.py
and doc_install.py instead of the Perl scripts doc-postprocess.pl and
doc-install.pl when documentation is built.
2022-02-18 Kjell Ahlstedt <[email protected]>
meson.build: Specify 'check' option in run_command()
The default value will be changed in future Meson releases.
Don't use deprecated python3.path() and execute(..., gui_app: ...).
Let import('python').find_installation() always find the python
installation used to run Meson.
Fixes #111
2022-02-15 Kjell Ahlstedt <[email protected]>
treeiter.hg: Declare TreeValueProxy copy constructor =default
Avoid warnings from the clang++ compiler.
It's deprecated to implicitly declare a copy constructor, if there
is a user-deleted (=delete) copy assignment operator.
2021-11-10 Chun-wei Fan <[email protected]>
build: Support Visual Studio 2022
Make these builds distinct frmo the Visual Studio 2019 builds.
2021-09-08 Kjell Ahlstedt <[email protected]>
docs/reference/Doxyfile.in: Remove obsolete entry
2021-06-27 Kjell Ahlstedt <[email protected]>
SizeGroup demo: Derive from Gtk::Window instead of Dialog
and set active items in the combo boxes, so something is shown.
2021-05-21 Kjell Ahlstedt <[email protected]>
3.24.5
2021-05-19 Kjell Ahlstedt <[email protected]>
Documentation: Let links point to gtkmm-3.0 versions
2021-05-18 Kjell Ahlstedt <[email protected]>
Add dependencies to Doxygen tag files in subprojects
Doxygen in a main project shall not be called before tag files have been
created or updated in subprojects.
2021-05-14 Kjell Ahlstedt <[email protected]>
Fix build as subproject without building documentation
* meson.build: If mm-common-get is not found in maintainer-mode
with 'required: false', try with 'required: true'.
Don't try to use tag_file, if documentation is not built.
* docs/reference/meson.build: Don't use variables from modules
that don't define doxytagfile. These are subprojects that don't build
their documentation.
2021-05-11 Chun-wei Fan <[email protected]>
meson.build: Clean up MSVC build flags
Like the last NMake Makefiles commit, drop the ignores for warnings C4251,
C4273 and C4275 as the code is now free of items that trigger those warnings.
2021-05-11 Chun-wei Fan <[email protected]>
NMake Makefiles: Some cleanups and improvements
Drop the ignores for warnings C4251, C4273 and C4275 from the warnings that we
want to ignore, as the code is now free of items that trigger those warnings.
Also, reorganize the compiler flags for gtkmm-demo as it is actually the /GL
flag that triggered the internal compiler error when it is used with /EHsc on
32-bit Visual Studio 2015 and 2017 builds. Likewise, disable the /LTCG linker
option when building Visual Studio 2015 and 2017 32-bit builds.
2021-05-11 Chun-wei Fan <[email protected]>
treemodelcolumn.h: Export class selectively
This class contains a std::vector<GType> member, so don't export this class as
a whole but export its methods individually.
This will eliminate warning C4251 and avoid having the built code depend on a
specific STL and compiler version
2021-05-11 Chun-wei Fan <[email protected]>
textiter.hg: Correct _WRAP_EQUAL_AND_COMPARE() call
The decoration macro should be GTKMM_API, not GDKMM_API
2021-05-05 Kjell Ahlstedt <[email protected]>
Subprojects can use meson.add_dist_script() if meson.version() >= 0.58.0
Call add_dist_script() in a subproject, if meson.version() >= 0.58.0.
2021-04-09 Kjell Ahlstedt <[email protected]>
Meson build: No implicit_include_directories
2021-04-06 Daniel Boles <[email protected]>
treeiter—Delete TreeValueProxy copy-assign/warning
The user-provided, unimplemented operator=(TreeValueProxy const&)
existed to prevent the class being copied, but since a long time C++
provides a better way to do that: declaring the operator as deleted.
Doing this also avoids warnings about the implicitly declared default
copy constructor, which is deprecated due to the previously user-given
operator=, and since the latter is now deleted the warnings are avoided.
https://gitlab.gnome.org/GNOME/gtkmm/-/issues/94
2021-03-26 Kjell Ahlstedt <[email protected]>
Meson build: Make it possible to use gtkmm as a subproject
gtk, gdk-pixbuf, epoxy, atkmm, cairomm, pangomm and glibmm can be
subprojects of gtkmm.
It's not guaranteed that gtk3 can be a subproject. See gtk#3775
2021-03-09 Chun-wei Fan <[email protected]>
g[d|t]kmmconfig.h.*: Don't dllimport on MinGW
This will fix warnings when building items using gdkmm and gtkmm with
MinGW/GCC.
Fixes: https://gitlab.gnome.org/GNOME/gtkmm/-/issues/90
(cherry picked from commit 86685b604692b5d93f51a1d886786352c921dc51)
2021-02-24 Mingli Yu <[email protected]>
meson.build: use relative path
Fixes:
Fatal error: can't create
gdk/gdkmm/libgdkmm-3.0.so.1.1.0.p/_buildarea1_master-wr_build_Userspace_auto-usrmerge_standalone_usrmerge_next_210222_lxbuilds_Har12345_platform_up_intel-x86-64-standard-glibc-std_wrlinux_build_tmp-glibc_work_corei7-64-wrs-linux_gtkmm3_3.24.3-r0_gtkmm-3.24.3_untracked_gdk_gdkmm_timecoord.cc.o: File name too long
Signed-off-by: Mingli Yu <[email protected]>
2021-02-23 Kjell Ahlstedt <[email protected]>
3.24.4
2021-02-12 Kjell Ahlstedt <[email protected]>
docs/reference/Doxyfile.in: Remove obsolete entries
2021-02-12 Chun-wei Fan <[email protected]>
treepath.hg: Export comparison operators
The 'GTKMM_API' decoration was missed from the '_WRAP_COMPARE' item,
making the code fail to link for Inkscape on Windows. Add the needed
decoration to fix this.
Fixes issue #88.
2020-12-13 Kjell Ahlstedt <[email protected]>
3.24.3
2020-10-22 Chun-wei Fan <[email protected]>
NMake Makefiles: "Install" the codegen .m4 files
This way, we can make gtkmm's codegen m4 scripts available to other packages
that uses them to generate sources
2020-10-12 Kjell Ahlstedt <[email protected]>
gtk/gtkmm.h: Fix a typo
2020-10-11 Kjell Ahlstedt <[email protected]>
gtk/gtkmm.h: Describe how to use gtkmm with meson
2020-10-06 Kjell Ahlstedt <[email protected]>
Documentation: Explain key values
and add links to gdk/gdkkeysyms.h. Fixes #6
2020-10-06 Kjell Ahlstedt <[email protected]>
gtk/gtkmm.h: Update the link to libsigc++'s home page
2020-10-01 Kjell Ahlstedt <[email protected]>
Meson build: Fix versioning on macOS
See libsigcplusplus, pull request 65
2020-09-02 Kjell Ahlstedt <[email protected]>
Remove an obsolete file
* docs/reference/README: Removed
* meson.build: Exclude some git-tracked files from generated
tarballs. Works as intended only with a new enough dist-build-scripts.py
file from mm-common-get.
2020-08-31 Kjell Ahlstedt <[email protected]>
Gtk::Actionable::get_action_target_value(): Fix ref count
gtk_actionable_get_action_target_value() does not give the caller a ref.
get_action_target_value_vfunc_callback() shall store a copy of the
returned value. It shall not give the caller a ref.
2020-08-31 Chun-wei Fan <[email protected]>
NMake Makefiles: Fix gendef invocation
We ought to pass in the DLL filenames with the '.dll' extension, not just the
.lib filenames.
2020-08-28 Chun-wei Fan <[email protected]>
gtk/gtkmm/private/object_p.h: Decorate Gtk::Object_Class with GTKMM_API
This way, we can fix gtksourceviewmm builds on Visual Studio as well, when
gtkmm was not built with gendef.exe
2020-07-23 Chun-wei Fan <[email protected]>
NMake Makefiles: Use Meson-style DLL and .lib naming if requested
To make things more consistent and less prone to confusion, if 'USE_MESON_LIBS'
is specified in the NMake command line, build the DLLs and .lib's that are
named like the Meson counterparts. Binaries built with Meson+Visual Studio
and the ones that are built via NMake using 'USE_MESON_LIBS' are
interchangeable, provided that they are built with the same Visual Studio
version.
2020-07-23 Chun-wei Fan <[email protected]>
NMake Makefiles: Fix build from release tarballs
Make sure that we do not needlessly re-generate [gdk|gtk]mm[config.h|.rc], and
ensure when they are generated, they will always contain the needed version
info in them.
Also streamline the process so that it is no longer necessary to run the
'prep-git-build' target; instead, this file generating process is carried out
when necessary when running the 'all' target.
2020-07-08 Chun-wei Fan <[email protected]>
NMake Makefiles: Fix header search paths
We should also look in $(PREFIX)\include\harfbuzz and $(PREFIX)\include for
HarfBuzz (which the Pango headers may include) and Cairo (and libepoxy)
respectively, since these are likely locations where the headers are
located.
2020-07-08 Chun-wei Fan <[email protected]>
NMake Makefiles: Support ARM64 Windows builds
This will make the NMake Makefiles capable of building ARM64 binaries of gdkmm
and gtkmm, which can be used on Windows 10 on ARM systems.
2020-07-01 Kjell Ahlstedt <[email protected]>
gdk/meson.build: Set MSVC_TOOLSET_VER in conf data
2020-06-30 Chun-wei Fan <[email protected]>
NMake Makefiles: Fix previous commit
We should also account for Visual Studio 2015 when we use 'USE_MESON_LIBS' with
'USE_COMPAT_LIBS' as well...
2020-06-30 Chun-wei Fan <[email protected]>
MSVC_NMake/README: Update build info
Note that it is possible to build with Visual Studio with Meson, on the
condition that the -mm dependencies are built with Meson as well, since we need
their pkg-config files.
Also note that the same compiler version should be used to build gtkmm and the
-mm dependencies, even for Visual Studio 2015, 2017 and 2019.
2020-06-30 Chun-wei Fan <[email protected]>
NMake Makefiles: Apply toolset version for Meson-built deps
As the Meson build files for Visual Studio apply the toolset version in the
.lib filenames by default, apply the toolset version in the Meson-built -mm
.lib files that we link in, just as we did when we we link in the -mm .lib
files that was built with NMake, by default.
The option 'USE_COMPAT_LIBS' will also mean that we will use the former
behavior when we link in the Meson-built -mm .lib's, just as we did when we
link in the NMake-built -mm .lib's.
2020-06-30 Chun-wei Fan <[email protected]>
Meson/Visual Studio builds: Include toolset version by default
This makes the built DLL and .lib's contain the toolset version if the build is
carried out using Visual Studio 2015 or later, unless the
'msvc14x-parallel-installable' option is set to be false during configuration.
The reasoning behind this change is that there are subtle problems when, for
instance, one tries to link to a Visual Studio 2015-built glibmm when building
gtkmm and libxml++ with Visual Studio 2017 or 2019. This is unfortunate as
Microsoft did try hard to make interoperating between binaries built with
Visual Studio 2015, 2017 and 2019 as easy as possible in terms of ABI and API,
but unfortunately this hits the corner cases where this compatibility does not
work.
As the name suggests, this attempts to make Visual Studio 2015, 2017 and 2019
builds share a single set of underlying C DLLs easier, while avoiding breakages
caused by such subtle differences.
2020-06-30 Chun-wei Fan <[email protected]>
meson: Remove gmmproc-dir option
It was not used, anyways, since we look for the -mm dependencies only via
pkg-config, which will give us the info we need
2020-06-17 Kjell Ahlstedt <[email protected]>
docs/reference/meson.build: Improve the update for Doxygen >= 1.8.16
Move some code from meson.build to doc-install.pl (in mm-common),
where regular expressions can be used.
2020-06-17 Chun-wei Fan <[email protected]>
NMake Makefiles: Clean up building demo and test programs
We can group some items together and "generate" the build rules for the test
programs instead of hand-writing them one-by-one, since the compiler and linker
flags for them are largly the same.
2020-06-17 Chun-wei Fan <[email protected]>
NMake Makefiles: Fix 32-bit Visual Studio 2017 builds
We need to disable /EHsc in the compiler flags when building gtkmm-demo,
because it turns out that the linking will fail with an internal compiler error
like on Visual Studio 2015 32-bit builds.
The x64 builds on Visual Studio 2015 and later and 32-bit builds on Visual
Studio 2019 build and run as expected.
2020-06-17 Chun-wei Fan <[email protected]>
NMake Makefiles: Distinguish between MSVC 2015, 2017 and 2019
It was found that we cannot completely rely on the fact that Visual
Studio 2015~2019 tried very hard to be binary compatible, as there
are corner cases when linking against glibmm built with Visual
Studio 2015 with builds done by Visual Studio 2017 and 2019 where
the code will fail to link and the DLLs are therefore not
ABI-compatible. Note that the libsigc++ DLLs, however, are ABI
compatible between these 3 Visual Studio versions.
As a result, for the DLL and LIB names, use 'vc140' for Visual Studio
2015 builds, 'vc141' for Visual Studio 2017 builds and 'vc142' for
Visual Studio 2019 builds, according to the toolset versions as defined
by Microsoft.
For people that may have previously built gtkmm (and glibmm) with Visual
Studio 2017 or 2019, which had 'vc140' in the built .lib and DLL, an NMake
option 'USE_COMPAT_LIBS' is added to make building such binaries with
'vc140' easier, if needed.
2020-06-15 Kjell Ahlstedt <[email protected]>
docs/reference/Doxyfile.in: Remove PERL_PATH
Doxygen since version 1.8.0 does not use PERL_PATH and MSCGEN_PATH.
2020-06-15 Kjell Ahlstedt <[email protected]>
docs/reference/meson.build: Update for Doxygen >= 1.8.16
Doxygen 1.8.16 and later does not store tag file names in the html files.
This requires changes in meson.build and in doc-install.pl (in mm-common).
Otherwise references to other modules won't be updated in the html files
when they are installed.
2020-06-05 Kjell Ahlstedt <[email protected]>
README: Update with instructions for building gtkmm
2020-05-18 Chun-wei Fan <[email protected]>
NMake Makefiles: Remove pkg-ver.mak
That file is generated and was added to the repository by accident.
2020-05-15 Chun-wei Fan <[email protected]>
Meson: Fix building when gendef.exe is used
When gendef.exe is used, the gtkmm library must link to the gdkmm library, as
we do when gendef.exe is not used. Also, make sure that we do apply
'-DGDKMM_USE_GENDEF' and '-DGTKMM_USE_GENDEF' as necessary
2020-05-15 Chun-wei Fan <[email protected]>
NMake Makefiles: Support building from Meson-generated tarballs
Make the build files look for the sources in untracked/ when needed. One may
need to run 'nmake /f Makefile.vc CFG=<CFG> prep-git-build' prior to building.
2020-05-15 Chun-wei Fan <[email protected]>
Meson: Use '-utf-8' for the the MSVC C compiler
We are also generating a GResource C file that will be compiled, so also use
the -utf-8 compiler flag for the C compiler too
2020-05-15 Chun-wei Fan <[email protected]>
Meson: Fix linking demos and tests on Visual Studio
GTK (and therefore gtkmm) applications require a linker flag
'-entry:mainCRTStartup' if building with 'gui_app' is set to be true (which
means, we are using /subsystem:windows in the linker flags on Visual Studio)
unless a WinMain() is defined in the individual application's sources.
This fixes the build of such programs by adding this linker flag where it is
needed.
2020-05-15 Chun-wei Fan <[email protected]>
Meson: Ignore more warnings on Visual Studio
We can safely ignore warnings C4251, C4273 and C4275 as we are sure that we
want to use __declspec(dllimport) on the libraries that we depend upon, and
even with the C++11 versions, we are basically tied to the same CRT as Visual
Studio 2015 or later is required to build the C++11 branches of the the -mm
dependencies fully.
We can also ignore warning C4805 since a 'gboolean' is defined to mimic a
'bool'.
2020-05-15 Chun-wei Fan <[email protected]>
[gdk|gtk]mmconfig.h.meson: Define [GDK|GTK]MM_API appropriately
Like in the [gdk|gtk]mmconfig.h.in files, we want to put the definitions of
[GDK|GTK]MM_API in there appropriately, so that we may be able to build without
gendef.exe
2020-05-15 Chun-wei Fan <[email protected]>
Meson: Clean-up and fix dependency search
Since we have Meson build files for the C++ dependencies, just use the normal
dependency search via pkg-config for all the -mm dependencies. This also
includes looking for atkmm, unless we request not to.
We do, however, want to look for gtk+-unix-print-3.0 only if we are not
building on Windows (at least), becuase there is no way that it will be there
on Windows.
Also clean up the parts where we decide whether to build gdkmm/gtkmm as a
shared library directly without using gendef.exe.
2020-05-15 Kjell Ahlstedt <[email protected]>
Add support for building gtkmm with Meson
gtkmm-3.0 can be built with either Autotools or Meson.
New files have been copied from glibmm-2.4 and atkmm-1.6 and modified.
See MR !24
2020-05-13 Chun-wei Fan <[email protected]>
NMake Makefiles: Ignore warning C4273
We are likely using the dll-interface for our builds here, which we know pretty
well, so we can just ignore this warning here too, as our builds here are tied
to the CRT version
2020-05-13 Chun-wei Fan <[email protected]>
NMake Makefiles: Export symbols without gendef if possible
We check to see whether we have a new-enough gmmproc that is capable of
generating the headers from the .hg templates with function decorations
at places where they need to be. If it is, we skip building gendef and
use __declspec(dllexport) to export the needed symbols.
Otherwise, we continue to use gendef.exe to export symbols, as we did
before.
2020-05-13 Chun-wei Fan <[email protected]>
gtk/gtkmm/*.h: Mark functions with GTKMM_API
If gmmproc is new enough to generate the full sources from the .hg files
with GTKMM_API applied to all applicable places, we can use this to
export symbols without the need to use gendef.exe.
The build-time check to check if gmmproc is new enough will be in an
upcoming commit.
2020-05-13 Chun-wei Fan <[email protected]>
gtk/src/*.hg: Mark classes and functions with GTKMM_API
Mark all the classes and methods/functions (if applicable) with
GTKMM_API so that we can use it to export symbols, if gmmproc is new
enough to apply GTKMM_API to the _WRAP_ENUM, _WRAP_GERROR, _WRAP_EQUAL*
and _CLASS_* items.
The check on whether gmmproc is new enough will be in an upcoming
commit.
2020-05-13 Chun-wei Fan <[email protected]>
tools/m4/class_gtkobject.m4: Allow applying decorations
This updates the _CLASS_GTKOBJECT m4 macro so that we can decorate the
declarations of classes and wrap functions with decorations so that we
can use them to export symbols via defining those decorations with
compiler directives.
2020-05-13 Chun-wei Fan <[email protected]>
gdk/gdkmm/*.h: Mark functions with GDKMM_API
If gmmproc is new enough to generate the full sources from the .hg files
with GDKMM_API applied to all applicable places, we can use this to
export symbols without the need to use gendef.exe.
The build-time check to check if gmmproc is new enough will be in an
upcoming commit.
2020-05-13 Chun-wei Fan <[email protected]>
gdk/src/*.hg: Mark classes and functions with GDKMM_API
Mark all the classes and methods/functions (if applicable) with
GDKMM_API so that we can use it to export symbols, if gmmproc is new
enough to apply GDKMM_API to the _WRAP_ENUM, _WRAP_GERROR and _CLASS_*
items.
The check on whether gmmproc is new enough will be in an upcoming
commit.
2020-05-13 Chun-wei Fan <[email protected]>
gtk/gtkmmconfig.h.in: Re-organize GTKMM_API definitions
This way, we can update the public headers and use this macro to export
symbols without using gendef if the classes and methods are marked
adequately.
2020-05-13 Chun-wei Fan <[email protected]>
gdk/gdkmmconfig.h.in: Add GDKMM_API
This enables us to use this macros later in public headers so that we
can export symbols from the DLLs using compiler directives, instead of
gendef, if we marked classes and APIs/methods sufficiently.
2020-05-13 Chun-wei Fan <[email protected]>
NMake Makefiles: Fix previous commit on /utf-8
The previous commit only meant "Visual Studio 2017 or later", where it should
have been "Visual Studio 2015 or later". Doh :|
2020-05-13 Chun-wei Fan <[email protected]>
NMake Makefiles: Fix build rules
Make sure that the cmd.exe 'if not...' statements are correct.
2020-05-13 Chun-wei Fan <[email protected]>
NMake Makefiles: Use /utf-8 if available
This flag is provided on Visual Studio 2015 and later, so that it will help to
work around unicode handling issues that occur when building on East Asian
locales, that is demonstrated by error/warning C4819.
Disabling warning C4828 is meant for gendef.exe, which comes as a consequence
of using /utf-8.
2020-05-10 Kjell Ahlstedt <[email protected]>
gtk/gtkmm/filelist.am: Remove border.h
border.h and border.cc are generated files since about 10 years.
border.hg is listed in gtk/src/filelist.am.
2020-05-10 Kjell Ahlstedt <[email protected]>
docs/reference/images/stock: Remove .svg files
There are about 200 unused .svg files. Remove them. Stock items are
deprecated. They are removed in gtk4 and gtkmm4.
When Meson support is added, and tarballs are created with 'ninja dist',
all files stored in git will be included in the tarballs unless
removed by a custom command. It's easier to remove unused files
from the git repo.
2020-05-09 Kjell Ahlstedt <[email protected]>
Fix build with X11 backend disabled
* configure.ac:
* gdk/gdkmmconfig.h.in: Define GDKMM_X11_BACKEND_ENABLED if X11 API
shall be built.
* gtk/src/plug.hg:
* gtk/src/socket.hg: Enable in wrap_init.cc if GDKMM_X11_BACKEND_ENABLED
is defined. (Was enabled if GDK_WINDOWING_X11 was defined.)
This was partly fixed 8 years ago. See Bugzilla #678883. But it failed if
the X11 backend was available in gtk, but X11-only code shall still not
be built in gtkmm. (configuration with --enable-x11-backend=no)
2020-05-06 Chun-wei Fan <[email protected]>
NMake Makefiles: Allow linking to more Meson-built items
atkmm and cairomm recently gained Meson build files, so add their libary
and DLL names to the NMake Makefiles so that we can easily link to them
when we use USE_MESON_LIBS in the NMake command line.
2020-05-06 Chun-wei Fan <[email protected]>
NMake Makefiles: Avoid an Internal Compiler Error
On Visual Studio 2015 32-bit, the compiler crashes while building
gtkmm3-demo with /EHsc enabled, so disable that if we are on Visual
Studio 2015 32-bit.
2020-04-13 Chun-wei Fan <[email protected]>
NMake Makefiles: Fix test program build rules
We want to make sure that we really do re-link the test programs if either
or both of gdkmm and gtkmm were rebuilt.
Also, remove repeated use of /wd4275, since we are using that throughout
the build of gtkmm.
2020-04-10 Chun-wei Fan <[email protected]>
NMake Makefiles: Mention about the 'prep-git-build' target
Let people know how it may be used to build from GIT checkouts.
2020-04-10 Chun-wei Fan <[email protected]>
NMake Makefiles: Fix headers 'install'
The previous update accidentily removed the parts where we copy the
deprecated header files, so we want to restore that.
We also want to streamline whether we copy the deprecated hand-written
headers by whether we include deprecated items in the build.
2020-04-08 Chun-wei Fan <[email protected]>
NMake Makefiles: Update build info
Tell people about the build options USE_MESON_LIBS and
GMMPROC[_PANGO|_ATK]_DIR.
2020-04-08 Chun-wei Fan <[email protected]>
NMake Makefiles: Support linking to Meson-built -mm deps
This makes it easier for people that want to build dependencies with
Meson as far as possible, by adding an USE_MESON_LIBS NMake option.
Note that by using USE_MESON_LIBS at this time of writing, libsigc++,
glibmm and pangomm should be built by Meson, and atkmm and cairomm
should also link to the Meson-built variants of glibmm and libsigc++ as
well (as atkmm and cairomm do not yet have Meson build files).
2020-04-08 Chun-wei Fan <[email protected]>
NMake Makefiles: Speed up builds
Just use 'md' to create the intermediate build directories, so that we
do not need to re-load NMake Makefile stuff that often, so this should
make things build faster.
This also enables us to clean up generate-msvc.mak as well.
2020-04-08 Chun-wei Fan <[email protected]>
NMake Makefiles: Fix 'nmake tests'
Make sure that we have all the rules for the various test programs
that are listed by their directories in $(srcroot)/tests
2020-04-08 Chun-wei Fan <[email protected]>
NMake Makefiles: Fix up 'nmake clean'
Look instead for the build directories by using the dirname's in
$(srcroot)/tests, and constructing the IntDir paths from them.
2020-04-06 Chun-wei Fan <[email protected]>
NMake Makefiles: Silence some warnings
Enable /EHsc so that we do not receive warning C4577 for constexpr
usage.
Also disable warnings C4251 and C4275 as they relate to whether we are
using __declspec(dllimport) for the public symbols in the glibmm
headers, when building against glibmm 2.64.0 or later. Since we know
what we are indeed going to use __declspec(dllimport) as we build against
glibmm 2.64.0 or later, we can just ignore those warnings.
2020-04-06 Chun-wei Fan <[email protected]>
NMake Makefiles: Add rules to generate sources
This way, we are now able to build directly from a GIT checkout by first
running the 'prep-git-build' target before running the NMake build
itself.
This will require PERL (with XML::Parser) and some common UNIX utilities
such as 'cp' and 'rm' in order to run gmmproc from glibmm. Note that
the m4 files for atkmm and pangomm used for their code generation are
required as well.
2020-04-06 Chun-wei Fan <[email protected]>
NMake Makefiles: Add rules to generate versioned items
This adds rules to generate [gdk|gtk]mm/[gdk|gtk]mm.rc and
[gdk|gtk]mm/[gdk|gtk]mmconfig.h from their .in counterparts by reading
from configure.ac.
2020-04-06 Chun-wei Fan <[email protected]>
NMake Makefiles: Separate OutDir and IntDir by PDB version
This way, we reduce the likelyhood that object files built by different
toolset versions get mixed up with the ones built by other toolset
versions, which can well be a source of trouble.
2020-04-05 Chun-wei Fan <[email protected]>
NMake Makefiles: Standardize on PDB version
Make the default prefix relate to the PDB version, not the Visual Studio
version. This is becuase the dependent C++-11 -mm libraries already did
so.
2020-04-05 Chun-wei Fan <[email protected]>
NMake Makefiles: Get rid of references to Vulkan
Only the master (gtk-4) branch use Vulkan, so we don't need these here.