@@ -812,58 +812,82 @@ if (MONGOC_ENABLE_STATIC_BUILD)
812
812
set_target_properties (mcd_rpc PROPERTIES OUTPUT_NAME "mcd-rpc" )
813
813
endif ()
814
814
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 ()
821
- set_target_properties (mongoc_shared PROPERTIES CMAKE_CXX_VISIBILITY_PRESET hidden)
822
- target_link_libraries (mongoc_shared PRIVATE ${LIBRARIES} PUBLIC ${BSON_LIBRARIES} mongo::detail::c_dependencies)
823
- target_include_directories (mongoc_shared PRIVATE ${ZLIB_INCLUDE_DIRS} )
824
- target_include_directories (mongoc_shared PRIVATE ${UTF8PROC_INCLUDE_DIRS} )
825
- target_include_directories (mongoc_shared PRIVATE ${LIBMONGOCRYPT_INCLUDE_DIRECTORIES} )
826
- if (MONGOC_ENABLE_MONGODB_AWS_AUTH)
827
- target_include_directories (mongoc_shared PRIVATE "${CMAKE_CURRENT_SOURCE_DIR} /../kms-message/src" )
828
- if (APPLE )
829
- set_target_properties (mongoc_shared PROPERTIES LINK_FLAGS "-Wl,-unexported_symbols_list,\" ${CMAKE_CURRENT_SOURCE_DIR} /../../build/cmake/libmongoc-hidden-symbols.txt\" " )
830
- elseif (UNIX )
831
- set_target_properties (mongoc_shared PROPERTIES LINK_FLAGS "-Wl,--version-script=\" ${CMAKE_CURRENT_SOURCE_DIR} /../../build/cmake/libmongoc-hidden-symbols.map\" " )
815
+ if (ENABLE_SHARED)
816
+ add_library (mongoc_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING} )
817
+ if (WIN32 )
818
+ # Add resource-definition script for Windows shared library (.dll).
819
+ configure_file (libmongoc.rc.in libmongoc.rc)
820
+ target_sources (mongoc_shared PRIVATE ${CMAKE_CURRENT_BINARY_DIR} /libmongoc.rc)
821
+ endif ()
822
+ set_target_properties (mongoc_shared PROPERTIES CMAKE_CXX_VISIBILITY_PRESET hidden)
823
+ target_link_libraries (mongoc_shared PRIVATE ${LIBRARIES} PUBLIC ${BSON_LIBRARIES} mongo::detail::c_dependencies)
824
+ target_include_directories (mongoc_shared PRIVATE ${ZLIB_INCLUDE_DIRS} )
825
+ target_include_directories (mongoc_shared PRIVATE ${UTF8PROC_INCLUDE_DIRS} )
826
+ target_include_directories (mongoc_shared PRIVATE ${LIBMONGOCRYPT_INCLUDE_DIRECTORIES} )
827
+ if (MONGOC_ENABLE_MONGODB_AWS_AUTH)
828
+ target_include_directories (mongoc_shared PRIVATE "${CMAKE_CURRENT_SOURCE_DIR} /../kms-message/src" )
829
+ if (APPLE )
830
+ set_target_properties (mongoc_shared PROPERTIES LINK_FLAGS "-Wl,-unexported_symbols_list,\" ${CMAKE_CURRENT_SOURCE_DIR} /../../build/cmake/libmongoc-hidden-symbols.txt\" " )
831
+ elseif (UNIX )
832
+ set_target_properties (mongoc_shared PROPERTIES LINK_FLAGS "-Wl,--version-script=\" ${CMAKE_CURRENT_SOURCE_DIR} /../../build/cmake/libmongoc-hidden-symbols.map\" " )
833
+ endif ()
834
+
832
835
endif ()
836
+ target_compile_definitions (mongoc_shared
837
+ PRIVATE
838
+ MONGOC_COMPILATION
839
+ ${KMS_MSG_DEFINITIONS}
840
+ MCOMMON_NAME_PREFIX=_mongoc_mcommon
841
+ )
833
842
834
- endif ()
835
- target_compile_definitions (mongoc_shared
836
- PRIVATE
837
- MONGOC_COMPILATION
838
- ${KMS_MSG_DEFINITIONS}
839
- MCOMMON_NAME_PREFIX=_mongoc_mcommon
840
- )
843
+ if (USE_BUNDLED_UTF8PROC)
844
+ target_compile_definitions (mongoc_shared PRIVATE UTF8PROC_STATIC)
845
+ endif ()
841
846
842
- if (USE_BUNDLED_UTF8PROC)
843
- target_compile_definitions (mongoc_shared PRIVATE UTF8PROC_STATIC)
844
- endif ()
847
+ # Several directories in the source and build trees contain headers we would like
848
+ # include via relative reference, but they all end up in the same install path
849
+ target_include_directories (
850
+ mongoc_shared
851
+ PUBLIC
852
+ $<BUILD_INTERFACE:${PROJECT_BINARY_DIR} /src>
853
+ $<BUILD_INTERFACE:${PROJECT_BINARY_DIR} /src/mongoc>
854
+ $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /src>
855
+ $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /src/mongoc>
856
+ $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /../../src/common>
857
+ $<BUILD_INTERFACE:${PROJECT_BINARY_DIR} /../../src>
858
+ $<BUILD_INTERFACE:${PROJECT_BINARY_DIR} /../../src/common>
859
+ )
845
860
846
- # Several directories in the source and build trees contain headers we would like
847
- # include via relative reference, but they all end up in the same install path
848
- target_include_directories (
849
- mongoc_shared
850
- PUBLIC
851
- $<BUILD_INTERFACE:${PROJECT_BINARY_DIR} /src>
852
- $<BUILD_INTERFACE:${PROJECT_BINARY_DIR} /src/mongoc>
853
- $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /src>
854
- $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /src/mongoc>
855
- $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /../../src/common>
856
- $<BUILD_INTERFACE:${PROJECT_BINARY_DIR} /../../src>
857
- $<BUILD_INTERFACE:${PROJECT_BINARY_DIR} /../../src/common>
858
- )
861
+ set_target_properties (mongoc_shared PROPERTIES
862
+ OUTPUT_NAME "${MONGOC_OUTPUT_BASENAME} -${MONGOC_API_VERSION} "
863
+ VERSION 0.0.0
864
+ SOVERSION 0
865
+ pkg_config_REQUIRES "libbson-1.0"
866
+ )
867
+ mongo_generate_pkg_config(mongoc_shared INSTALL RENAME libmongoc-${MONGOC_API_VERSION} .pc)
868
+
869
+ if (ENABLE_APPLE_FRAMEWORK)
870
+ set_target_properties (mongoc_shared PROPERTIES
871
+ FRAMEWORK TRUE
872
+ MACOSX_FRAMEWORK_BUNDLE_VERSION ${MONGOC_VERSION}
873
+ MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${MONGOC_VERSION}
874
+ MACOSX_FRAMEWORK_IDENTIFIER org.mongodb.mongoc
875
+ OUTPUT_NAME "${MONGOC_OUTPUT_BASENAME} "
876
+ PUBLIC_HEADER "${HEADERS} "
877
+ )
878
+ endif () # ENABLE_APPLE_FRAMEWORK
859
879
860
- set_target_properties (mongoc_shared PROPERTIES
861
- OUTPUT_NAME "${MONGOC_OUTPUT_BASENAME} -${MONGOC_API_VERSION} "
862
- VERSION 0.0.0
863
- SOVERSION 0
864
- pkg_config_REQUIRES "libbson-1.0"
865
- )
866
- mongo_generate_pkg_config(mongoc_shared INSTALL RENAME libmongoc-${MONGOC_API_VERSION} .pc)
880
+ add_executable (mongoc-stat ${PROJECT_SOURCE_DIR} /../../src/tools/mongoc-stat.c)
881
+ target_link_libraries (mongoc-stat mongoc_shared ${LIBRARIES} )
882
+
883
+ # mongoc-stat works if shared memory performance counters are enabled.
884
+ if (ENABLE_SHM_COUNTERS)
885
+ install (TARGETS mongoc-stat
886
+ EXPORT mongoc_targets
887
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR} " )
888
+ endif () # ENABLE_SHM_COUNTERS
889
+
890
+ endif () # ENABLE_SHARED
867
891
868
892
if (MONGOC_ENABLE_STATIC_BUILD)
869
893
add_library (mongoc_static STATIC ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING} )
@@ -922,26 +946,6 @@ if (MONGOC_ENABLE_STATIC_BUILD)
922
946
endif ()
923
947
endif ()
924
948
925
- if (ENABLE_APPLE_FRAMEWORK)
926
- set_target_properties (mongoc_shared PROPERTIES
927
- FRAMEWORK TRUE
928
- MACOSX_FRAMEWORK_BUNDLE_VERSION ${MONGOC_VERSION}
929
- MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${MONGOC_VERSION}
930
- MACOSX_FRAMEWORK_IDENTIFIER org.mongodb.mongoc
931
- OUTPUT_NAME "${MONGOC_OUTPUT_BASENAME} "
932
- PUBLIC_HEADER "${HEADERS} "
933
- )
934
- endif ()
935
-
936
- add_executable (mongoc-stat ${PROJECT_SOURCE_DIR} /../../src/tools/mongoc-stat.c)
937
- target_link_libraries (mongoc-stat mongoc_shared ${LIBRARIES} )
938
-
939
- # mongoc-stat works if shared memory performance counters are enabled.
940
- if (ENABLE_SHM_COUNTERS)
941
- install (TARGETS mongoc-stat
942
- EXPORT mongoc_targets
943
- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR} " )
944
- endif ()
945
949
946
950
set (test -libmongoc-sources
947
951
${PROJECT_SOURCE_DIR} /../../src/libbson/tests/corpus-test .c
@@ -1166,7 +1170,7 @@ if (ENABLE_TESTS)
1166
1170
)
1167
1171
endif ()
1168
1172
1169
- if (ENABLE_EXAMPLES)
1173
+ if (ENABLE_EXAMPLES AND ENABLE_SHARED )
1170
1174
function (mongoc_add_example example)
1171
1175
add_executable (${example} ${ARGN} )
1172
1176
target_link_libraries (${example} mongoc_shared ${LIBRARIES} )
@@ -1243,10 +1247,14 @@ file (COPY ${PROJECT_SOURCE_DIR}/tests/json DESTINATION ${PROJECT_BINARY_DIR}/te
1243
1247
file (COPY ${PROJECT_SOURCE_DIR} /tests/x509gen DESTINATION ${PROJECT_BINARY_DIR} /tests)
1244
1248
file (COPY ${PROJECT_SOURCE_DIR} /tests/release_files DESTINATION ${PROJECT_BINARY_DIR} /tests)
1245
1249
1250
+ set (TARGETS_TO_INSTALL)
1251
+
1246
1252
if (MONGOC_ENABLE_STATIC_INSTALL)
1247
- set (TARGETS_TO_INSTALL mongoc_shared mongoc_static)
1248
- else ()
1249
- set (TARGETS_TO_INSTALL mongoc_shared)
1253
+ list (APPEND TARGETS_TO_INSTALL mongoc_static)
1254
+ endif ()
1255
+
1256
+ if (ENABLE_SHARED)
1257
+ list (APPEND TARGETS_TO_INSTALL mongoc_shared)
1250
1258
endif ()
1251
1259
1252
1260
set (MONGOC_HEADER_INSTALL_DIR
0 commit comments