Skip to content

Commit 30455d0

Browse files
authored
CDRIVER-3091 fix copyrights and OriginalFilename (#1457)
* use `*OUTPUT_BASENAME ` to define `OriginalFilename` * use project inception date as copyright year * quote macros in .rc file, not CMake The MinGW resource compiler (windres) does not appear to keep quotes on arguments passed to the preprocessor. * use `configure_file` to simplify * use `API_VERSION` macros in place of `1.0` literals * guard config of `.rc` files in `if(WIN32)` For consistency with C++ driver. * set `InternalName` to `OriginalFilename` without extension
1 parent 1f8bf52 commit 30455d0

File tree

4 files changed

+24
-8
lines changed

4 files changed

+24
-8
lines changed

src/libbson/CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,12 @@ if(ENABLE_STATIC)
228228
endif()
229229

230230
if(ENABLE_SHARED)
231-
add_library(bson_shared SHARED $<$<PLATFORM_ID:Windows>:libbson.rc>)
231+
add_library(bson_shared SHARED)
232+
if(WIN32)
233+
# Add resource-definition script for Windows shared library (.dll).
234+
configure_file(libbson.rc.in libbson.rc)
235+
target_sources(bson_shared PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/libbson.rc)
236+
endif()
232237
target_link_libraries(bson_shared PRIVATE $<BUILD_INTERFACE:bson_obj_pic>)
233238
list(APPEND bson_libs bson_shared)
234239
endif()

src/libbson/libbson.rc renamed to src/libbson/libbson.rc.in

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
#include <bson/bson-version.h> // Defines BSON_MAJOR_VERSION and other version macros.
66
#undef BSON_COMPILATION
77

8+
#define BSON_OUTPUT_BASENAME "@BSON_OUTPUT_BASENAME@"
9+
#define BSON_API_VERSION "@BSON_API_VERSION@"
10+
811
VS_VERSION_INFO VERSIONINFO
912
FILEVERSION BSON_MAJOR_VERSION,BSON_MINOR_VERSION,BSON_MICRO_VERSION,0
1013
PRODUCTVERSION BSON_MAJOR_VERSION,BSON_MINOR_VERSION,BSON_MICRO_VERSION,0
@@ -28,11 +31,11 @@ BEGIN
2831
VALUE "CompanyName", "MongoDB, Inc"
2932
VALUE "FileDescription", "A BSON Library for C"
3033
VALUE "FileVersion", BSON_VERSION_S
31-
VALUE "InternalName", "bson-1.0"
32-
VALUE "OriginalFilename", "bson-1.0.dll"
34+
VALUE "InternalName", BSON_OUTPUT_BASENAME "-" BSON_API_VERSION
35+
VALUE "OriginalFilename", BSON_OUTPUT_BASENAME "-" BSON_API_VERSION ".dll"
3336
VALUE "ProductName", "MongoDB C Driver"
3437
VALUE "ProductVersion", BSON_VERSION_S
35-
VALUE "LegalCopyright", "Copyright (C) 2023-present MongoDB, Inc."
38+
VALUE "LegalCopyright", "Copyright (C) 2013-present MongoDB, Inc."
3639
END
3740
END
3841
BLOCK "VarFileInfo"

src/libmongoc/CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -812,7 +812,12 @@ if (MONGOC_ENABLE_STATIC_BUILD)
812812
set_target_properties (mcd_rpc PROPERTIES OUTPUT_NAME "mcd-rpc")
813813
endif ()
814814

815-
add_library (mongoc_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING} $<$<PLATFORM_ID:Windows>:libmongoc.rc>)
815+
add_library (mongoc_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING})
816+
if(WIN32)
817+
# Add resource-definition script for Windows shared library (.dll).
818+
configure_file(libmongoc.rc.in libmongoc.rc)
819+
target_sources(mongoc_shared PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/libmongoc.rc)
820+
endif()
816821
set_target_properties (mongoc_shared PROPERTIES CMAKE_CXX_VISIBILITY_PRESET hidden)
817822
target_link_libraries (mongoc_shared PRIVATE ${LIBRARIES} PUBLIC ${BSON_LIBRARIES} mongo::detail::c_dependencies)
818823
target_include_directories (mongoc_shared PRIVATE ${ZLIB_INCLUDE_DIRS})

src/libmongoc/libmongoc.rc renamed to src/libmongoc/libmongoc.rc.in

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
#include <winver.h> // Defines VS_VERSION_INFO
44
#include <mongoc/mongoc-version.h> // Defines MONGOC_MAJOR_VERSION and other version macros.
55

6+
#define MONGOC_OUTPUT_BASENAME "@MONGOC_OUTPUT_BASENAME@"
7+
#define MONGOC_API_VERSION "@MONGOC_API_VERSION@"
8+
69
VS_VERSION_INFO VERSIONINFO
710
FILEVERSION MONGOC_MAJOR_VERSION,MONGOC_MINOR_VERSION,MONGOC_MICRO_VERSION,0
811
PRODUCTVERSION MONGOC_MAJOR_VERSION,MONGOC_MINOR_VERSION,MONGOC_MICRO_VERSION,0
@@ -26,11 +29,11 @@ BEGIN
2629
VALUE "CompanyName", "MongoDB, Inc"
2730
VALUE "FileDescription", "MongoDB Client Library for C"
2831
VALUE "FileVersion", MONGOC_VERSION_S
29-
VALUE "InternalName", "mongoc-1.0"
30-
VALUE "OriginalFilename", "mongoc-1.0.dll"
32+
VALUE "InternalName", MONGOC_OUTPUT_BASENAME "-" MONGOC_API_VERSION
33+
VALUE "OriginalFilename", MONGOC_OUTPUT_BASENAME "-" MONGOC_API_VERSION ".dll"
3134
VALUE "ProductName", "MongoDB C Driver"
3235
VALUE "ProductVersion", MONGOC_VERSION_S
33-
VALUE "LegalCopyright", "Copyright (C) 2023-present MongoDB, Inc."
36+
VALUE "LegalCopyright", "Copyright (C) 2013-present MongoDB, Inc."
3437
END
3538
END
3639
BLOCK "VarFileInfo"

0 commit comments

Comments
 (0)