From f01948ce3f5f4476a6a1188d3f8a0a22fe339f00 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 26 Oct 2023 18:25:54 +0100 Subject: [PATCH 1/7] use `*OUTPUT_BASENAME ` to define `OriginalFilename` --- src/libbson/CMakeLists.txt | 1 + src/libbson/libbson.rc | 2 +- src/libmongoc/CMakeLists.txt | 1 + src/libmongoc/libmongoc.rc | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libbson/CMakeLists.txt b/src/libbson/CMakeLists.txt index 12d4173c3ed..3a868af48d1 100644 --- a/src/libbson/CMakeLists.txt +++ b/src/libbson/CMakeLists.txt @@ -229,6 +229,7 @@ endif() if(ENABLE_SHARED) add_library(bson_shared SHARED $<$:libbson.rc>) + set_source_files_properties (libbson.rc PROPERTIES COMPILE_DEFINITIONS BSON_OUTPUT_BASENAME="${BSON_OUTPUT_BASENAME}") target_link_libraries(bson_shared PRIVATE $) list(APPEND bson_libs bson_shared) endif() diff --git a/src/libbson/libbson.rc b/src/libbson/libbson.rc index e0b4c87a5ae..6923d1e26ff 100644 --- a/src/libbson/libbson.rc +++ b/src/libbson/libbson.rc @@ -29,7 +29,7 @@ BEGIN VALUE "FileDescription", "A BSON Library for C" VALUE "FileVersion", BSON_VERSION_S VALUE "InternalName", "bson-1.0" - VALUE "OriginalFilename", "bson-1.0.dll" + VALUE "OriginalFilename", BSON_OUTPUT_BASENAME "-1.0.dll" VALUE "ProductName", "MongoDB C Driver" VALUE "ProductVersion", BSON_VERSION_S VALUE "LegalCopyright", "Copyright (C) 2023-present MongoDB, Inc." diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt index 7a81ecb7731..f7b2bbc5701 100644 --- a/src/libmongoc/CMakeLists.txt +++ b/src/libmongoc/CMakeLists.txt @@ -813,6 +813,7 @@ if (MONGOC_ENABLE_STATIC_BUILD) endif () add_library (mongoc_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING} $<$:libmongoc.rc>) +set_source_files_properties (libmongoc.rc PROPERTIES COMPILE_DEFINITIONS MONGOC_OUTPUT_BASENAME="${MONGOC_OUTPUT_BASENAME}") set_target_properties (mongoc_shared PROPERTIES CMAKE_CXX_VISIBILITY_PRESET hidden) target_link_libraries (mongoc_shared PRIVATE ${LIBRARIES} PUBLIC ${BSON_LIBRARIES} mongo::detail::c_dependencies) target_include_directories (mongoc_shared PRIVATE ${ZLIB_INCLUDE_DIRS}) diff --git a/src/libmongoc/libmongoc.rc b/src/libmongoc/libmongoc.rc index d4d0d03750c..1e21c8ef75d 100644 --- a/src/libmongoc/libmongoc.rc +++ b/src/libmongoc/libmongoc.rc @@ -27,7 +27,7 @@ BEGIN VALUE "FileDescription", "MongoDB Client Library for C" VALUE "FileVersion", MONGOC_VERSION_S VALUE "InternalName", "mongoc-1.0" - VALUE "OriginalFilename", "mongoc-1.0.dll" + VALUE "OriginalFilename", MONGOC_OUTPUT_BASENAME "-1.0.dll" VALUE "ProductName", "MongoDB C Driver" VALUE "ProductVersion", MONGOC_VERSION_S VALUE "LegalCopyright", "Copyright (C) 2023-present MongoDB, Inc." From cb992e46249d7ce19c12b8b1425e017c557bd189 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 26 Oct 2023 18:37:34 +0100 Subject: [PATCH 2/7] use project inception date as copyright year --- src/libbson/libbson.rc | 2 +- src/libmongoc/libmongoc.rc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libbson/libbson.rc b/src/libbson/libbson.rc index 6923d1e26ff..715d7be85fd 100644 --- a/src/libbson/libbson.rc +++ b/src/libbson/libbson.rc @@ -32,7 +32,7 @@ BEGIN VALUE "OriginalFilename", BSON_OUTPUT_BASENAME "-1.0.dll" VALUE "ProductName", "MongoDB C Driver" VALUE "ProductVersion", BSON_VERSION_S - VALUE "LegalCopyright", "Copyright (C) 2023-present MongoDB, Inc." + VALUE "LegalCopyright", "Copyright (C) 2013-present MongoDB, Inc." END END BLOCK "VarFileInfo" diff --git a/src/libmongoc/libmongoc.rc b/src/libmongoc/libmongoc.rc index 1e21c8ef75d..0ef40f52cb7 100644 --- a/src/libmongoc/libmongoc.rc +++ b/src/libmongoc/libmongoc.rc @@ -30,7 +30,7 @@ BEGIN VALUE "OriginalFilename", MONGOC_OUTPUT_BASENAME "-1.0.dll" VALUE "ProductName", "MongoDB C Driver" VALUE "ProductVersion", MONGOC_VERSION_S - VALUE "LegalCopyright", "Copyright (C) 2023-present MongoDB, Inc." + VALUE "LegalCopyright", "Copyright (C) 2013-present MongoDB, Inc." END END BLOCK "VarFileInfo" From 7ba863f1ba52aaa3d9a2885e5f68ffe5dc67af9f Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 26 Oct 2023 20:47:35 +0100 Subject: [PATCH 3/7] quote macros in .rc file, not CMake The MinGW resource compiler (windres) does not appear to keep quotes on arguments passed to the preprocessor. --- src/libbson/CMakeLists.txt | 3 ++- src/libbson/libbson.rc | 9 ++++++++- src/libmongoc/CMakeLists.txt | 3 ++- src/libmongoc/libmongoc.rc | 9 ++++++++- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/libbson/CMakeLists.txt b/src/libbson/CMakeLists.txt index 3a868af48d1..44d3939a30f 100644 --- a/src/libbson/CMakeLists.txt +++ b/src/libbson/CMakeLists.txt @@ -229,7 +229,8 @@ endif() if(ENABLE_SHARED) add_library(bson_shared SHARED $<$:libbson.rc>) - set_source_files_properties (libbson.rc PROPERTIES COMPILE_DEFINITIONS BSON_OUTPUT_BASENAME="${BSON_OUTPUT_BASENAME}") + # Set BSON_OUTPUT_BASENAME without quotes. MinGW appears not to keep the quotes when invoking the preprocessor. Quote are added in the .rc file. + set_source_files_properties (libbson.rc PROPERTIES COMPILE_DEFINITIONS BSON_OUTPUT_BASENAME=${BSON_OUTPUT_BASENAME}) target_link_libraries(bson_shared PRIVATE $) list(APPEND bson_libs bson_shared) endif() diff --git a/src/libbson/libbson.rc b/src/libbson/libbson.rc index 715d7be85fd..d2332a0b65a 100644 --- a/src/libbson/libbson.rc +++ b/src/libbson/libbson.rc @@ -5,6 +5,10 @@ #include // Defines BSON_MAJOR_VERSION and other version macros. #undef BSON_COMPILATION +#define TO_STR_AFTER_EVAL(TOKEN) #TOKEN +// TO_STR evaluates the TOKEN (which may be a macro) and then applies the # operator to quote it. +#define TO_STR(TOKEN) TO_STR_AFTER_EVAL(TOKEN) + VS_VERSION_INFO VERSIONINFO FILEVERSION BSON_MAJOR_VERSION,BSON_MINOR_VERSION,BSON_MICRO_VERSION,0 PRODUCTVERSION BSON_MAJOR_VERSION,BSON_MINOR_VERSION,BSON_MICRO_VERSION,0 @@ -29,7 +33,7 @@ BEGIN VALUE "FileDescription", "A BSON Library for C" VALUE "FileVersion", BSON_VERSION_S VALUE "InternalName", "bson-1.0" - VALUE "OriginalFilename", BSON_OUTPUT_BASENAME "-1.0.dll" + VALUE "OriginalFilename", TO_STR(BSON_OUTPUT_BASENAME) "-1.0.dll" VALUE "ProductName", "MongoDB C Driver" VALUE "ProductVersion", BSON_VERSION_S VALUE "LegalCopyright", "Copyright (C) 2013-present MongoDB, Inc." @@ -41,3 +45,6 @@ BEGIN VALUE "Translation", 0x409, 1200 END END + +#undef TO_STR +#undef TO_STR_AFTER_EVAL diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt index f7b2bbc5701..d4b099a368b 100644 --- a/src/libmongoc/CMakeLists.txt +++ b/src/libmongoc/CMakeLists.txt @@ -813,7 +813,8 @@ if (MONGOC_ENABLE_STATIC_BUILD) endif () add_library (mongoc_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING} $<$:libmongoc.rc>) -set_source_files_properties (libmongoc.rc PROPERTIES COMPILE_DEFINITIONS MONGOC_OUTPUT_BASENAME="${MONGOC_OUTPUT_BASENAME}") +# Set MONGOC_OUTPUT_BASENAME without quotes. MinGW appears not to keep the quotes when invoking the preprocessor. Quote are added in the .rc file. +set_source_files_properties (libmongoc.rc PROPERTIES COMPILE_DEFINITIONS MONGOC_OUTPUT_BASENAME=${MONGOC_OUTPUT_BASENAME}) set_target_properties (mongoc_shared PROPERTIES CMAKE_CXX_VISIBILITY_PRESET hidden) target_link_libraries (mongoc_shared PRIVATE ${LIBRARIES} PUBLIC ${BSON_LIBRARIES} mongo::detail::c_dependencies) target_include_directories (mongoc_shared PRIVATE ${ZLIB_INCLUDE_DIRS}) diff --git a/src/libmongoc/libmongoc.rc b/src/libmongoc/libmongoc.rc index 0ef40f52cb7..f0723c13baa 100644 --- a/src/libmongoc/libmongoc.rc +++ b/src/libmongoc/libmongoc.rc @@ -3,6 +3,10 @@ #include // Defines VS_VERSION_INFO #include // Defines MONGOC_MAJOR_VERSION and other version macros. +#define TO_STR_AFTER_EVAL(TOKEN) #TOKEN +// TO_STR evaluates the TOKEN (which may be a macro) and then applies the # operator to quote it. +#define TO_STR(TOKEN) TO_STR_AFTER_EVAL(TOKEN) + VS_VERSION_INFO VERSIONINFO FILEVERSION MONGOC_MAJOR_VERSION,MONGOC_MINOR_VERSION,MONGOC_MICRO_VERSION,0 PRODUCTVERSION MONGOC_MAJOR_VERSION,MONGOC_MINOR_VERSION,MONGOC_MICRO_VERSION,0 @@ -27,7 +31,7 @@ BEGIN VALUE "FileDescription", "MongoDB Client Library for C" VALUE "FileVersion", MONGOC_VERSION_S VALUE "InternalName", "mongoc-1.0" - VALUE "OriginalFilename", MONGOC_OUTPUT_BASENAME "-1.0.dll" + VALUE "OriginalFilename", TO_STR(MONGOC_OUTPUT_BASENAME) "-1.0.dll" VALUE "ProductName", "MongoDB C Driver" VALUE "ProductVersion", MONGOC_VERSION_S VALUE "LegalCopyright", "Copyright (C) 2013-present MongoDB, Inc." @@ -39,3 +43,6 @@ BEGIN VALUE "Translation", 0x409, 1200 END END + +#undef TO_STR +#undef TO_STR_AFTER_EVAL From 67636bc03565b5debe16c6cd182ac0bc43401f3b Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Fri, 27 Oct 2023 02:10:02 +0100 Subject: [PATCH 4/7] use `configure_file` to simplify --- src/libbson/CMakeLists.txt | 5 ++--- src/libbson/{libbson.rc => libbson.rc.in} | 9 ++------- src/libmongoc/CMakeLists.txt | 5 ++--- src/libmongoc/{libmongoc.rc => libmongoc.rc.in} | 9 ++------- 4 files changed, 8 insertions(+), 20 deletions(-) rename src/libbson/{libbson.rc => libbson.rc.in} (84%) rename src/libmongoc/{libmongoc.rc => libmongoc.rc.in} (83%) diff --git a/src/libbson/CMakeLists.txt b/src/libbson/CMakeLists.txt index 44d3939a30f..11677fcf98d 100644 --- a/src/libbson/CMakeLists.txt +++ b/src/libbson/CMakeLists.txt @@ -228,9 +228,8 @@ if(ENABLE_STATIC) endif() if(ENABLE_SHARED) - add_library(bson_shared SHARED $<$:libbson.rc>) - # Set BSON_OUTPUT_BASENAME without quotes. MinGW appears not to keep the quotes when invoking the preprocessor. Quote are added in the .rc file. - set_source_files_properties (libbson.rc PROPERTIES COMPILE_DEFINITIONS BSON_OUTPUT_BASENAME=${BSON_OUTPUT_BASENAME}) + configure_file (libbson.rc.in libbson.rc) + add_library(bson_shared SHARED $<$:${CMAKE_CURRENT_BINARY_DIR}/libbson.rc>) target_link_libraries(bson_shared PRIVATE $) list(APPEND bson_libs bson_shared) endif() diff --git a/src/libbson/libbson.rc b/src/libbson/libbson.rc.in similarity index 84% rename from src/libbson/libbson.rc rename to src/libbson/libbson.rc.in index d2332a0b65a..0d507089b38 100644 --- a/src/libbson/libbson.rc +++ b/src/libbson/libbson.rc.in @@ -5,9 +5,7 @@ #include // Defines BSON_MAJOR_VERSION and other version macros. #undef BSON_COMPILATION -#define TO_STR_AFTER_EVAL(TOKEN) #TOKEN -// TO_STR evaluates the TOKEN (which may be a macro) and then applies the # operator to quote it. -#define TO_STR(TOKEN) TO_STR_AFTER_EVAL(TOKEN) +#define BSON_OUTPUT_BASENAME "@BSON_OUTPUT_BASENAME@" VS_VERSION_INFO VERSIONINFO FILEVERSION BSON_MAJOR_VERSION,BSON_MINOR_VERSION,BSON_MICRO_VERSION,0 @@ -33,7 +31,7 @@ BEGIN VALUE "FileDescription", "A BSON Library for C" VALUE "FileVersion", BSON_VERSION_S VALUE "InternalName", "bson-1.0" - VALUE "OriginalFilename", TO_STR(BSON_OUTPUT_BASENAME) "-1.0.dll" + VALUE "OriginalFilename", BSON_OUTPUT_BASENAME "-1.0.dll" VALUE "ProductName", "MongoDB C Driver" VALUE "ProductVersion", BSON_VERSION_S VALUE "LegalCopyright", "Copyright (C) 2013-present MongoDB, Inc." @@ -45,6 +43,3 @@ BEGIN VALUE "Translation", 0x409, 1200 END END - -#undef TO_STR -#undef TO_STR_AFTER_EVAL diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt index d4b099a368b..53bfcd5cb2a 100644 --- a/src/libmongoc/CMakeLists.txt +++ b/src/libmongoc/CMakeLists.txt @@ -812,9 +812,8 @@ if (MONGOC_ENABLE_STATIC_BUILD) set_target_properties (mcd_rpc PROPERTIES OUTPUT_NAME "mcd-rpc") endif () -add_library (mongoc_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING} $<$:libmongoc.rc>) -# Set MONGOC_OUTPUT_BASENAME without quotes. MinGW appears not to keep the quotes when invoking the preprocessor. Quote are added in the .rc file. -set_source_files_properties (libmongoc.rc PROPERTIES COMPILE_DEFINITIONS MONGOC_OUTPUT_BASENAME=${MONGOC_OUTPUT_BASENAME}) +configure_file (libmongoc.rc.in libmongoc.rc) +add_library (mongoc_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING} $<$:${CMAKE_CURRENT_BINARY_DIR}/libmongoc.rc>) set_target_properties (mongoc_shared PROPERTIES CMAKE_CXX_VISIBILITY_PRESET hidden) target_link_libraries (mongoc_shared PRIVATE ${LIBRARIES} PUBLIC ${BSON_LIBRARIES} mongo::detail::c_dependencies) target_include_directories (mongoc_shared PRIVATE ${ZLIB_INCLUDE_DIRS}) diff --git a/src/libmongoc/libmongoc.rc b/src/libmongoc/libmongoc.rc.in similarity index 83% rename from src/libmongoc/libmongoc.rc rename to src/libmongoc/libmongoc.rc.in index f0723c13baa..7921aa36f19 100644 --- a/src/libmongoc/libmongoc.rc +++ b/src/libmongoc/libmongoc.rc.in @@ -3,9 +3,7 @@ #include // Defines VS_VERSION_INFO #include // Defines MONGOC_MAJOR_VERSION and other version macros. -#define TO_STR_AFTER_EVAL(TOKEN) #TOKEN -// TO_STR evaluates the TOKEN (which may be a macro) and then applies the # operator to quote it. -#define TO_STR(TOKEN) TO_STR_AFTER_EVAL(TOKEN) +#define MONGOC_OUTPUT_BASENAME "@MONGOC_OUTPUT_BASENAME@" VS_VERSION_INFO VERSIONINFO FILEVERSION MONGOC_MAJOR_VERSION,MONGOC_MINOR_VERSION,MONGOC_MICRO_VERSION,0 @@ -31,7 +29,7 @@ BEGIN VALUE "FileDescription", "MongoDB Client Library for C" VALUE "FileVersion", MONGOC_VERSION_S VALUE "InternalName", "mongoc-1.0" - VALUE "OriginalFilename", TO_STR(MONGOC_OUTPUT_BASENAME) "-1.0.dll" + VALUE "OriginalFilename", MONGOC_OUTPUT_BASENAME "-1.0.dll" VALUE "ProductName", "MongoDB C Driver" VALUE "ProductVersion", MONGOC_VERSION_S VALUE "LegalCopyright", "Copyright (C) 2013-present MongoDB, Inc." @@ -43,6 +41,3 @@ BEGIN VALUE "Translation", 0x409, 1200 END END - -#undef TO_STR -#undef TO_STR_AFTER_EVAL From de661512cbda1deec1ee034093c8bdbb5d9c5730 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Fri, 27 Oct 2023 16:16:52 +0100 Subject: [PATCH 5/7] use `API_VERSION` macros in place of `1.0` literals --- src/libbson/libbson.rc.in | 5 +++-- src/libmongoc/libmongoc.rc.in | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/libbson/libbson.rc.in b/src/libbson/libbson.rc.in index 0d507089b38..90f242b43cb 100644 --- a/src/libbson/libbson.rc.in +++ b/src/libbson/libbson.rc.in @@ -6,6 +6,7 @@ #undef BSON_COMPILATION #define BSON_OUTPUT_BASENAME "@BSON_OUTPUT_BASENAME@" +#define BSON_API_VERSION "@BSON_API_VERSION@" VS_VERSION_INFO VERSIONINFO FILEVERSION BSON_MAJOR_VERSION,BSON_MINOR_VERSION,BSON_MICRO_VERSION,0 @@ -30,8 +31,8 @@ BEGIN VALUE "CompanyName", "MongoDB, Inc" VALUE "FileDescription", "A BSON Library for C" VALUE "FileVersion", BSON_VERSION_S - VALUE "InternalName", "bson-1.0" - VALUE "OriginalFilename", BSON_OUTPUT_BASENAME "-1.0.dll" + VALUE "InternalName", "bson-" BSON_API_VERSION + VALUE "OriginalFilename", BSON_OUTPUT_BASENAME "-" BSON_API_VERSION ".dll" VALUE "ProductName", "MongoDB C Driver" VALUE "ProductVersion", BSON_VERSION_S VALUE "LegalCopyright", "Copyright (C) 2013-present MongoDB, Inc." diff --git a/src/libmongoc/libmongoc.rc.in b/src/libmongoc/libmongoc.rc.in index 7921aa36f19..4926fc42db4 100644 --- a/src/libmongoc/libmongoc.rc.in +++ b/src/libmongoc/libmongoc.rc.in @@ -4,6 +4,7 @@ #include // Defines MONGOC_MAJOR_VERSION and other version macros. #define MONGOC_OUTPUT_BASENAME "@MONGOC_OUTPUT_BASENAME@" +#define MONGOC_API_VERSION "@MONGOC_API_VERSION@" VS_VERSION_INFO VERSIONINFO FILEVERSION MONGOC_MAJOR_VERSION,MONGOC_MINOR_VERSION,MONGOC_MICRO_VERSION,0 @@ -28,8 +29,8 @@ BEGIN VALUE "CompanyName", "MongoDB, Inc" VALUE "FileDescription", "MongoDB Client Library for C" VALUE "FileVersion", MONGOC_VERSION_S - VALUE "InternalName", "mongoc-1.0" - VALUE "OriginalFilename", MONGOC_OUTPUT_BASENAME "-1.0.dll" + VALUE "InternalName", "mongoc-" MONGOC_API_VERSION + VALUE "OriginalFilename", MONGOC_OUTPUT_BASENAME "-" MONGOC_API_VERSION ".dll" VALUE "ProductName", "MongoDB C Driver" VALUE "ProductVersion", MONGOC_VERSION_S VALUE "LegalCopyright", "Copyright (C) 2013-present MongoDB, Inc." From 1e24cc2f87f282d1cb56ee472d4778140a5109f1 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Fri, 27 Oct 2023 16:22:23 +0100 Subject: [PATCH 6/7] guard config of `.rc` files in `if(WIN32)` For consistency with C++ driver. --- src/libbson/CMakeLists.txt | 8 ++++++-- src/libmongoc/CMakeLists.txt | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/libbson/CMakeLists.txt b/src/libbson/CMakeLists.txt index 11677fcf98d..4c689492864 100644 --- a/src/libbson/CMakeLists.txt +++ b/src/libbson/CMakeLists.txt @@ -228,8 +228,12 @@ if(ENABLE_STATIC) endif() if(ENABLE_SHARED) - configure_file (libbson.rc.in libbson.rc) - add_library(bson_shared SHARED $<$:${CMAKE_CURRENT_BINARY_DIR}/libbson.rc>) + add_library(bson_shared SHARED) + if(WIN32) + # Add resource-definition script for Windows shared library (.dll). + configure_file(libbson.rc.in libbson.rc) + target_sources(bson_shared PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/libbson.rc) + endif() target_link_libraries(bson_shared PRIVATE $) list(APPEND bson_libs bson_shared) endif() diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt index 53bfcd5cb2a..61cae9c4f59 100644 --- a/src/libmongoc/CMakeLists.txt +++ b/src/libmongoc/CMakeLists.txt @@ -812,8 +812,12 @@ if (MONGOC_ENABLE_STATIC_BUILD) set_target_properties (mcd_rpc PROPERTIES OUTPUT_NAME "mcd-rpc") endif () -configure_file (libmongoc.rc.in libmongoc.rc) -add_library (mongoc_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING} $<$:${CMAKE_CURRENT_BINARY_DIR}/libmongoc.rc>) +add_library (mongoc_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) +if(WIN32) + # Add resource-definition script for Windows shared library (.dll). + configure_file(libmongoc.rc.in libmongoc.rc) + target_sources(mongoc_shared PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/libmongoc.rc) +endif() set_target_properties (mongoc_shared PROPERTIES CMAKE_CXX_VISIBILITY_PRESET hidden) target_link_libraries (mongoc_shared PRIVATE ${LIBRARIES} PUBLIC ${BSON_LIBRARIES} mongo::detail::c_dependencies) target_include_directories (mongoc_shared PRIVATE ${ZLIB_INCLUDE_DIRS}) From 427b75f93c0b32b04c9020f518b1be20873ccbc4 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Fri, 27 Oct 2023 18:48:54 +0100 Subject: [PATCH 7/7] set `InternalName` to `OriginalFilename` without extension --- src/libbson/libbson.rc.in | 2 +- src/libmongoc/libmongoc.rc.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libbson/libbson.rc.in b/src/libbson/libbson.rc.in index 90f242b43cb..98478f2fae1 100644 --- a/src/libbson/libbson.rc.in +++ b/src/libbson/libbson.rc.in @@ -31,7 +31,7 @@ BEGIN VALUE "CompanyName", "MongoDB, Inc" VALUE "FileDescription", "A BSON Library for C" VALUE "FileVersion", BSON_VERSION_S - VALUE "InternalName", "bson-" BSON_API_VERSION + VALUE "InternalName", BSON_OUTPUT_BASENAME "-" BSON_API_VERSION VALUE "OriginalFilename", BSON_OUTPUT_BASENAME "-" BSON_API_VERSION ".dll" VALUE "ProductName", "MongoDB C Driver" VALUE "ProductVersion", BSON_VERSION_S diff --git a/src/libmongoc/libmongoc.rc.in b/src/libmongoc/libmongoc.rc.in index 4926fc42db4..b53fbc16974 100644 --- a/src/libmongoc/libmongoc.rc.in +++ b/src/libmongoc/libmongoc.rc.in @@ -29,7 +29,7 @@ BEGIN VALUE "CompanyName", "MongoDB, Inc" VALUE "FileDescription", "MongoDB Client Library for C" VALUE "FileVersion", MONGOC_VERSION_S - VALUE "InternalName", "mongoc-" MONGOC_API_VERSION + VALUE "InternalName", MONGOC_OUTPUT_BASENAME "-" MONGOC_API_VERSION VALUE "OriginalFilename", MONGOC_OUTPUT_BASENAME "-" MONGOC_API_VERSION ".dll" VALUE "ProductName", "MongoDB C Driver" VALUE "ProductVersion", MONGOC_VERSION_S