From e304e5a5cb74eb8d0c672c8ad3dcb50392384488 Mon Sep 17 00:00:00 2001 From: Su Laus Date: Wed, 25 Jan 2023 16:04:50 +0000 Subject: Add versioninfo resource files for DLL and tools compiled with Windows MSVC and MINGW. --- libtiff/CMakeLists.txt | 8 +++++++ libtiff/tif_win32_versioninfo.rc | 51 ++++++++++++++++++++++++++++++++++++++++ tools/CMakeLists.txt | 48 +++++++++++++++++++++---------------- tools/tif_tools_versioninfo.rc | 51 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 138 insertions(+), 20 deletions(-) create mode 100644 libtiff/tif_win32_versioninfo.rc create mode 100644 tools/tif_tools_versioninfo.rc diff --git a/libtiff/CMakeLists.txt b/libtiff/CMakeLists.txt index 32c666f9..7c0596dd 100755 --- a/libtiff/CMakeLists.txt +++ b/libtiff/CMakeLists.txt @@ -108,6 +108,14 @@ target_include_directories(tiff ${TIFF_INCLUDES} ) +# MSVC specific resource preparation +if (WIN32 AND MSVC) + message(STATUS "Include resource version information for LibTIFF") + target_sources(tiff PRIVATE tif_win32_versioninfo.rc) + source_group("Resource Files" FILES tif_win32_versioninfo.rc) +endif () + + set(tiff_libs_private_list "") # cmake list set(tiff_requires_private "") # cmake string diff --git a/libtiff/tif_win32_versioninfo.rc b/libtiff/tif_win32_versioninfo.rc new file mode 100644 index 00000000..a5613f51 --- /dev/null +++ b/libtiff/tif_win32_versioninfo.rc @@ -0,0 +1,51 @@ + +/* clang-format off */ + +#define APSTUDIO_HIDDEN_SYMBOLS +#include +#undef APSTUDIO_HIDDEN_SYMBOLS +#include + +#include "tiffvers.h" +#include "tif_config.h" + +#ifdef _WIN32 +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +#pragma code_page(1252) +#endif //_WIN32 + +VS_VERSION_INFO VERSIONINFO + FILEVERSION TIFFLIB_MAJOR_VERSION,TIFFLIB_MINOR_VERSION,TIFFLIB_MICRO_VERSION,0 + PRODUCTVERSION TIFFLIB_MAJOR_VERSION,TIFFLIB_MINOR_VERSION,TIFFLIB_MICRO_VERSION,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "000004b0" + BEGIN + VALUE "CompanyName", "libtiff project" + VALUE "FileDescription", "TIFF Library" + VALUE "FileVersion", PACKAGE_VERSION + VALUE "InternalName", "tiff.dll" + VALUE "LegalCopyright", "See LICENCE.md" + VALUE "OriginalFilename", "tiff.dll" + VALUE "ProductName", "LibTIFF" + VALUE "ProductVersion", PACKAGE_VERSION + VALUE "WebPage", "https://libtiff.gitlab.io/libtiff/\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0, 1200 + END +END + + diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index 2d203763..c0ea2fd3 100755 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -22,84 +22,92 @@ # LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE # OF THIS SOFTWARE. +# MSVC specific resource preparation +if (WIN32 AND MSVC) + message(STATUS "Include resource version information for TOOLS") + set(MSVC_RESSOURCE_FILE tif_tools_versioninfo.rc) + source_group("Resource Files" FILES tif_tools_versioninfo.rc) +endif () + + add_executable(fax2ps ../placeholder.h) -target_sources(fax2ps PRIVATE fax2ps.c) +target_sources(fax2ps PRIVATE fax2ps.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(fax2ps PRIVATE tiff tiff_port) add_executable(fax2tiff ../placeholder.h) -target_sources(fax2tiff PRIVATE fax2tiff.c) +target_sources(fax2tiff PRIVATE fax2tiff.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(fax2tiff PRIVATE tiff tiff_port) add_executable(pal2rgb ../placeholder.h) -target_sources(pal2rgb PRIVATE pal2rgb.c) +target_sources(pal2rgb PRIVATE pal2rgb.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(pal2rgb PRIVATE tiff tiff_port) add_executable(ppm2tiff ../placeholder.h) -target_sources(ppm2tiff PRIVATE ppm2tiff.c) +target_sources(ppm2tiff PRIVATE ppm2tiff.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(ppm2tiff PRIVATE tiff tiff_port) add_executable(raw2tiff ../placeholder.h) -target_sources(raw2tiff PRIVATE raw2tiff.c) +target_sources(raw2tiff PRIVATE raw2tiff.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(raw2tiff PRIVATE tiff tiff_port CMath::CMath) add_executable(rgb2ycbcr ../placeholder.h) -target_sources(rgb2ycbcr PRIVATE rgb2ycbcr.c) +target_sources(rgb2ycbcr PRIVATE rgb2ycbcr.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(rgb2ycbcr PRIVATE tiff tiff_port) add_executable(thumbnail ../placeholder.h) -target_sources(thumbnail PRIVATE thumbnail.c) +target_sources(thumbnail PRIVATE thumbnail.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(thumbnail PRIVATE tiff tiff_port CMath::CMath) add_executable(tiff2bw ../placeholder.h) -target_sources(tiff2bw PRIVATE tiff2bw.c) +target_sources(tiff2bw PRIVATE tiff2bw.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(tiff2bw PRIVATE tiff tiff_port) add_executable(tiff2pdf ../placeholder.h) -target_sources(tiff2pdf PRIVATE tiff2pdf.c) +target_sources(tiff2pdf PRIVATE tiff2pdf.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(tiff2pdf PRIVATE tiff tiff_port) add_executable(tiff2ps ../placeholder.h) -target_sources(tiff2ps PRIVATE tiff2ps.c) +target_sources(tiff2ps PRIVATE tiff2ps.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(tiff2ps PRIVATE tiff tiff_port CMath::CMath) add_executable(tiff2rgba ../placeholder.h) -target_sources(tiff2rgba PRIVATE tiff2rgba.c) +target_sources(tiff2rgba PRIVATE tiff2rgba.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(tiff2rgba PRIVATE tiff tiff_port) add_executable(tiffcmp ../placeholder.h) -target_sources(tiffcmp PRIVATE tiffcmp.c) +target_sources(tiffcmp PRIVATE tiffcmp.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(tiffcmp PRIVATE tiff tiff_port) add_executable(tiffcp ../placeholder.h) -target_sources(tiffcp PRIVATE tiffcp.c) +target_sources(tiffcp PRIVATE tiffcp.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(tiffcp PRIVATE tiff tiff_port) add_executable(tiffcrop ../placeholder.h) -target_sources(tiffcrop PRIVATE tiffcrop.c) +target_sources(tiffcrop PRIVATE tiffcrop.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(tiffcrop PRIVATE tiff tiff_port CMath::CMath) add_executable(tiffdither ../placeholder.h) -target_sources(tiffdither PRIVATE tiffdither.c) +target_sources(tiffdither PRIVATE tiffdither.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(tiffdither PRIVATE tiff tiff_port) add_executable(tiffdump ../placeholder.h) -target_sources(tiffdump PRIVATE tiffdump.c) +target_sources(tiffdump PRIVATE tiffdump.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(tiffdump PRIVATE tiff tiff_port) add_executable(tiffinfo ../placeholder.h) -target_sources(tiffinfo PRIVATE tiffinfo.c) +target_sources(tiffinfo PRIVATE tiffinfo.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(tiffinfo PRIVATE tiff tiff_port) add_executable(tiffmedian ../placeholder.h) -target_sources(tiffmedian PRIVATE tiffmedian.c) +target_sources(tiffmedian PRIVATE tiffmedian.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(tiffmedian PRIVATE tiff tiff_port) add_executable(tiffset ../placeholder.h) -target_sources(tiffset PRIVATE tiffset.c) +target_sources(tiffset PRIVATE tiffset.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(tiffset PRIVATE tiff tiff_port) add_executable(tiffsplit ../placeholder.h) -target_sources(tiffsplit PRIVATE tiffsplit.c) +target_sources(tiffsplit PRIVATE tiffsplit.c ${MSVC_RESSOURCE_FILE}) target_link_libraries(tiffsplit PRIVATE tiff tiff_port) # rgb2ycbcr and thumbnail are intended to *NOT* be installed. They are for diff --git a/tools/tif_tools_versioninfo.rc b/tools/tif_tools_versioninfo.rc new file mode 100644 index 00000000..6d560c3f --- /dev/null +++ b/tools/tif_tools_versioninfo.rc @@ -0,0 +1,51 @@ + +/* clang-format off */ + +#define APSTUDIO_HIDDEN_SYMBOLS +#include +#undef APSTUDIO_HIDDEN_SYMBOLS +#include + +#include "tiffvers.h" +#include "tif_config.h" + +#ifdef _WIN32 +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +#pragma code_page(1252) +#endif //_WIN32 + +VS_VERSION_INFO VERSIONINFO + FILEVERSION TIFFLIB_MAJOR_VERSION,TIFFLIB_MINOR_VERSION,TIFFLIB_MICRO_VERSION,0 + PRODUCTVERSION TIFFLIB_MAJOR_VERSION,TIFFLIB_MINOR_VERSION,TIFFLIB_MICRO_VERSION,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "000004b0" + BEGIN + VALUE "CompanyName", "libtiff project" + VALUE "FileDescription", "TIFF Tools" + VALUE "FileVersion", PACKAGE_VERSION + VALUE "InternalName", "" + VALUE "LegalCopyright", "See LICENCE.md" + VALUE "OriginalFilename", "" + VALUE "ProductName", "LibTIFF" + VALUE "ProductVersion", PACKAGE_VERSION + VALUE "WebPage", "https://libtiff.gitlab.io/libtiff/\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0, 1200 + END +END + + -- cgit v1.2.1