Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

win32: Add version resource and manifest #2360

Merged
merged 8 commits into from
Dec 9, 2019

Conversation

k-takata
Copy link
Member

@k-takata k-takata commented Dec 4, 2019

This adds version resource and application manifest to the win32 executable file.
win32/ctags.rc and win32/resource.h are created by VS2013 and edited manually.

The application manifest should fix the issue #1837 on Windows 10 version 1903 or later.
See: https://docs.microsoft.com/en-us/windows/uwp/design/globalizing/use-utf8-code-page
This is a relatively new feature in Windows and it might not be matured enough, but at least I confirmed that ctags.exe can handle Unicode file names on Windows 10 1909.

NOTE: the version number needs to be updated manually.
We have version numbers in several files: configure.ac, docs/conf.py, main/ctags.h, win32/ctags.exe.manifest and win32/ctags.rc. (The last two files are added in this PR.)
We need to update all of them, when we release a new version.

Add compatibility element. This element is included by default when
compiled with MinGW-w64.
@coveralls
Copy link

coveralls commented Dec 4, 2019

Coverage Status

Coverage remained the same at 86.372% when pulling 105f514 on k-takata:win32-add-resource into 2ebf5b1 on universal-ctags:master.

@codecov-io
Copy link

codecov-io commented Dec 4, 2019

Codecov Report

Merging #2360 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #2360   +/-   ##
=======================================
  Coverage   86.25%   86.25%           
=======================================
  Files         176      176           
  Lines       35717    35717           
=======================================
  Hits        30808    30808           
  Misses       4909     4909

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2ebf5b1...105f514. Read the comment docs.

@masatake
Copy link
Member

masatake commented Dec 6, 2019

I don't have enough knowledges to review this. Feel free to merge this when you think you are o.k.

@k-takata
Copy link
Member Author

k-takata commented Dec 6, 2019

Do you have any comments about the commit messages, or about usage of autotools and makefiles?

Makefile.am Outdated Show resolved Hide resolved
@masatake
Copy link
Member

masatake commented Dec 6, 2019

I have only one very minor suggestion.

@masatake
Copy link
Member

masatake commented Dec 6, 2019

NOTE: the version number needs to be updated manually.
We have version numbers in several files: configure.ac, docs/conf.py, main/ctags.h, win32/ctags.exe.manifest and win32/ctags.rc. (The last two files are added in this PR.)
We need to update all of them, when we release a new version.

I see. Instead of improving our build-sys for synchronizing them, verifying the consistency of them at on travis may be easy. I like the technique you introduced for converting man to docs/man. Implementing verifier is much easier, but effective.

Set to empty at the head of the file, then use `+=`.
@k-takata
Copy link
Member Author

k-takata commented Dec 6, 2019

Instead of improving our build-sys for synchronizing them, verifying the consistency of them at on travis may be easy.

We need to verify the following points:

AC_INIT([universal-ctags],[0.0.0])

ctags/docs/conf.py

Lines 55 to 58 in 105f514

# The short X.Y version.
version = '0.3.0'
# The full version, including alpha/beta/rc tags.
release = '0.3.0'

# define PROGRAM_VERSION "0.0.0"

<assemblyIdentity type="win32" name="Universal Ctags" version="0.0.0.0" />

ctags/win32/ctags.rc

Lines 61 to 62 in 105f514

FILEVERSION 0,0,0,0
PRODUCTVERSION 0,0,0,0

VALUE "FileVersion", "0.0.0.0"

VALUE "ProductVersion", "0.0.0.0"

Note that Windows uses X.Y.Z.W (or X,Y,Z,W) style, not X.Y.Z. Maybe we should set to X.Y.Z.0.

@k-takata k-takata merged commit 9f494f0 into universal-ctags:master Dec 9, 2019
@k-takata k-takata deleted the win32-add-resource branch December 9, 2019 01:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants