From 9cd695a1db1daf3351580f2a73ffef7b7561b3ef Mon Sep 17 00:00:00 2001 From: Remo E Date: Thu, 27 Oct 2016 19:06:55 +0200 Subject: [PATCH] MSVC version resource support --- lib/CMakeLists.txt | 13 ++++++++++++- lib/Makefile.am | 2 +- lib/version.rc.in | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 lib/version.rc.in diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 1251eaaa..7ef37ed8 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -26,8 +26,19 @@ set(NGHTTP2_SOURCES nghttp2_debug.c ) +set(NGHTTP2_RES "") + +if(WIN32) + configure_file( + version.rc.in + ${CMAKE_CURRENT_BINARY_DIR}/version.rc + @ONLY) + + set(NGHTTP2_RES ${CMAKE_CURRENT_BINARY_DIR}/version.rc) +endif() + # Public shared library -add_library(nghttp2 SHARED ${NGHTTP2_SOURCES}) +add_library(nghttp2 SHARED ${NGHTTP2_SOURCES} ${NGHTTP2_RES}) set_target_properties(nghttp2 PROPERTIES COMPILE_FLAGS "${WARNCFLAGS}" VERSION ${LT_VERSION} SOVERSION ${LT_SOVERSION} diff --git a/lib/Makefile.am b/lib/Makefile.am index 3e2b6014..24a5bd62 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -22,7 +22,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. SUBDIRS = includes -EXTRA_DIST = Makefile.msvc CMakeLists.txt +EXTRA_DIST = Makefile.msvc CMakeLists.txt version.rc.in AM_CFLAGS = $(WARNCFLAGS) $(EXTRACFLAG) AM_CPPFLAGS = -I$(srcdir)/includes -I$(builddir)/includes -DBUILDING_NGHTTP2 \ diff --git a/lib/version.rc.in b/lib/version.rc.in new file mode 100644 index 00000000..4edfa7a4 --- /dev/null +++ b/lib/version.rc.in @@ -0,0 +1,40 @@ +#include + +VS_VERSION_INFO VERSIONINFO + +FILEVERSION @PROJECT_VERSION_MAJOR@, @PROJECT_VERSION_MINOR@, @PROJECT_VERSION_PATCH@, 0 +PRODUCTVERSION @PROJECT_VERSION_MAJOR@, @PROJECT_VERSION_MINOR@, @PROJECT_VERSION_PATCH@, 0 +FILEFLAGSMASK 0x3fL +FILEOS 0x40004L +FILETYPE 0x2L +FILESUBTYPE 0x0L +#ifdef _DEBUG + #define VER_STR "@PROJECT_VERSION@.0 (MSVC debug)" + #define DBG "d" + FILEFLAGS 0x1L +#else + #define VER_STR "@PROJECT_VERSION@.0 (MSVC release)" + #define DBG "" + FILEFLAGS 0x0L +#endif +BEGIN +BLOCK "StringFileInfo" +BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "https://nghttp2.org/" + VALUE "FileDescription", "nghttp2; HTTP/2 C library" + VALUE "FileVersion", VER_STR + VALUE "InternalName", "nghttp2" DBG + VALUE "LegalCopyright", "The MIT License" + VALUE "LegalTrademarks", "" + VALUE "OriginalFilename", "nghttp2" DBG ".dll" + VALUE "ProductName", "NGHTTP2." + VALUE "ProductVersion", VER_STR + END +END +BLOCK "VarFileInfo" +BEGIN +VALUE "Translation", 0x409, 1200 +END +END