mirror of
https://github.com/nlohmann/json.git
synced 2024-12-21 20:07:51 +08:00
d909f80960
* Add versioned inline namespace Add a versioned inline namespace to prevent ABI issues when linking code using multiple library versions. * Add namespace macros * Encode ABI information in inline namespace Add _diag suffix to inline namespace if JSON_DIAGNOSTICS is enabled, and _ldvcmp suffix if JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON is enabled. * Move ABI-affecting macros into abi_macros.hpp * Move std_fs namespace definition into std_fs.hpp * Remove std_fs namespace from unit test * Format more files in tests directory * Add unit tests * Update documentation * Fix GDB pretty printer * fixup! Add namespace macros * Derive ABI prefix from NLOHMANN_JSON_VERSION_*
13 lines
430 B
CMake
13 lines
430 B
CMake
# test linking an old library version without an inline namespace
|
|
# with the current library using an inline namespace into the same executable
|
|
|
|
# build test executable and add test
|
|
add_executable(abi_compat_inline_ns
|
|
use_v3_10_5.cpp
|
|
use_current.cpp)
|
|
target_link_libraries(abi_compat_inline_ns PRIVATE abi_compat_main)
|
|
|
|
add_test(
|
|
NAME test-abi_compat_inline_ns
|
|
COMMAND abi_compat_inline_ns ${DOCTEST_TEST_FILTER})
|