Skip to content

Commit 2a57077

Browse files
eldruinrcsanchez97
authored andcommitted
allow custom bson and mongoc library names (#588)
1 parent 798b38f commit 2a57077

File tree

2 files changed

+19
-15
lines changed

2 files changed

+19
-15
lines changed

src/libbson/CMakeLists.txt

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ if (ENABLE_TESTS AND NOT ENABLE_STATIC MATCHES "ON|AUTO")
88
message (FATAL_ERROR "-DENABLE_STATIC=OFF also requires -DENABLE_TESTS=OFF")
99
endif ()
1010

11+
set (BSON_OUTPUT_BASENAME "bson" CACHE STRING "Output bson library base name")
12+
1113
include (CheckFunctionExists)
1214
include (CheckIncludeFile)
1315
include (CheckStructHasMember)
@@ -22,7 +24,7 @@ set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/../../build/cm
2224
include (LoadVersion)
2325
LoadVersion (${PROJECT_SOURCE_DIR}/../../VERSION_CURRENT BSON)
2426

25-
message ("libbson version (from VERSION_CURRENT file): ${BSON_VERSION}")
27+
message ("lib${BSON_OUTPUT_BASENAME} version (from VERSION_CURRENT file): ${BSON_VERSION}")
2628

2729
set (BSON_API_VERSION 1.0)
2830

@@ -218,16 +220,16 @@ set (CMAKE_CXX_VISIBILITY_PRESET hidden)
218220
target_compile_definitions (bson_shared PRIVATE BSON_COMPILATION JSONSL_PARSE_NAN)
219221
target_include_directories (bson_shared INTERFACE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src> $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/src>)
220222
set_target_properties (bson_shared PROPERTIES VERSION 0.0.0 SOVERSION 0)
221-
set_target_properties (bson_shared PROPERTIES OUTPUT_NAME "bson-${BSON_API_VERSION}" PREFIX "lib")
223+
set_target_properties (bson_shared PROPERTIES OUTPUT_NAME "${BSON_OUTPUT_BASENAME}-${BSON_API_VERSION}" PREFIX "lib")
222224

223225
if (ENABLE_APPLE_FRAMEWORK)
224-
set_target_properties(bson_shared PROPERTIES
225-
FRAMEWORK TRUE
226-
MACOSX_FRAMEWORK_BUNDLE_VERSION ${MONGOC_VERSION}
226+
set_target_properties(bson_shared PROPERTIES
227+
FRAMEWORK TRUE
228+
MACOSX_FRAMEWORK_BUNDLE_VERSION ${MONGOC_VERSION}
227229
MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${MONGOC_VERSION}
228230
MACOSX_FRAMEWORK_IDENTIFIER org.mongodb.bson
229-
OUTPUT_NAME "bson"
230-
PUBLIC_HEADER "${HEADERS}"
231+
OUTPUT_NAME "${BSON_OUTPUT_BASENAME}"
232+
PUBLIC_HEADER "${HEADERS}"
231233
)
232234
endif ()
233235

@@ -264,7 +266,7 @@ if (ENABLE_STATIC MATCHES "ON|AUTO")
264266
)
265267
target_include_directories (bson_static INTERFACE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src> $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/src>)
266268
set_target_properties (bson_static PROPERTIES VERSION 0.0.0)
267-
set_target_properties (bson_static PROPERTIES OUTPUT_NAME "bson-static-${BSON_API_VERSION}")
269+
set_target_properties (bson_static PROPERTIES OUTPUT_NAME "${BSON_OUTPUT_BASENAME}-static-${BSON_API_VERSION}")
268270
# We use CMAKE_THREAD_LIBS_INIT rather than Threads::Threads here because the
269271
# latter fails when building on Mac OS X
270272
target_link_libraries (bson_static ${CMAKE_THREAD_LIBS_INIT})

src/libmongoc/CMakeLists.txt

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ set (MONGOC_ENABLE_COMPRESSION_SNAPPY 0)
2828
set (MONGOC_ENABLE_COMPRESSION_ZLIB 0)
2929
set (MONGOC_ENABLE_COMPRESSION_ZSTD 0)
3030

31+
set (MONGOC_OUTPUT_BASENAME "mongoc" CACHE STRING "Output mongoc library base name")
32+
3133
if (ENABLE_COVERAGE)
3234
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g --coverage")
3335
endif ()
@@ -683,7 +685,7 @@ target_include_directories (mongoc_shared PRIVATE ${PRIVATE_ZLIB_INCLUDES})
683685
target_compile_definitions (mongoc_shared PRIVATE MONGOC_COMPILATION)
684686

685687
set_target_properties (mongoc_shared PROPERTIES VERSION 0.0.0 SOVERSION 0)
686-
set_target_properties (mongoc_shared PROPERTIES OUTPUT_NAME "mongoc-${MONGOC_API_VERSION}" PREFIX "lib")
688+
set_target_properties (mongoc_shared PROPERTIES OUTPUT_NAME "${MONGOC_OUTPUT_BASENAME}-${MONGOC_API_VERSION}" PREFIX "lib")
687689

688690
if (MONGOC_ENABLE_STATIC)
689691
add_library (mongoc_static STATIC ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING})
@@ -695,17 +697,17 @@ if (MONGOC_ENABLE_STATIC)
695697
PRIVATE MONGOC_COMPILATION
696698
)
697699
set_target_properties (mongoc_static PROPERTIES VERSION 0.0.0)
698-
set_target_properties (mongoc_static PROPERTIES OUTPUT_NAME "mongoc-static-${MONGOC_API_VERSION}")
700+
set_target_properties (mongoc_static PROPERTIES OUTPUT_NAME "${MONGOC_OUTPUT_BASENAME}-static-${MONGOC_API_VERSION}")
699701
endif ()
700702

701703
if (ENABLE_APPLE_FRAMEWORK)
702-
set_target_properties (mongoc_shared PROPERTIES
703-
FRAMEWORK TRUE
704-
MACOSX_FRAMEWORK_BUNDLE_VERSION ${MONGOC_VERSION}
704+
set_target_properties (mongoc_shared PROPERTIES
705+
FRAMEWORK TRUE
706+
MACOSX_FRAMEWORK_BUNDLE_VERSION ${MONGOC_VERSION}
705707
MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${MONGOC_VERSION}
706708
MACOSX_FRAMEWORK_IDENTIFIER org.mongodb.mongoc
707-
OUTPUT_NAME "mongoc"
708-
PUBLIC_HEADER "${HEADERS}"
709+
OUTPUT_NAME "${MONGOC_OUTPUT_BASENAME}"
710+
PUBLIC_HEADER "${HEADERS}"
709711
)
710712
endif ()
711713

0 commit comments

Comments
 (0)