The attached patch adds icons and version information (which shows up when opening the 'properties' tab) to the lyx executable on Windows when building with autotools.
It is intended for branch, as after the earthquake it doesn't apply anymore to trunk. I'll wait for the aftershocks before adapting it. JMarc, may I apply it? -- Enrico
Index: src/lyxwinres.rc.in =================================================================== --- src/lyxwinres.rc.in (revision 0) +++ src/lyxwinres.rc.in (revision 0) @@ -0,0 +1,51 @@ +/* Icons */ +IDI_ICON1 ICON DISCARDABLE "@top_srcdir@/development/Win32/packaging/icons/lyx_32x32.ico" +IDI_ICON2 ICON DISCARDABLE "@top_srcdir@/development/Win32/packaging/icons/lyx_doc_32x32.ico" + +#include <winver.h> + +#ifdef _WIN32 +#define PLATFORM "Windows\0" +#define FILEDESC "LyX/Win\0" +#else +#define PLATFORM "Cygwin\0" +#define FILEDESC "LyX/Cygwin\0" +#endif + +#if @LYX_RELEASE_PATCH@ > 0 +#define PATCH_TAG "[EMAIL PROTECTED]@\0" +#else +#define PATCH_TAG "\0" +#endif + +LANGUAGE 0x9, 0x1 /* LANG_ENGLISH, SUBLANG_DEFAULT */ + +VS_VERSION_INFO VERSIONINFO +FILEVERSION @LYX_MAJOR_VERSION@,@LYX_MINOR_VERSION@,@LYX_RELEASE_LEVEL@,@LYX_RELEASE_PATCH@ +PRODUCTVERSION @LYX_MAJOR_VERSION@,@LYX_MINOR_VERSION@,@LYX_RELEASE_LEVEL@,@LYX_RELEASE_PATCH@ +FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +FILEFLAGS 0x0L +FILEOS VOS__WINDOWS32 +FILETYPE VFT_APP +FILESUBTYPE 0x0L +{ + BLOCK "StringFileInfo" + { + BLOCK "040904b0" + { + VALUE "FileDescription", FILEDESC + VALUE "OriginalFilename", "lyx.exe\0" + VALUE "CompanyName", "LyX Team\0" + VALUE "FileVersion", "@[EMAIL PROTECTED]@[EMAIL PROTECTED]@LYX_RELEASE_LEVEL@" PATCH_TAG + VALUE "InternalName", "LyX\0" + VALUE "LegalCopyright", "Copyright \251 1995 by Matthias Ettrich, 1995-2006 LyX Team\0" + VALUE "ProductName", "LyX for " PLATFORM + VALUE "ProductVersion", "@[EMAIL PROTECTED]" + } + } + BLOCK "VarFileInfo" + { + VALUE "Translation", 0x409, 1200 + } +} + Index: src/Makefile.am =================================================================== --- src/Makefile.am (revision 19426) +++ src/Makefile.am (working copy) @@ -1,6 +1,7 @@ include $(top_srcdir)/config/common.am -DISTCLEANFILES += config.h libintl.h version.cpp stamp-version version.cpp-tmp +DISTCLEANFILES += config.h libintl.h version.cpp stamp-version version.cpp-tmp \ + stamp-lyxwinres lyxwinres.rc-tmp MAINTAINERCLEANFILES += $(srcdir)/config.h.in @@ -10,7 +11,7 @@ endif SUBDIRS = mathed insets graphics support frontends . $(CLIENT) tex2lyx -EXTRA_DIST = config.h.in stamp-h.in version.cpp.in \ +EXTRA_DIST = config.h.in lyxwinres.rc.in stamp-h.in version.cpp.in \ Section.h \ Section.cpp \ Variables.cpp \ @@ -41,9 +42,15 @@ lyx$(EXEEXT): $(FRONTENDS_PROGS) rm -f $@ $(LN_S) $< $@ +if LYX_WIN_RESOURCE +LYXWINRES = lyxwinres.rc +.rc.o: + windres --preprocessor "$(CPP) -xc-header -DRC_INVOKED" $< -o $@ +endif + #lyx_LDFLAGS=-Wl,-O1 -BUILT_SOURCES = $(PCH_FILE) version.cpp +BUILT_SOURCES = $(PCH_FILE) version.cpp $(LYXWINRES) AM_CPPFLAGS += $(PCH_FLAGS) $(BOOST_INCLUDES) @@ -60,7 +67,7 @@ endif lyx_SOURCES = \ - $(ASPELL) $(PSPELL) $(ISPELL) SpellBase.cpp \ + $(ASPELL) $(PSPELL) $(ISPELL) $(LYXWINRES) SpellBase.cpp \ Author.cpp \ Author.h \ Bidi.cpp \ @@ -273,3 +280,17 @@ stamp-version: version.cpp-tmp cp $< version.cpp ;\ fi echo timestamp > $@ + +if LYX_WIN_RESOURCE +lyxwinres.rc: stamp-lyxwinres + @: + +stamp-lyxwinres: lyxwinres.rc-tmp + if cmp -s $< lyxwinres.rc ; then \ + : ;\ + else \ + rm -f lyxwinres.rc ;\ + cp $< lyxwinres.rc ;\ + fi + echo timestamp > $@ +endif Index: configure.ac =================================================================== --- configure.ac (revision 19426) +++ configure.ac (working copy) @@ -281,6 +281,27 @@ LIBS="$save_LIBS" AM_CONDITIONAL(BUILD_CLIENT_SUBDIR, $lyx_client_subdir) AC_LANG_POP(C) +lyx_win_res=false; +case ${host} in + *mingw*|*cygwin*) lyx_win_res=true;; +esac +AM_CONDITIONAL(LYX_WIN_RESOURCE, $lyx_win_res) +if test "$lyx_win_res" = true; then + MAJOR=`echo $PACKAGE_VERSION | sed -e 's/[[.]].*//'` + MINOR=`echo $PACKAGE_VERSION | sed -e "s/^$MAJOR//" -e 's/^.//'` + RELEASE=$MINOR + MINOR=`echo $RELEASE | sed -e 's/[[.]].*//'` + RELEASE=`echo $RELEASE | sed -e "s/^$MINOR//" -e 's/^.//'` + PATCH=$RELEASE + RELEASE=`echo $PATCH | sed -e 's/[[^0-9]].*//'` + PATCH=`echo $PATCH | sed -e "s/^$RELEASE//" -e 's/^[[.]]//' -e 's/[[^0-9]].*//'` + test "x$PATCH" = "x" && PATCH=0 + AC_SUBST(LYX_MAJOR_VERSION,$MAJOR) + AC_SUBST(LYX_MINOR_VERSION,$MINOR) + AC_SUBST(LYX_RELEASE_LEVEL,$RELEASE) + AC_SUBST(LYX_RELEASE_PATCH,$PATCH) +fi + AC_FUNC_SELECT_ARGTYPES ### Some information on what just happened @@ -430,6 +451,7 @@ AC_CONFIG_FILES([Makefile sourcedoc/Makefile \ src/client/Makefile \ src/Makefile \ + src/lyxwinres.rc-tmp:src/lyxwinres.rc.in \ src/version.cpp-tmp:src/version.cpp.in \ src/tex2lyx/Makefile \ src/mathed/Makefile \