diff --git a/cmake/BsoncxxUtil.cmake b/cmake/BsoncxxUtil.cmake index 3e696d41d3..d3a2d14868 100644 --- a/cmake/BsoncxxUtil.cmake +++ b/cmake/BsoncxxUtil.cmake @@ -20,7 +20,7 @@ function(bsoncxx_add_library TARGET OUTPUT_NAME LINK_TYPE) set_target_properties(${TARGET} PROPERTIES CXX_VISIBILITY_PRESET hidden VISIBILITY_INLINES_HIDDEN ON - SOVERSION ${BSONCXX_ABI_VERSION} + SOVERSION _noabi ) endif() @@ -69,7 +69,7 @@ function(bsoncxx_install BSONCXX_TARGET_LIST BSONCXX_PKG_DEP BSONCXX_BOOST_PKG_D RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT runtime ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT dev - INCLUDES DESTINATION ${BSONCXX_HEADER_INSTALL_DIR} + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/bsoncxx/v_noabi ) write_basic_package_version_file( diff --git a/cmake/MongocxxUtil.cmake b/cmake/MongocxxUtil.cmake index 7f280e02c8..e0ab46e56d 100644 --- a/cmake/MongocxxUtil.cmake +++ b/cmake/MongocxxUtil.cmake @@ -20,7 +20,7 @@ function(mongocxx_add_library TARGET OUTPUT_NAME LINK_TYPE) set_target_properties (${TARGET} PROPERTIES CXX_VISIBILITY_PRESET hidden VISIBILITY_INLINES_HIDDEN ON - SOVERSION ${MONGOCXX_ABI_VERSION} + SOVERSION _noabi ) endif() @@ -57,7 +57,7 @@ function(mongocxx_install MONGOCXX_TARGET_LIST MONGOCXX_PKG_DEP) RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT runtime ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT dev - INCLUDES DESTINATION ${MONGOCXX_HEADER_INSTALL_DIR} + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/mongocxx/v_noabi ) write_basic_package_version_file( diff --git a/examples/bsoncxx/CMakeLists.txt b/examples/bsoncxx/CMakeLists.txt index dd14351123..90047665cd 100644 --- a/examples/bsoncxx/CMakeLists.txt +++ b/examples/bsoncxx/CMakeLists.txt @@ -13,7 +13,7 @@ # limitations under the License. include_directories( - ${CMAKE_INSTALL_PREFIX}/${BSONCXX_HEADER_INSTALL_DIR} + ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/bsoncxx/v_noabi ) set(BSONCXX_EXAMPLES diff --git a/examples/mongocxx/CMakeLists.txt b/examples/mongocxx/CMakeLists.txt index 7ad2651910..44ddf4519a 100644 --- a/examples/mongocxx/CMakeLists.txt +++ b/examples/mongocxx/CMakeLists.txt @@ -13,8 +13,8 @@ # limitations under the License. include_directories( - ${CMAKE_INSTALL_PREFIX}/${BSONCXX_HEADER_INSTALL_DIR} - ${CMAKE_INSTALL_PREFIX}/${MONGOCXX_HEADER_INSTALL_DIR} + ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/bsoncxx/v_noabi + ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/mongocxx/v_noabi ) set(MONGOCXX_EXAMPLES diff --git a/generate_uninstall/CMakeLists.txt b/generate_uninstall/CMakeLists.txt index 26507a482f..27efc67c68 100644 --- a/generate_uninstall/CMakeLists.txt +++ b/generate_uninstall/CMakeLists.txt @@ -57,7 +57,7 @@ else () \"\${MONGOCXX_INSTALL_MANIFEST_CONTENT}\") execute_process ( COMMAND - find \"\$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/${BSONCXX_HEADER_INSTALL_DIR}\" \"\$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/${MONGOCXX_HEADER_INSTALL_DIR}\" -type d -empty -delete + find \"\$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/bsoncxx/v_noabi\" \"\$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/mongocxx/v_noabi\" -type d -empty -delete ) execute_process ( COMMAND diff --git a/src/bsoncxx/CMakeLists.txt b/src/bsoncxx/CMakeLists.txt index 36a1127e5c..1e39d51960 100644 --- a/src/bsoncxx/CMakeLists.txt +++ b/src/bsoncxx/CMakeLists.txt @@ -15,8 +15,6 @@ project(BSONCXX) ParseVersion (${BUILD_VERSION} BSONCXX) -# TODO: read from file -set(BSONCXX_ABI_VERSION _noabi) option(BSONCXX_POLY_USE_MNMLSTC "Use MNMLSTC/core for stdx polyfills" OFF) option(BSONCXX_POLY_USE_STD_EXPERIMENTAL "Use std::experimental for stdx polyfills" OFF) @@ -70,8 +68,6 @@ endif() set(BSONCXX_VERSION_NO_EXTRA ${BSONCXX_VERSION_MAJOR}.${BSONCXX_VERSION_MINOR}.${BSONCXX_VERSION_PATCH}) set(BSONCXX_VERSION ${BSONCXX_VERSION_NO_EXTRA}${BSONCXX_VERSION_EXTRA}) message ("bsoncxx version: ${BSONCXX_VERSION}") -set(BSONCXX_INLINE_NAMESPACE "v${BSONCXX_ABI_VERSION}") -set(BSONCXX_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/bsoncxx/${BSONCXX_INLINE_NAMESPACE}" CACHE INTERNAL "") set(BSONCXX_POLY_MNMLSTC_DEPRECATED_INCLUDE_DIRS "") set(BSONCXX_POLY_MNMLSTC_PKGCONFIG_INCLUDE_DIRS "") @@ -231,12 +227,12 @@ install(DIRECTORY include/ install(FILES ${PROJECT_BINARY_DIR}/lib/bsoncxx/v_noabi/bsoncxx/config/export.hpp - DESTINATION ${BSONCXX_HEADER_INSTALL_DIR}/bsoncxx/config + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/bsoncxx/v_noabi/bsoncxx/config COMPONENT dev ) set(PACKAGE_INCLUDE_INSTALL_DIRS - ${BSONCXX_HEADER_INSTALL_DIR} + ${CMAKE_INSTALL_INCLUDEDIR}/bsoncxx/v_noabi ${BSONCXX_POLY_MNMLSTC_DEPRECATED_INCLUDE_DIRS} ) set(PACKAGE_LIBRARY_INSTALL_DIRS ${CMAKE_INSTALL_LIBDIR}) diff --git a/src/bsoncxx/cmake/libbsoncxx-static.pc.in b/src/bsoncxx/cmake/libbsoncxx-static.pc.in index 8df3b3cf7f..7b823509cb 100644 --- a/src/bsoncxx/cmake/libbsoncxx-static.pc.in +++ b/src/bsoncxx/cmake/libbsoncxx-static.pc.in @@ -21,5 +21,5 @@ Description: The MongoDB C++11 BSON Library URL: http://github.com/mongodb/mongo-cxx-driver Version: @BSONCXX_VERSION@ Requires: libbson-static-@LIBBSON_REQUIRED_ABI_VERSION@ >= @LIBBSON_REQUIRED_VERSION@ -Cflags: @BSONCXX_POLY_MNMLSTC_PKGCONFIG_STATIC_INCLUDE_DIRS@-I${includedir}/bsoncxx/@BSONCXX_INLINE_NAMESPACE@ -DBSONCXX_STATIC +Cflags: @BSONCXX_POLY_MNMLSTC_PKGCONFIG_STATIC_INCLUDE_DIRS@-I${includedir}/bsoncxx/v_noabi -DBSONCXX_STATIC Libs: -L${libdir} -lbsoncxx-static diff --git a/src/bsoncxx/cmake/libbsoncxx.pc.in b/src/bsoncxx/cmake/libbsoncxx.pc.in index 760ab2ca9e..d389030512 100644 --- a/src/bsoncxx/cmake/libbsoncxx.pc.in +++ b/src/bsoncxx/cmake/libbsoncxx.pc.in @@ -20,5 +20,5 @@ Name: libbsoncxx Description: The MongoDB C++11 BSON Library URL: http://github.com/mongodb/mongo-cxx-driver Version: @BSONCXX_VERSION@ -Cflags: @BSONCXX_POLY_MNMLSTC_PKGCONFIG_INCLUDE_DIRS@-I${includedir}/bsoncxx/@BSONCXX_INLINE_NAMESPACE@ +Cflags: @BSONCXX_POLY_MNMLSTC_PKGCONFIG_INCLUDE_DIRS@-I${includedir}/bsoncxx/v_noabi Libs: -L${libdir} -lbsoncxx diff --git a/src/bsoncxx/include/bsoncxx/v_noabi/bsoncxx/json.hpp b/src/bsoncxx/include/bsoncxx/v_noabi/bsoncxx/json.hpp index b040c09589..97a602c05c 100644 --- a/src/bsoncxx/include/bsoncxx/v_noabi/bsoncxx/json.hpp +++ b/src/bsoncxx/include/bsoncxx/v_noabi/bsoncxx/json.hpp @@ -29,11 +29,6 @@ namespace bsoncxx { BSONCXX_INLINE_NAMESPACE_BEGIN -// Placing this variable between the `BSONCXX_INLINE_NAMESPACE_BEGIN` and the Doxygen documentation -// for `to_json` suppressed the macro name from being shown as part of the return type in the -// generated documentation pages. -extern const bool k_silence_doxygen; - /// /// An enumeration of the types of Extended JSON that the to_json function accepts enum class ExtendedJsonMode : std::uint8_t { diff --git a/src/bsoncxx/lib/bsoncxx/v_noabi/bsoncxx/config/CMakeLists.txt b/src/bsoncxx/lib/bsoncxx/v_noabi/bsoncxx/config/CMakeLists.txt index 853298c82e..fa76c1c0bb 100644 --- a/src/bsoncxx/lib/bsoncxx/v_noabi/bsoncxx/config/CMakeLists.txt +++ b/src/bsoncxx/lib/bsoncxx/v_noabi/bsoncxx/config/CMakeLists.txt @@ -30,7 +30,7 @@ configure_file( install(FILES ${CMAKE_CURRENT_BINARY_DIR}/config.hpp ${CMAKE_CURRENT_BINARY_DIR}/version.hpp - DESTINATION ${BSONCXX_HEADER_INSTALL_DIR}/bsoncxx/config + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/bsoncxx/v_noabi/bsoncxx/config COMPONENT dev ) diff --git a/src/bsoncxx/lib/bsoncxx/v_noabi/bsoncxx/config/config.hpp.in b/src/bsoncxx/lib/bsoncxx/v_noabi/bsoncxx/config/config.hpp.in index 00fd44b5cc..a4b8ef1b6b 100644 --- a/src/bsoncxx/lib/bsoncxx/v_noabi/bsoncxx/config/config.hpp.in +++ b/src/bsoncxx/lib/bsoncxx/v_noabi/bsoncxx/config/config.hpp.in @@ -18,6 +18,6 @@ #cmakedefine BSONCXX_POLY_USE_BOOST #cmakedefine BSONCXX_POLY_USE_STD -#define BSONCXX_INLINE_NAMESPACE_BEGIN inline namespace @BSONCXX_INLINE_NAMESPACE@ { +#define BSONCXX_INLINE_NAMESPACE_BEGIN inline namespace v_noabi { -#define BSONCXX_INLINE_NAMESPACE_END } // namespace @BSONCXX_INLINE_NAMESPACE@ +#define BSONCXX_INLINE_NAMESPACE_END } // namespace v_noabi diff --git a/src/mongocxx/CMakeLists.txt b/src/mongocxx/CMakeLists.txt index 334f0bda18..ecd52ed45d 100644 --- a/src/mongocxx/CMakeLists.txt +++ b/src/mongocxx/CMakeLists.txt @@ -15,8 +15,6 @@ project(MONGOCXX) ParseVersion (${BUILD_VERSION} MONGOCXX) -# TODO: read from file -set(MONGOCXX_ABI_VERSION _noabi) option(MONGOCXX_ENABLE_SSL "Enable SSL - if the underlying C driver offers it" ON) option(MONGOCXX_ENABLE_SLOW_TESTS "Run slow tests when invoking the the test target" OFF) @@ -26,8 +24,6 @@ set(MONGOCXX_OUTPUT_BASENAME "mongocxx" CACHE STRING "Output mongocxx library ba set(MONGOCXX_VERSION_NO_EXTRA ${MONGOCXX_VERSION_MAJOR}.${MONGOCXX_VERSION_MINOR}.${MONGOCXX_VERSION_PATCH}) set(MONGOCXX_VERSION ${MONGOCXX_VERSION_NO_EXTRA}${MONGOCXX_VERSION_EXTRA}) message ("mongocxx version: ${MONGOCXX_VERSION}") -set(MONGOCXX_INLINE_NAMESPACE "v${MONGOCXX_ABI_VERSION}") -set(MONGOCXX_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/mongocxx/${MONGOCXX_INLINE_NAMESPACE}" CACHE INTERNAL "") set(mongocxx_pkg_dep "") @@ -215,11 +211,11 @@ install(DIRECTORY include/ install(FILES ${PROJECT_BINARY_DIR}/lib/mongocxx/v_noabi/mongocxx/config/export.hpp - DESTINATION ${MONGOCXX_HEADER_INSTALL_DIR}/mongocxx/config + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/mongocxx/v_noabi/mongocxx/config COMPONENT dev ) -set(PACKAGE_INCLUDE_INSTALL_DIRS ${MONGOCXX_HEADER_INSTALL_DIR}) +set(PACKAGE_INCLUDE_INSTALL_DIRS ${CMAKE_INSTALL_INCLUDEDIR}/mongocxx/v_noabi) set(PACKAGE_LIBRARY_INSTALL_DIRS ${CMAKE_INSTALL_LIBDIR}) set(PACKAGE_LIBRARIES mongocxx) diff --git a/src/mongocxx/cmake/libmongocxx-static.pc.in b/src/mongocxx/cmake/libmongocxx-static.pc.in index 94b7b6b898..b602bfa8b1 100644 --- a/src/mongocxx/cmake/libmongocxx-static.pc.in +++ b/src/mongocxx/cmake/libmongocxx-static.pc.in @@ -21,5 +21,5 @@ Description: The MongoDB C++11 Driver Library URL: http://github.com/mongodb/mongo-cxx-driver Version: @MONGOCXX_VERSION@ Requires: libbsoncxx-static >= @MONGOCXX_VERSION@, libmongoc-static-@LIBMONGOC_REQUIRED_ABI_VERSION@ >= @LIBMONGOC_REQUIRED_VERSION@ -Cflags: -I${includedir}/mongocxx/@MONGOCXX_INLINE_NAMESPACE@ -DMONGOCXX_STATIC +Cflags: -I${includedir}/mongocxx/v_noabi -DMONGOCXX_STATIC Libs: -L${libdir} -lmongocxx-static diff --git a/src/mongocxx/cmake/libmongocxx.pc.in b/src/mongocxx/cmake/libmongocxx.pc.in index 353b566172..9461573f30 100644 --- a/src/mongocxx/cmake/libmongocxx.pc.in +++ b/src/mongocxx/cmake/libmongocxx.pc.in @@ -21,5 +21,5 @@ Description: The MongoDB C++11 Driver Library URL: http://github.com/mongodb/mongo-cxx-driver Version: @MONGOCXX_VERSION@ Requires: libbsoncxx >= @MONGOCXX_VERSION@ -Cflags: -I${includedir}/mongocxx/@MONGOCXX_INLINE_NAMESPACE@ +Cflags: -I${includedir}/mongocxx/v_noabi Libs: -L${libdir} -lmongocxx diff --git a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/config/CMakeLists.txt b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/config/CMakeLists.txt index 5c984c6dc1..1faff7fe46 100644 --- a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/config/CMakeLists.txt +++ b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/config/CMakeLists.txt @@ -42,7 +42,7 @@ configure_file( install(FILES ${CMAKE_CURRENT_BINARY_DIR}/config.hpp ${CMAKE_CURRENT_BINARY_DIR}/version.hpp - DESTINATION ${MONGOCXX_HEADER_INSTALL_DIR}/mongocxx/config + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/mongocxx/v_noabi/mongocxx/config COMPONENT dev ) diff --git a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/config/config.hpp.in b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/config/config.hpp.in index d75c40e5d3..90a571d0b4 100644 --- a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/config/config.hpp.in +++ b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/config/config.hpp.in @@ -12,6 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#define MONGOCXX_INLINE_NAMESPACE_BEGIN inline namespace @MONGOCXX_INLINE_NAMESPACE@ { +#define MONGOCXX_INLINE_NAMESPACE_BEGIN inline namespace v_noabi { -#define MONGOCXX_INLINE_NAMESPACE_END } // namespace @MONGOCXX_INLINE_NAMESPACE@ +#define MONGOCXX_INLINE_NAMESPACE_END } // namespace v_noabi