diff options
author | Chun-wei Fan <fanchunwei@src.gnome.org> | 2020-03-03 18:17:44 +0800 |
---|---|---|
committer | Chun-wei Fan <fanchunwei@src.gnome.org> | 2020-03-03 18:21:33 +0800 |
commit | 63cfffccdabfe5f497fb301aeb4fd5e3d68335ae (patch) | |
tree | 3e28287a113e1b3c9962e16906e22361edb8af6a /MSVC_NMake | |
parent | 8e09f4535cf55ceadc01c88ad25ad00089da7dd2 (diff) | |
download | glibmm-63cfffccdabfe5f497fb301aeb4fd5e3d68335ae.tar.gz |
MSVC NMake: Allow builds from Meson-generated tarballs
This adds rules to the NMake Makefiles so that they can find the sources under
$(srcroot)/untracked, and thus will not need to re-generate the sources.
However, for builds from such tarballs, it is necessary to do
'nmake /f Makefile.vc CFG=$(CFG) prep-git-build' so that the resource scripts
and config headers are generated, prior to performing the build.
Please note that glibmm_generate_extra_defs-2.x is now built as a DLL with the
NMake Makefiles as well.
Diffstat (limited to 'MSVC_NMake')
-rw-r--r-- | MSVC_NMake/build-rules-msvc.mak | 21 | ||||
-rw-r--r-- | MSVC_NMake/config-msvc.mak | 6 | ||||
-rw-r--r-- | MSVC_NMake/generate-msvc.mak | 4 | ||||
-rw-r--r-- | MSVC_NMake/install.mak | 3 |
4 files changed, 27 insertions, 7 deletions
diff --git a/MSVC_NMake/build-rules-msvc.mak b/MSVC_NMake/build-rules-msvc.mak index e01fd449..1512a881 100644 --- a/MSVC_NMake/build-rules-msvc.mak +++ b/MSVC_NMake/build-rules-msvc.mak @@ -23,6 +23,11 @@ $< $< << +{..\untracked\glib\glibmm\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\glibmm\}.obj:: + $(CXX) $(LIBGLIBMM_CFLAGS) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\glibmm\ /Fdvs$(VSVER)\$(CFG)\$(PLAT)\glibmm\ /c @<< +$< +<< + {..\glib\src\}.cc.m4{vs$(VSVER)\$(CFG)\$(PLAT)\glibmm\}.obj: @if not exist $(@D)\ $(MAKE) /f Makefile.vc CFG=$(CFG) $(@D) @for %%s in ($(<D)\*.cc.m4 $(<D)\*.h.m4) do @if not exist ..\glib\glibmm\%%~ns if not exist $(@D)\%%~ns $(M4) -I$(<D:\=/) %%s $(<D:\=/)/template.macros.m4 > $(@D)\%%~ns @@ -45,6 +50,11 @@ $< $< << +{..\untracked\gio\giomm\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\giomm\}.obj:: + $(CXX) $(LIBGIOMM_CFLAGS) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\giomm\ /Fdvs$(VSVER)\$(CFG)\$(PLAT)\giomm\ /c @<< +$< +<< + {..\gio\src\}.ccg{vs$(VSVER)\$(CFG)\$(PLAT)\giomm\}.obj: @if not exist $(@D)\private\ $(MAKE) /f Makefile.vc CFG=$(CFG) $(@D)\private @for %%s in ($(<D)\*.ccg) do @if not exist ..\gio\giomm\%%~ns.cc if not exist $(@D)\%%~ns.cc $(PERL) -I ../tools/pm -- ../tools/gmmproc -I ../tools/m4 --defs $(<D:\=/) %%~ns $(<D:\=/) $(@D) @@ -53,7 +63,7 @@ $< {..\tools\extra_defs_gen\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\glib-extra-defs-gen\}.obj:: @if not exist vs$(VSVER)\$(CFG)\$(PLAT)\glib-extra-defs-gen\ $(MAKE) /f Makefile.vc CFG=$(CFG) vs$(VSVER)\$(CFG)\$(PLAT)\glib-extra-defs-gen - $(CXX) $(GLIBMM_BASE_CFLAGS) $(GLIBMM_EXTRA_INCLUDES) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\glib-extra-defs-gen\ /Fdvs$(VSVER)\$(CFG)\$(PLAT)\glib-extra-defs-gen\ /c @<< + $(CXX) $(GLIBMM_BASE_CFLAGS) /DGLIBMM_GEN_EXTRA_DEFS_BUILD $(GLIBMM_EXTRA_INCLUDES) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\glib-extra-defs-gen\ /Fdvs$(VSVER)\$(CFG)\$(PLAT)\glib-extra-defs-gen\ /c @<< $< << @@ -68,8 +78,12 @@ vs$(VSVER)\$(CFG)\$(PLAT)\glib-extra-defs-gen\generate_extra_defs.obj: ..\tools $(GLIBMM_LIB): $(GLIBMM_DLL) $(GIOMM_LIB): $(GIOMM_DLL) -$(GLIBMM_EXTRA_DEFS_GEN_LIB): vs$(VSVER)\$(CFG)\$(PLAT)\glib-extra-defs-gen\generate_extra_defs.obj - lib $(ARFLAGS_NOLTCG) /out:$@ $** +$(GLIBMM_EXTRA_DEFS_GEN_LIB): $(GLIBMM_EXTRA_DEFS_GEN_DLL) +$(GLIBMM_EXTRA_DEFS_GEN_DLL): vs$(VSVER)\$(CFG)\$(PLAT)\glib-extra-defs-gen\generate_extra_defs.obj + link /DLL $(LDFLAGS_NOLTCG) $(GOBJECT_LIBS) /implib:$(GLIBMM_EXTRA_DEFS_GEN_LIB) -out:$@ @<< +$** +<< + @-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;2 # Rules for linking DLLs @@ -230,7 +244,6 @@ clean: @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.ilk @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.exp @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.lib - @-del pkg-ver.mak @-del ..\tools\generate_wrap_init.pl @-del ..\tools\gmmproc @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gschemas.compiled diff --git a/MSVC_NMake/config-msvc.mak b/MSVC_NMake/config-msvc.mak index 53ab1aa1..58f255fc 100644 --- a/MSVC_NMake/config-msvc.mak +++ b/MSVC_NMake/config-msvc.mak @@ -24,12 +24,14 @@ M4 = m4 GLIBMM_BASE_CFLAGS = \ /Ivs$(VSVER)\$(CFG)\$(PLAT) \ + /I..\untracked\glib /I..\untracked\glib\glibmm \ /I..\glib /I..\glib\glibmm /I.\glibmm \ /wd4530 /std:c++17 \ /FImsvc_recommended_pragmas.h GIOMM_BASE_CFLAGS = \ /Ivs$(VSVER)\$(CFG)\$(PLAT) \ + /I..\untracked\gio /I..\untracked\gio\giomm \ /I..\gio /I..\gio\giomm /I.\giomm \ $(GLIBMM_BASE_CFLAGS) @@ -64,7 +66,9 @@ GLIBMM_LIBNAME = glibmm-vc$(VSVER)0$(DEBUG_SUFFIX)-$(GLIBMM_MAJOR_VERSION)_$(GLI GLIBMM_DLL = vs$(VSVER)\$(CFG)\$(PLAT)\$(GLIBMM_LIBNAME).dll GLIBMM_LIB = vs$(VSVER)\$(CFG)\$(PLAT)\$(GLIBMM_LIBNAME).lib -GLIBMM_EXTRA_DEFS_GEN_LIB = vs$(VSVER)\$(CFG)\$(PLAT)\glibmm_generate_extra_defs-$(GLIBMM_MAJOR_VERSION).$(GLIBMM_MINOR_VERSION).lib +GLIBMM_EXTRA_DEFS_GEN_LIBNAME = glibmm_generate_extra_defs-$(GLIBMM_MAJOR_VERSION).$(GLIBMM_MINOR_VERSION) +GLIBMM_EXTRA_DEFS_GEN_DLL = vs$(VSVER)\$(CFG)\$(PLAT)\$(GLIBMM_EXTRA_DEFS_GEN_LIBNAME).dll +GLIBMM_EXTRA_DEFS_GEN_LIB = vs$(VSVER)\$(CFG)\$(PLAT)\$(GLIBMM_EXTRA_DEFS_GEN_LIBNAME).lib GIOMM_LIBNAME = giomm-vc$(VSVER)0$(DEBUG_SUFFIX)-$(GLIBMM_MAJOR_VERSION)_$(GLIBMM_MINOR_VERSION) diff --git a/MSVC_NMake/generate-msvc.mak b/MSVC_NMake/generate-msvc.mak index 7a628095..5c441523 100644 --- a/MSVC_NMake/generate-msvc.mak +++ b/MSVC_NMake/generate-msvc.mak @@ -36,8 +36,6 @@ vs$(VSVER)\$(CFG)\$(PLAT)\giomm\wrap_init.cc: $(giomm_real_hg) # Generate pre-generated resources and configuration headers (builds from GIT) prep-git-build: pkg-ver.mak - $(MAKE) /f Makefile.vc CFG=$(CFG) GENERATE_VERSIONED_FILES=1 glibmm\glibmm.rc giomm\giomm.rc giomm\giommconfig.h - $(MAKE) /f Makefile.vc CFG=$(CFG) gen-perl-scripts-real gen-perl-scripts-real: pkg-ver.mak $(MAKE) /f Makefile.vc CFG=$(CFG) GENERATE_VERSIONED_FILES=1 ..\tools\gmmproc ..\tools\generate_wrap_init.pl @@ -107,3 +105,5 @@ pkg-ver.mak: ..\configure.ac @echo for /f "tokens=1,2,3 delims=." %%%%a IN ("%glibmm_ver%") do (echo PKG_MAJOR_VERSION=%%%%a^& echo PKG_MINOR_VERSION=%%%%b^& echo PKG_MICRO_VERSION=%%%%c)^>$@>>pkg-ver.bat @pkg-ver.bat @del ver.txt pkg-ver.bat + $(MAKE) /f Makefile.vc CFG=$(CFG) GENERATE_VERSIONED_FILES=1 glibmm\glibmm.rc giomm\giomm.rc giomm\giommconfig.h + $(MAKE) /f Makefile.vc CFG=$(CFG) gen-perl-scripts-real diff --git a/MSVC_NMake/install.mak b/MSVC_NMake/install.mak index 42ff757f..28ab9ac3 100644 --- a/MSVC_NMake/install.mak +++ b/MSVC_NMake/install.mak @@ -15,6 +15,9 @@ install: all @copy /b vs$(VSVER)\$(CFG)\$(PLAT)\$(GIOMM_LIBNAME).dll $(PREFIX)\bin @copy /b vs$(VSVER)\$(CFG)\$(PLAT)\$(GIOMM_LIBNAME).pdb $(PREFIX)\bin @copy /b vs$(VSVER)\$(CFG)\$(PLAT)\$(GIOMM_LIBNAME).lib $(PREFIX)\lib + @copy /b vs$(VSVER)\$(CFG)\$(PLAT)\$(GLIBMM_EXTRA_DEFS_GEN_LIBNAME).dll $(PREFIX)\bin + @copy /b vs$(VSVER)\$(CFG)\$(PLAT)\$(GLIBMM_EXTRA_DEFS_GEN_LIBNAME).pdb $(PREFIX)\bin + @copy /b vs$(VSVER)\$(CFG)\$(PLAT)\$(GLIBMM_EXTRA_DEFS_GEN_LIBNAME).lib $(PREFIX)\lib @copy /b $(GLIBMM_EXTRA_DEFS_GEN_LIB) $(PREFIX)\lib @copy ..\glib\glibmm.h "$(PREFIX)\include\glibmm-$(GLIBMM_MAJOR_VERSION).$(GLIBMM_MINOR_VERSION)\" @copy ..\gio\giomm.h "$(PREFIX)\include\giomm-$(GLIBMM_MAJOR_VERSION).$(GLIBMM_MINOR_VERSION)\" |