[gtkmm/gtkmm-3-24] NMake Makefiles: Distinguish between MSVC 2015, 2017 and 2019
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkmm/gtkmm-3-24] NMake Makefiles: Distinguish between MSVC 2015, 2017 and 2019
- Date: Wed, 17 Jun 2020 04:31:58 +0000 (UTC)
commit 41cd5063a6074326d4613115287107d4788829dd
Author: Chun-wei Fan <fanchunwei src gnome org>
Date: Wed Jun 17 12:24:38 2020 +0800
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.
MSVC_NMake/build-rules-msvc.mak | 180 +++++++++++++++++++--------------------
MSVC_NMake/config-msvc.mak | 40 ++++-----
MSVC_NMake/create-lists-msvc.mak | 28 +++---
MSVC_NMake/detectenv-msvc.mak | 43 ++++++----
MSVC_NMake/generate-msvc.mak | 20 ++---
MSVC_NMake/install.mak | 24 +++---
6 files changed, 173 insertions(+), 162 deletions(-)
---
diff --git a/MSVC_NMake/build-rules-msvc.mak b/MSVC_NMake/build-rules-msvc.mak
index 8f03a7d2..a36ccf7f 100644
--- a/MSVC_NMake/build-rules-msvc.mak
+++ b/MSVC_NMake/build-rules-msvc.mak
@@ -13,63 +13,63 @@
# $(CC)|$(CXX) $(cflags) /Fo$(destdir) /c @<<
# $<
# <<
-{vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\}.cc{vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\}.obj::
- $(CXX) $(LIBGDKMM_CFLAGS) $(CFLAGS_NOGL) /Fovs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\
/Fdvs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\ /c @<<
+{vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\}.obj::
+ $(CXX) $(LIBGDKMM_CFLAGS) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\
/Fdvs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\ /c @<<
$<
<<
-{..\gdk\gdkmm\}.cc{vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\}.obj::
- $(CXX) $(LIBGDKMM_CFLAGS) $(CFLAGS_NOGL) /Fovs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\
/Fdvs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\ /c @<<
+{..\gdk\gdkmm\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\}.obj::
+ $(CXX) $(LIBGDKMM_CFLAGS) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\
/Fdvs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\ /c @<<
$<
<<
-{..\untracked\gdk\gdkmm\}.cc{vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\}.obj::
- $(CXX) $(LIBGDKMM_CFLAGS) $(CFLAGS_NOGL) /Fovs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\
/Fdvs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\ /c @<<
+{..\untracked\gdk\gdkmm\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\}.obj::
+ $(CXX) $(LIBGDKMM_CFLAGS) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\
/Fdvs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\ /c @<<
$<
<<
-{..\gdk\src\}.ccg{vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\}.obj:
+{..\gdk\src\}.ccg{vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\}.obj:
@if not exist $(@D)\private\ md $(@D)\private
@for %%s in ($(<D)\*.ccg) do @if not exist ..\untracked\gdk\gdkmm\%%~ns.cc if not exist
..\gdk\gdkmm\%%~ns.cc if not exist $(@D)\%%~ns.cc $(PERL) -- $(GMMPROC_DIR)/gmmproc -I ../tools/m4 -I
$(GMMPROC_PANGO_DIR) -I $(GMMPROC_ATK_DIR) --defs $(<D:\=/) %%~ns $(<D:\=/) $(@D)
@if exist $(@D)\$(<B).cc $(CXX) $(LIBGDKMM_CFLAGS) $(CFLAGS_NOGL) /Fo$(@D)\ /Fd$(@D)\ /c
$(@D)\$(<B).cc
@if exist ..\untracked\gdk\gdkmm\$(<B).cc if not exist ..\gdk\gdkmm\$(<B).cc if not exist
$(@D)\$(<B).cc $(CXX) $(LIBGDKMM_CFLAGS) $(CFLAGS_NOGL) /Fo$(@D)\ /Fd$(@D)\ /c ..\gdk\gdkmm\$(<B).cc
@if exist ..\gdk\gdkmm\$(<B).cc if not exist ..\untracked\gdk\gdkmm\$(<B).cc if not exist
$(@D)\$(<B).cc $(CXX) $(LIBGDKMM_CFLAGS) $(CFLAGS_NOGL) /Fo$(@D)\ /Fd$(@D)\ /c ..\gdk\gdkmm\$(<B).cc
-{.\gdkmm\}.rc{vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\}.res:
+{.\gdkmm\}.rc{vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\}.res:
rc /fo$@ $<
-{vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\}.cc{vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\}.obj::
- $(CXX) $(LIBGTKMM_CFLAGS) $(CFLAGS_NOGL) /Fovs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\
/Fdvs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\ /c @<<
+{vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\}.obj::
+ $(CXX) $(LIBGTKMM_CFLAGS) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\
/Fdvs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\ /c @<<
$<
<<
-{..\gtk\gtkmm\}.cc{vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\}.obj::
- $(CXX) $(LIBGTKMM_CFLAGS) $(CFLAGS_NOGL) /Fovs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\
/Fdvs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\ /c @<<
+{..\gtk\gtkmm\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\}.obj::
+ $(CXX) $(LIBGTKMM_CFLAGS) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\
/Fdvs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\ /c @<<
$<
<<
-{..\untracked\gtk\gtkmm\}.cc{vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\}.obj::
- $(CXX) $(LIBGTKMM_CFLAGS) $(CFLAGS_NOGL) /Fovs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\
/Fdvs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\ /c @<<
+{..\untracked\gtk\gtkmm\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\}.obj::
+ $(CXX) $(LIBGTKMM_CFLAGS) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\
/Fdvs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\ /c @<<
$<
<<
-{..\gtk\src\}.ccg{vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\}.obj:
+{..\gtk\src\}.ccg{vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\}.obj:
@if not exist $(@D)\private\ md $(@D)\private
@for %%s in ($(<D)\*.ccg) do @if not exist ..\gtk\gtkmm\%%~ns.cc if not exist
..\untracked\gtk\gtkmm\%%~ns.cc if not exist $(@D)\%%~ns.cc $(PERL) -- $(GMMPROC_DIR)/gmmproc -I ../tools/m4
-I $(GMMPROC_PANGO_DIR) -I $(GMMPROC_ATK_DIR) --defs $(<D:\=/) %%~ns $(<D:\=/) $(@D)
@if exist $(@D)\$(<B).cc $(CXX) $(LIBGTKMM_CFLAGS) $(CFLAGS_NOGL) /Fo$(@D)\ /Fd$(@D)\ /c
$(@D)\$(<B).cc
@if exist ..\untracked\gtk\gtkmm\$(<B).cc if not exist ..\gtk\gtkmm\$(<B).cc if not exist
$(@D)\$(<B).cc $(CXX) $(LIBGTKMM_CFLAGS) $(CFLAGS_NOGL) /Fo$(@D)\ /Fd$(@D)\ /c ..\gtk\gtkmm\$(<B).cc
@if exist ..\gtk\gtkmm\$(<B).cc if not exist ..\untracked\gtk\gtkmm\$(<B).cc if not exist
$(@D)\$(<B).cc $(CXX) $(LIBGTKMM_CFLAGS) $(CFLAGS_NOGL) /Fo$(@D)\ /Fd$(@D)\ /c ..\gtk\gtkmm\$(<B).cc
-{.\gtkmm\}.rc{vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\}.res:
+{.\gtkmm\}.rc{vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\}.res:
rc /fo$@ $<
-{..\demos\gtk-demo\}.cc{vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-demo\}.obj::
- $(CXX) $(GTKMM_DEMO_CFLAGS) $(CFLAGS) /Fovs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-demo\
/Fdvs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-demo\ /c @<<
+{..\demos\gtk-demo\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-demo\}.obj::
+ $(CXX) $(GTKMM_DEMO_CFLAGS) $(CFLAGS) /Fovs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-demo\
/Fdvs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-demo\ /c @<<
$<
<<
-{vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-demo\}.c{vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-demo\}.obj::
- $(CC) $(GTKMM_DEMO_CFLAGS) $(CFLAGS) /Fovs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-demo\
/Fdvs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-demo\ /c @<<
+{vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-demo\}.c{vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-demo\}.obj::
+ $(CC) $(GTKMM_DEMO_CFLAGS) $(CFLAGS) /Fovs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-demo\
/Fdvs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-demo\ /c @<<
$<
<<
@@ -105,88 +105,88 @@ $(gtkmm_OBJS)
# @-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;1
# For the gendef tool
-{.\gendef\}.cc{vs$(PDBVER)\$(CFG)\$(PLAT)\}.exe:
- @if not exist vs$(PDBVER)\$(CFG)\$(PLAT)\gendef\ md vs$(PDBVER)\$(CFG)\$(PLAT)\$(@B)
+{.\gendef\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\}.exe:
+ @if not exist vs$(VSVER)\$(CFG)\$(PLAT)\gendef\ md vs$(VSVER)\$(CFG)\$(PLAT)\$(@B)
$(CXX) $(GTKMM_BASE_CFLAGS) $(CFLAGS) /Fo$(@D)\gendef\ /Fd$(@D)\gendef\ $< /link $(LDFLAGS) /out:$@
@-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;1
-$(GTKMM3_DEMO): $(GTKMM_LIB) vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-demo $(gtkmm_demo_OBJS)
+$(GTKMM3_DEMO): $(GTKMM_LIB) vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-demo $(gtkmm_demo_OBJS)
link $(LDFLAGS) $(GTKMM_LIB) $(GDKMM_LIB) $(GTKMM_DEMO_DEP_LIBS) -out:$@ @<<
$(gtkmm_demo_OBJS)
<<
@-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;1
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-builder.exe: $(GTKMM_LIB) ..\tests\builder\main.cc
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-child_widget.exe: $(GTKMM_LIB) ..\tests\child_widget\main.cc
..\tests\child_widget\testwindow.cc
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-child_widget2.exe: $(GTKMM_LIB) ..\tests\child_widget2\main.cc
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-child_widget_managed.exe: $(GTKMM_LIB)
..\tests\child_widget_managed\main.cc
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-delete_cpp_child.exe: $(GTKMM_LIB) ..\tests\delete_cpp_child\main.cc
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-dialog.exe: $(GTKMM_LIB) ..\tests\dialog\main.cc
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-dialog_deletethis.exe: $(GTKMM_LIB) ..\tests\dialog_deletethis\main.cc
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-gdk_rgba.exe: $(GTKMM_LIB) ..\tests\gdk_rgba\main.cc
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-main_with_options.exe: $(GTKMM_LIB) ..\tests\main_with_options\main.cc
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-menu_destruction.exe: $(GTKMM_LIB) ..\tests\menu_destruction\main.cc
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-object_move.exe: $(GTKMM_LIB) ..\tests\object_move\main.cc
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-property_notification.exe: $(GTKMM_LIB)
..\tests\property_notification\main.cc
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-refcount_dialog.exe: $(GTKMM_LIB) ..\tests\refcount_dialog\main.cc
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-scrolledwindow.exe: $(GTKMM_LIB) ..\tests\scrolledwindow\main.cc
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-tree_model_iterator.exe: $(GTKMM_LIB)
..\tests\tree_model_iterator\main.cc
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-wrap_existing.exe: $(GTKMM_LIB) ..\tests\wrap_existing\main.cc
-
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-builder.exe \
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-child_widget.exe \
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-child_widget2.exe \
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-child_widget_managed.exe \
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-delete_cpp_child.exe \
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-dialog.exe \
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-dialog_deletethis.exe \
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-gdk_rgba.exe \
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-main_with_options.exe \
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-menu_destruction.exe \
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-object_move.exe \
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-property_notification.exe \
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-refcount_dialog.exe \
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-scrolledwindow.exe \
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-tree_model_iterator.exe \
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-wrap_existing.exe:
- @if not exist vs$(PDBVER)\$(CFG)\$(PLAT)\$(@B) md vs$(PDBVER)\$(CFG)\$(PLAT)\$(@B)
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-builder.exe: $(GTKMM_LIB) ..\tests\builder\main.cc
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-child_widget.exe: $(GTKMM_LIB) ..\tests\child_widget\main.cc
..\tests\child_widget\testwindow.cc
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-child_widget2.exe: $(GTKMM_LIB) ..\tests\child_widget2\main.cc
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-child_widget_managed.exe: $(GTKMM_LIB)
..\tests\child_widget_managed\main.cc
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-delete_cpp_child.exe: $(GTKMM_LIB) ..\tests\delete_cpp_child\main.cc
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-dialog.exe: $(GTKMM_LIB) ..\tests\dialog\main.cc
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-dialog_deletethis.exe: $(GTKMM_LIB) ..\tests\dialog_deletethis\main.cc
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-gdk_rgba.exe: $(GTKMM_LIB) ..\tests\gdk_rgba\main.cc
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-main_with_options.exe: $(GTKMM_LIB) ..\tests\main_with_options\main.cc
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-menu_destruction.exe: $(GTKMM_LIB) ..\tests\menu_destruction\main.cc
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-object_move.exe: $(GTKMM_LIB) ..\tests\object_move\main.cc
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-property_notification.exe: $(GTKMM_LIB)
..\tests\property_notification\main.cc
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-refcount_dialog.exe: $(GTKMM_LIB) ..\tests\refcount_dialog\main.cc
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-scrolledwindow.exe: $(GTKMM_LIB) ..\tests\scrolledwindow\main.cc
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-tree_model_iterator.exe: $(GTKMM_LIB)
..\tests\tree_model_iterator\main.cc
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-wrap_existing.exe: $(GTKMM_LIB) ..\tests\wrap_existing\main.cc
+
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-builder.exe \
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-child_widget.exe \
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-child_widget2.exe \
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-child_widget_managed.exe \
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-delete_cpp_child.exe \
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-dialog.exe \
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-dialog_deletethis.exe \
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-gdk_rgba.exe \
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-main_with_options.exe \
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-menu_destruction.exe \
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-object_move.exe \
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-property_notification.exe \
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-refcount_dialog.exe \
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-scrolledwindow.exe \
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-tree_model_iterator.exe \
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-wrap_existing.exe:
+ @if not exist vs$(VSVER)\$(CFG)\$(PLAT)\$(@B) md vs$(VSVER)\$(CFG)\$(PLAT)\$(@B)
$(CXX) $(GTKMM_DEMO_CFLAGS) $(CFLAGS) /Fo$(@D)\$(@B)\ /Fd$(@D)\$(@B)\ $** \
/link $(LDFLAGS) $(GDKMM_LIB) $(GTKMM_DEMO_DEP_LIBS) -out:$@
@-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;1
clean:
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\*.exe
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\*.dll
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\*.pdb
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\*.ilk
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\*.exp
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\*.lib
- @-for /f %d in ('dir /ad /b ..\tests\') do @(for %x in (obj pdb) do @if exist
vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-%d\ del /f/q vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-%d\*.%x)
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-demo\demo_resources.c
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-demo\*.pdb
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-demo\*.obj
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\private\*.h
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\*.def
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\*.res
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\*.pdb
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\*.obj
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\*.h
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\*.cc
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\private\*.h
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\*.def
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\*.res
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\*.pdb
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\*.obj
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\*.cc
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\*.h
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\gendef\*.pdb
- @-del /f /q vs$(PDBVER)\$(CFG)\$(PLAT)\gendef\*.obj
- @-for /f %d in ('dir /ad /b ..\tests\') do @(for %x in (obj pdb) do @if exist
vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-%d\ rd vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-test-%d)
- @-rd vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-demo
- @-rd vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\private
- @-rd vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm
- @-rd vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\private
- @-rd vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm
- @-rd vs$(PDBVER)\$(CFG)\$(PLAT)\gendef
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.exe
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.dll
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.pdb
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.ilk
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.exp
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.lib
+ @-for /f %d in ('dir /ad /b ..\tests\') do @(for %x in (obj pdb) do @if exist
vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-%d\ del /f/q vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-%d\*.%x)
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-demo\demo_resources.c
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-demo\*.pdb
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-demo\*.obj
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\private\*.h
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\*.def
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\*.res
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\*.pdb
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\*.obj
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\*.h
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\*.cc
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\private\*.h
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\*.def
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\*.res
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\*.pdb
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\*.obj
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\*.cc
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\*.h
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gendef\*.pdb
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gendef\*.obj
+ @-for /f %d in ('dir /ad /b ..\tests\') do @(for %x in (obj pdb) do @if exist
vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-%d\ rd vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-test-%d)
+ @-rd vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-demo
+ @-rd vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\private
+ @-rd vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm
+ @-rd vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\private
+ @-rd vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm
+ @-rd vs$(VSVER)\$(CFG)\$(PLAT)\gendef
.SUFFIXES: .cc .ccg .h .hg .obj
diff --git a/MSVC_NMake/config-msvc.mak b/MSVC_NMake/config-msvc.mak
index 35f3385a..5460b47f 100644
--- a/MSVC_NMake/config-msvc.mak
+++ b/MSVC_NMake/config-msvc.mak
@@ -123,20 +123,20 @@ GTKMM_DEMO_DEP_LIBS = $(GTKMM_DEP_LIBS) $(EPOXY_LIB)
# CXXFLAGS
GDKMM_BASE_CFLAGS = \
/EHsc \
- /Ivs$(PDBVER)\$(CFG)\$(PLAT) \
+ /Ivs$(VSVER)\$(CFG)\$(PLAT) \
/I..\untracked\gdk \
/I..\gdk /I.\gdkmm \
/wd4530 /wd4251 /wd4273 /wd4275 \
/FImsvc_recommended_pragmas.h
-!if $(PDBVER) >= 14
+!if $(VSVER) >= 14
GDKMM_BASE_CFLAGS = \
$(GDKMM_BASE_CFLAGS) \
/utf-8 /wd4828 \
!endif
GTKMM_BASE_CFLAGS = \
- /Ivs$(PDBVER)\$(CFG)\$(PLAT) \
+ /Ivs$(VSVER)\$(CFG)\$(PLAT) \
/I..\untracked\gtk \
/I..\gtk /I.\gtkmm \
/wd4250 \
@@ -162,10 +162,10 @@ GTKMM_DEMO_CFLAGS = \
GTKMM_DEMO_CFLAGS = $(GTKMM_DEMO_CFLAGS:/EHsc=)
!endif
-# We build gdkmm-vc$(PDBVER)0-$(GTKMM_MAJOR_VERSION)_$(GTKMM_MINOR_VERSION).dll or
-# gdkmm-vc$(PDBVER)0-d-$(GTKMM_MAJOR_VERSION)_$(GTKMM_MINOR_VERSION).dll at least
-# gtkmm-vc$(PDBVER)0-$(GTKMM_MAJOR_VERSION)_$(GTKMM_MINOR_VERSION).dll or
-# gtkmm-vc$(PDBVER)0-d-$(GTKMM_MAJOR_VERSION)_$(GTKMM_MINOR_VERSION).dll at least
+# We build gdkmm-vc$(VSVER_LIB)-$(GTKMM_MAJOR_VERSION)_$(GTKMM_MINOR_VERSION).dll or
+# gdkmm-vc$(VSVER_LIB)-d-$(GTKMM_MAJOR_VERSION)_$(GTKMM_MINOR_VERSION).dll at least
+# gtkmm-vc$(VSVER_LIB)-$(GTKMM_MAJOR_VERSION)_$(GTKMM_MINOR_VERSION).dll or
+# gtkmm-vc$(VSVER_LIB)-d-$(GTKMM_MAJOR_VERSION)_$(GTKMM_MINOR_VERSION).dll at least
!ifdef USE_MESON_LIBS
LIBSIGC_LIBNAME = sigc-$(LIBSIGC_MAJOR_VERSION).$(LIBSIGC_MINOR_VERSION)
@@ -183,11 +183,11 @@ PANGOMM_DLL = $(PANGOMM_LIBNAME)-1.dll
ATKMM_DLL = $(ATKMM_LIBNAME)-1.dll
!else
LIBSIGC_LIBNAME = sigc-vc$(PDBVER)0$(DEBUG_SUFFIX)-$(LIBSIGC_MAJOR_VERSION)_$(LIBSIGC_MINOR_VERSION)
-GLIBMM_LIBNAME = glibmm-vc$(PDBVER)0$(DEBUG_SUFFIX)-$(GLIBMM_MAJOR_VERSION)_$(GLIBMM_MINOR_VERSION)
-GIOMM_LIBNAME = giomm-vc$(PDBVER)0$(DEBUG_SUFFIX)-$(GLIBMM_MAJOR_VERSION)_$(GLIBMM_MINOR_VERSION)
-CAIROMM_LIBNAME = cairomm-vc$(PDBVER)0$(DEBUG_SUFFIX)-$(CAIROMM_MAJOR_VERSION)_$(CAIROMM_MINOR_VERSION)
-PANGOMM_LIBNAME = pangomm-vc$(PDBVER)0$(DEBUG_SUFFIX)-$(PANGOMM_MAJOR_VERSION)_$(PANGOMM_MINOR_VERSION)
-ATKMM_LIBNAME = atkmm-vc$(PDBVER)0$(DEBUG_SUFFIX)-$(ATKMM_MAJOR_VERSION)_$(ATKMM_MINOR_VERSION)
+GLIBMM_LIBNAME = glibmm-vc$(VSVER_LIB)$(DEBUG_SUFFIX)-$(GLIBMM_MAJOR_VERSION)_$(GLIBMM_MINOR_VERSION)
+GIOMM_LIBNAME = giomm-vc$(VSVER_LIB)$(DEBUG_SUFFIX)-$(GLIBMM_MAJOR_VERSION)_$(GLIBMM_MINOR_VERSION)
+CAIROMM_LIBNAME = cairomm-vc$(VSVER_LIB)$(DEBUG_SUFFIX)-$(CAIROMM_MAJOR_VERSION)_$(CAIROMM_MINOR_VERSION)
+PANGOMM_LIBNAME = pangomm-vc$(VSVER_LIB)$(DEBUG_SUFFIX)-$(PANGOMM_MAJOR_VERSION)_$(PANGOMM_MINOR_VERSION)
+ATKMM_LIBNAME = atkmm-vc$(VSVER_LIB)$(DEBUG_SUFFIX)-$(ATKMM_MAJOR_VERSION)_$(ATKMM_MINOR_VERSION)
LIBSIGC_DLL = $(LIBSIGC_LIBNAME).dll
GLIBMM_DLL = $(GLIBMM_LIBNAME).dll
@@ -204,17 +204,17 @@ CAIROMM_LIB = $(CAIROMM_LIBNAME).lib
PANGOMM_LIB = $(PANGOMM_LIBNAME).lib
ATKMM_LIB = $(ATKMM_LIBNAME).lib
-GDKMM_LIBNAME = gdkmm-vc$(PDBVER)0$(DEBUG_SUFFIX)-$(GTKMM_MAJOR_VERSION)_$(GTKMM_MINOR_VERSION)
+GDKMM_LIBNAME = gdkmm-vc$(VSVER_LIB)$(DEBUG_SUFFIX)-$(GTKMM_MAJOR_VERSION)_$(GTKMM_MINOR_VERSION)
-GDKMM_DLL = vs$(PDBVER)\$(CFG)\$(PLAT)\$(GDKMM_LIBNAME).dll
-GDKMM_LIB = vs$(PDBVER)\$(CFG)\$(PLAT)\$(GDKMM_LIBNAME).lib
+GDKMM_DLL = vs$(VSVER)\$(CFG)\$(PLAT)\$(GDKMM_LIBNAME).dll
+GDKMM_LIB = vs$(VSVER)\$(CFG)\$(PLAT)\$(GDKMM_LIBNAME).lib
-GTKMM_LIBNAME = gtkmm-vc$(PDBVER)0$(DEBUG_SUFFIX)-$(GTKMM_MAJOR_VERSION)_$(GTKMM_MINOR_VERSION)
+GTKMM_LIBNAME = gtkmm-vc$(VSVER_LIB)$(DEBUG_SUFFIX)-$(GTKMM_MAJOR_VERSION)_$(GTKMM_MINOR_VERSION)
-GTKMM_DLL = vs$(PDBVER)\$(CFG)\$(PLAT)\$(GTKMM_LIBNAME).dll
-GTKMM_LIB = vs$(PDBVER)\$(CFG)\$(PLAT)\$(GTKMM_LIBNAME).lib
+GTKMM_DLL = vs$(VSVER)\$(CFG)\$(PLAT)\$(GTKMM_LIBNAME).dll
+GTKMM_LIB = vs$(VSVER)\$(CFG)\$(PLAT)\$(GTKMM_LIBNAME).lib
-GTKMM3_DEMO = vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-demo$(DEBUG_SUFFIX).exe
+GTKMM3_DEMO = vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-demo$(DEBUG_SUFFIX).exe
TARGETS = $(GTKMM_LIB)
@@ -225,7 +225,7 @@ TARGETS = $(TARGETS) $(GTKMM3_DEMO)
!endif
-GENDEF = vs$(PDBVER)\$(CFG)\$(PLAT)\gendef.exe
+GENDEF = vs$(VSVER)\$(CFG)\$(PLAT)\gendef.exe
GTKMM_INT_EXTRA_SOURCES = $(gtkmm_files_extra_any_cc)
GTKMM_INT_EXTRA_HEADERS_P = $(gtkmm_files_extra_ph:/=\)
diff --git a/MSVC_NMake/create-lists-msvc.mak b/MSVC_NMake/create-lists-msvc.mak
index 2d335fdb..1ac3abe6 100644
--- a/MSVC_NMake/create-lists-msvc.mak
+++ b/MSVC_NMake/create-lists-msvc.mak
@@ -40,13 +40,13 @@ gdkmm_generated_private_headers = $(files_hg:.hg=_p.h)
!if [call create-lists.bat header gtkmm.mak gdkmm_OBJS]
!endif
-!if [for %c in ($(GDKMM_INT_GENERATED_SOURCES)) do @if "%~xc" == ".cc" @call create-lists.bat file gtkmm.mak
^vs$(PDBVER)\^$(CFG)\^$(PLAT)\gdkmm\%~nc.obj]
+!if [for %c in ($(GDKMM_INT_GENERATED_SOURCES)) do @if "%~xc" == ".cc" @call create-lists.bat file gtkmm.mak
^vs$(VSVER)\^$(CFG)\^$(PLAT)\gdkmm\%~nc.obj]
!endif
-!if [for %c in ($(gdkmm_files_extra_cc)) do @if "%~xc" == ".cc" @call create-lists.bat file gtkmm.mak
^vs$(PDBVER)\^$(CFG)\^$(PLAT)\gdkmm\%~nc.obj]
+!if [for %c in ($(gdkmm_files_extra_cc)) do @if "%~xc" == ".cc" @call create-lists.bat file gtkmm.mak
^vs$(VSVER)\^$(CFG)\^$(PLAT)\gdkmm\%~nc.obj]
!endif
-!if [@call create-lists.bat file gtkmm.mak ^vs$(PDBVER)\^$(CFG)\^$(PLAT)\gdkmm\gdkmm.res]
+!if [@call create-lists.bat file gtkmm.mak ^vs$(VSVER)\^$(CFG)\^$(PLAT)\gdkmm\gdkmm.res]
!endif
!if [call create-lists.bat footer gtkmm.mak]
@@ -56,13 +56,13 @@ gdkmm_generated_private_headers = $(files_hg:.hg=_p.h)
!if [call create-lists.bat header gtkmm.mak gtkmm_OBJS]
!endif
-!if [for %c in ($(GTKMM_INT_GENERATED_SOURCES)) do @if "%~xc" == ".cc" @call create-lists.bat file gtkmm.mak
^vs$(PDBVER)\^$(CFG)\^$(PLAT)\gtkmm\%~nc.obj]
+!if [for %c in ($(GTKMM_INT_GENERATED_SOURCES)) do @if "%~xc" == ".cc" @call create-lists.bat file gtkmm.mak
^vs$(VSVER)\^$(CFG)\^$(PLAT)\gtkmm\%~nc.obj]
!endif
-!if [for %c in ($(GTKMM_INT_EXTRA_SOURCES)) do @if "%~xc" == ".cc" @call create-lists.bat file gtkmm.mak
^vs$(PDBVER)\^$(CFG)\^$(PLAT)\gtkmm\%~nc.obj]
+!if [for %c in ($(GTKMM_INT_EXTRA_SOURCES)) do @if "%~xc" == ".cc" @call create-lists.bat file gtkmm.mak
^vs$(VSVER)\^$(CFG)\^$(PLAT)\gtkmm\%~nc.obj]
!endif
-!if [@call create-lists.bat file gtkmm.mak ^vs$(PDBVER)\^$(CFG)\^$(PLAT)\gtkmm\gtkmm.res]
+!if [@call create-lists.bat file gtkmm.mak ^vs$(VSVER)\^$(CFG)\^$(PLAT)\gtkmm\gtkmm.res]
!endif
!if [call create-lists.bat footer gtkmm.mak]
@@ -90,10 +90,10 @@ gdkmm_generated_private_headers = $(files_hg:.hg=_p.h)
!if [call create-lists.bat header gtkmm.mak gtkmm_demo_OBJS]
!endif
-!if [for %s in (..\demos\gtk-demo\*.cc) do @call create-lists.bat file gtkmm.mak
^vs$(PDBVER)\^$(CFG)\^$(PLAT)\gtkmm3-demo\%~ns.obj]
+!if [for %s in (..\demos\gtk-demo\*.cc) do @call create-lists.bat file gtkmm.mak
^vs$(VSVER)\^$(CFG)\^$(PLAT)\gtkmm3-demo\%~ns.obj]
!endif
-!if [@call create-lists.bat file gtkmm.mak ^vs$(PDBVER)\^$(CFG)\^$(PLAT)\gtkmm3-demo\demo_resources.obj]
+!if [@call create-lists.bat file gtkmm.mak ^vs$(VSVER)\^$(CFG)\^$(PLAT)\gtkmm3-demo\demo_resources.obj]
!endif
!if [call create-lists.bat footer gtkmm.mak]
@@ -135,16 +135,16 @@ gdkmm_generated_private_headers = $(files_hg:.hg=_p.h)
!if [call create-lists.bat header gtkmm.mak gtkmm_tests]
!endif
-!if [for /f %d in ('dir /ad /b ..\tests\') do @call create-lists.bat file gtkmm.mak
^vs$(PDBVER)\^$(CFG)\^$(PLAT)\gtkmm3-test-%d.exe]
+!if [for /f %d in ('dir /ad /b ..\tests\') do @call create-lists.bat file gtkmm.mak
^vs$(VSVER)\^$(CFG)\^$(PLAT)\gtkmm3-test-%d.exe]
!endif
!if [call create-lists.bat footer gtkmm.mak]
!endif
-!if [for %f in (gdkmm\applaunchcontext.h) do @if not exist ..\untracked\gdk\%f if not exist ..\gdk\%f if not
exist vs$(PDBVER)\$(CFG)\$(PLAT)\%f (md vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\private) & ($(PERL) --
$(GMMPROC_DIR)/gmmproc -I ../tools/m4 -I $(GMMPROC_PANGO_DIR) -I $(GMMPROC_ATK_DIR) --defs ../gdk/src
applaunchcontext ../gdk/src vs$(PDBVER)/$(CFG)/$(PLAT)/gdkmm)]
+!if [for %f in (gdkmm\applaunchcontext.h) do @if not exist ..\untracked\gdk\%f if not exist ..\gdk\%f if not
exist vs$(VSVER)\$(CFG)\$(PLAT)\%f (md vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\private) & ($(PERL) --
$(GMMPROC_DIR)/gmmproc -I ../tools/m4 -I $(GMMPROC_PANGO_DIR) -I $(GMMPROC_ATK_DIR) --defs ../gdk/src
applaunchcontext ../gdk/src vs$(VSVER)/$(CFG)/$(PLAT)/gdkmm)]
!endif
-!if [for %d in (vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm ..\untracked\gdk\gdkmm ..\gdk\gdkmm) do @if exist
%d\applaunchcontext.h call get-gmmproc-ver %d\applaunchcontext.h>>gtkmm.mak]
+!if [for %d in (vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm ..\untracked\gdk\gdkmm ..\gdk\gdkmm) do @if exist
%d\applaunchcontext.h call get-gmmproc-ver %d\applaunchcontext.h>>gtkmm.mak]
!endif
!include gtkmm.mak
@@ -153,11 +153,11 @@ gdkmm_generated_private_headers = $(files_hg:.hg=_p.h)
!endif
!if "$(GMMPROC_VER)" >= "2.64.3"
-GDKMM_INT_TARGET = vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm
-GTKMM_INT_TARGET = vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm
+GDKMM_INT_TARGET = vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm
+GTKMM_INT_TARGET = vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm
GDKMM_DEF_LDFLAG =
!else
-GDKMM_INT_TARGET = vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\gdkmm.def
+GDKMM_INT_TARGET = vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\gdkmm.def
GDKMM_DEF_LDFLAG = /def:$(GDKMM_INT_TARGET)
GDKMM_BASE_CFLAGS = $(GDKMM_BASE_CFLAGS) /DGDKMM_USE_GENDEF
GTKMM_INT_TARGET = $(GDKMM_INT_TARGET:gdk=gtk)
diff --git a/MSVC_NMake/detectenv-msvc.mak b/MSVC_NMake/detectenv-msvc.mak
index 634fe684..38bc704a 100644
--- a/MSVC_NMake/detectenv-msvc.mak
+++ b/MSVC_NMake/detectenv-msvc.mak
@@ -8,7 +8,7 @@
# in $(GLIB_PREFIX)\lib.
!if "$(PREFIX)" == ""
-PREFIX = ..\..\vs$(PDBVER)\$(PLAT)
+PREFIX = ..\..\vs$(VSVER)\$(PLAT)
!endif
# Location of the PERL interpreter, for running glib-mkenums. glib-mkenums
@@ -79,34 +79,45 @@ _HASH=^#
!if ![del $(ERRNUL) /q/f vercl.x vercl.i vercl.vc]
!endif
+VSVER = 0
+PDBVER = 0
+VSVER_SUFFIX = 0
+
!if $(VCVERSION) > 1499 && $(VCVERSION) < 1600
-VSVER = 9
+PDBVER = 9
!elseif $(VCVERSION) > 1599 && $(VCVERSION) < 1700
-VSVER = 10
+PDBVER = 10
!elseif $(VCVERSION) > 1699 && $(VCVERSION) < 1800
-VSVER = 11
+PDBVER = 11
!elseif $(VCVERSION) > 1799 && $(VCVERSION) < 1900
-VSVER = 12
-!elseif $(VCVERSION) > 1899 && $(VCVERSION) < 1910
-VSVER = 14
-!elseif $(VCVERSION) > 1909 && $(VCVERSION) < 2000
+PDBVER = 12
+!elseif $(VCVERSION) > 1899 && $(VCVERSION) < 2000
+PDBVER = 14
+!if $(VCVERSION) > 1909 && $(VCVERSION) < 1920
+VSVER_SUFFIX = 1
VSVER = 15
+!elseif $(VCVERSION) > 1919 && $(VCVERSION) < 2000
+VSVER_SUFFIX = 2
+VSVER = 16
!else
-VSVER = 0
+VSVER = $(PDBVER)
+!endif
+!else
+VSVER = $(PDBVER)
+!endif
+
+!if $(VSVER) > 14 && "$(USE_COMPAT_LIBS)" != ""
+VSVER_LIB = $(PDBVER)0
+!else
+VSVER_LIB = $(PDBVER)$(VSVER_SUFFIX)
!endif
!if "$(VSVER)" == "0"
MSG = ^
This NMake Makefile set supports Visual Studio^
-9 (2008) through 15 (2017). Your Visual Studio^
+9 (2008) through 16 (2019). Your Visual Studio^
version is not supported.
!error $(MSG)
-!else
-!if $(VSVER) < 15
-PDBVER = $(VSVER)
-!else
-PDBVER = 14
-!endif
!endif
VALID_CFGSET = FALSE
diff --git a/MSVC_NMake/generate-msvc.mak b/MSVC_NMake/generate-msvc.mak
index 6a340c51..febdb464 100644
--- a/MSVC_NMake/generate-msvc.mak
+++ b/MSVC_NMake/generate-msvc.mak
@@ -4,24 +4,24 @@
# one is maintaining the NMake build files.
# Create the build directories
-vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm \
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm \
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-demo:
+vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm \
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm \
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-demo:
@-md $@
# Generate .def files
-vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\gdkmm.def: $(GENDEF) vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm $(gdkmm_OBJS)
- vs$(PDBVER)\$(CFG)\$(PLAT)\gendef.exe $@ $(GDKMM_LIBNAME) vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\*.obj
+vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\gdkmm.def: $(GENDEF) vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm $(gdkmm_OBJS)
+ vs$(VSVER)\$(CFG)\$(PLAT)\gendef.exe $@ $(GDKMM_LIBNAME) vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\*.obj
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\gtkmm.def: $(GENDEF) vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm $(gtkmm_OBJS)
- vs$(PDBVER)\$(CFG)\$(PLAT)\gendef.exe $@ $(GTKMM_LIBNAME) vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\*.obj
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\gtkmm.def: $(GENDEF) vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm $(gtkmm_OBJS)
+ vs$(VSVER)\$(CFG)\$(PLAT)\gendef.exe $@ $(GTKMM_LIBNAME) vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\*.obj
# Generate wrap_init.cc files
-vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\wrap_init.cc: $(gdkmm_real_hg)
+vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\wrap_init.cc: $(gdkmm_real_hg)
@if not exist ..\gdk\gdkmm\wrap_init.cc $(PERL) -- "$(GMMPROC_DIR)/generate_wrap_init.pl"
--namespace=Gdk --parent_dir=gdkmm $(gdkmm_real_hg:\=/)>$@
# Avoid the dreaded U1095 command line error... @#$@#!
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\wrap_init.cc: $(gtkmm_real_hg)
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\wrap_init.cc: $(gtkmm_real_hg)
@if exist $@ del $@
@echo @echo off>gen_$(@B).bat
@echo.>>gen_$(@B).bat
@@ -32,7 +32,7 @@ vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\wrap_init.cc: $(gtkmm_real_hg)
@del gen_$(@B).bat
# Generate demo GResource source file
-vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-demo\demo_resources.c: \
+vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-demo\demo_resources.c: \
$(gtkmm_demo_example_sources) \
$(gtkmm_demo_resources) \
..\demos\gtk-demo\demo.gresource.xml
diff --git a/MSVC_NMake/install.mak b/MSVC_NMake/install.mak
index a227a33c..a32876bf 100644
--- a/MSVC_NMake/install.mak
+++ b/MSVC_NMake/install.mak
@@ -7,26 +7,26 @@ install: all
@if not exist $(PREFIX)\include\gdkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\gdkmm\private\
@md $(PREFIX)\include\gdkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\gdkmm\private
@if not exist $(PREFIX)\lib\gtkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\include\ md
$(PREFIX)\lib\gtkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\include
@if not exist $(PREFIX)\include\gtkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\gtkmm\private\
@md $(PREFIX)\include\gtkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\gtkmm\private
- @if exist vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-demo.exe copy /b
vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-demo.exe $(PREFIX)\bin
- @if exist vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-demo.pdb copy /b
vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm3-demo.pdb $(PREFIX)\bin
- @copy /b vs$(PDBVER)\$(CFG)\$(PLAT)\$(GDKMM_LIBNAME).dll $(PREFIX)\bin
- @copy /b vs$(PDBVER)\$(CFG)\$(PLAT)\$(GTKMM_LIBNAME).dll $(PREFIX)\bin
- @copy /b vs$(PDBVER)\$(CFG)\$(PLAT)\$(GDKMM_LIBNAME).pdb $(PREFIX)\bin
- @copy /b vs$(PDBVER)\$(CFG)\$(PLAT)\$(GTKMM_LIBNAME).pdb $(PREFIX)\bin
- @copy /b vs$(PDBVER)\$(CFG)\$(PLAT)\$(GDKMM_LIBNAME).lib $(PREFIX)\lib
- @copy /b vs$(PDBVER)\$(CFG)\$(PLAT)\$(GTKMM_LIBNAME).lib $(PREFIX)\lib
+ @if exist vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-demo.exe copy /b vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-demo.exe
$(PREFIX)\bin
+ @if exist vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-demo.pdb copy /b vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm3-demo.pdb
$(PREFIX)\bin
+ @copy /b vs$(VSVER)\$(CFG)\$(PLAT)\$(GDKMM_LIBNAME).dll $(PREFIX)\bin
+ @copy /b vs$(VSVER)\$(CFG)\$(PLAT)\$(GTKMM_LIBNAME).dll $(PREFIX)\bin
+ @copy /b vs$(VSVER)\$(CFG)\$(PLAT)\$(GDKMM_LIBNAME).pdb $(PREFIX)\bin
+ @copy /b vs$(VSVER)\$(CFG)\$(PLAT)\$(GTKMM_LIBNAME).pdb $(PREFIX)\bin
+ @copy /b vs$(VSVER)\$(CFG)\$(PLAT)\$(GDKMM_LIBNAME).lib $(PREFIX)\lib
+ @copy /b vs$(VSVER)\$(CFG)\$(PLAT)\$(GTKMM_LIBNAME).lib $(PREFIX)\lib
@copy ..\gdk\gdkmm.h "$(PREFIX)\include\gdkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\"
@for %h in ($(gdkmm_files_extra_h)) do @copy ..\gdk\gdkmm\%h
"$(PREFIX)\include\gdkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\gdkmm\%h"
@for %h in ($(GDKMM_INT_GENERATED_HEADERS)) do @if exist ..\gdk\gdkmm\%h copy ..\gdk\gdkmm\%h
"$(PREFIX)\include\gdkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\gdkmm\%h"
- @for %h in ($(GDKMM_INT_GENERATED_HEADERS)) do @if exist vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\%h copy
vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\%h
"$(PREFIX)\include\gdkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\gdkmm\%h"
+ @for %h in ($(GDKMM_INT_GENERATED_HEADERS)) do @if exist vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\%h copy
vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\%h
"$(PREFIX)\include\gdkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\gdkmm\%h"
@for %h in ($(GDKMM_INT_GENERATED_HEADERS_P)) do @if exist ..\gdk\gdkmm\private\%h copy
..\gdk\gdkmm\private\%h
"$(PREFIX)\include\gdkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\gdkmm\private\%h"
- @for %h in ($(GDKMM_INT_GENERATED_HEADERS_P)) do @if exist
vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\private\%h copy vs$(PDBVER)\$(CFG)\$(PLAT)\gdkmm\private\%h
"$(PREFIX)\include\gdkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\gdkmm\private\%h"
+ @for %h in ($(GDKMM_INT_GENERATED_HEADERS_P)) do @if exist vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\private\%h
copy vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\private\%h
"$(PREFIX)\include\gdkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\gdkmm\private\%h"
@copy ".\gdkmm\gdkmmconfig.h"
"$(PREFIX)\lib\gdkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\include\"
@copy ..\gtk\gtkmm.h "$(PREFIX)\include\gtkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\"
@for %h in ($(GTKMM_INT_EXTRA_HEADERS)) do @copy ..\gtk\gtkmm\%h
"$(PREFIX)\include\gtkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\gtkmm\%h"
@for %h in ($(GTKMM_INT_GENERATED_HEADERS)) do @if exist ..\gtk\gtkmm\%h copy ..\gtk\gtkmm\%h
"$(PREFIX)\include\gtkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\gtkmm\%h"
- @for %h in ($(GTKMM_INT_GENERATED_HEADERS)) do @if exist vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\%h copy
vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\%h
"$(PREFIX)\include\gtkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\gtkmm\%h"
+ @for %h in ($(GTKMM_INT_GENERATED_HEADERS)) do @if exist vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\%h copy
vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\%h
"$(PREFIX)\include\gtkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\gtkmm\%h"
@for %h in ($(GTKMM_INT_EXTRA_HEADERS_P)) do @copy ..\gtk\gtkmm\%h
"$(PREFIX)\include\gtkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\gtkmm\%h"
@for %h in ($(GTKMM_HG_FILES)) do @if exist ..\gtk\gtkmm\private\%~nh_p.h copy
..\gtk\gtkmm\private\%~nh_p.h
"$(PREFIX)\include\gtkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\gtkmm\private\%~nh_p.h"
- @for %h in ($(GTKMM_HG_FILES)) do @if exist vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\private\%~nh_p.h copy
vs$(PDBVER)\$(CFG)\$(PLAT)\gtkmm\private\%~nh_p.h
"$(PREFIX)\include\gtkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\gtkmm\private\%~nh_p.h"
+ @for %h in ($(GTKMM_HG_FILES)) do @if exist vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\private\%~nh_p.h copy
vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\private\%~nh_p.h
"$(PREFIX)\include\gtkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\gtkmm\private\%~nh_p.h"
@copy ".\gtkmm\gtkmmconfig.h"
"$(PREFIX)\lib\gtkmm-$(GTKMM_MAJOR_VERSION).$(GTKMM_MINOR_VERSION)\include\"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]