Add option to disable implicit json conversions

This commit is contained in:
Nicolas Werner 2022-06-17 03:27:29 +02:00
parent ef941920ea
commit 13d219e8bb
No known key found for this signature in database
GPG key ID: C8D75E610773F2D9
2 changed files with 9 additions and 0 deletions

View file

@ -63,6 +63,7 @@ build-gcc9:
-DVOIP=OFF
-DCMAKE_BUILD_TYPE=Release -DHUNTER_CONFIGURATION_TYPES=Release
-DCI_BUILD=ON -DFETCHCONTENT_QUIET=OFF
-DJSON_ImplicitConversions=OFF
- cmake --build build
after_script:
- mv ../.hunter .hunter

View file

@ -11,6 +11,7 @@ else()
option(MAN "Build man page" OFF)
endif()
option(FLATPAK "Set this only if Nheko is built as a flatpak" OFF)
option(JSON_ImplicitConversions "Disable implicit conversions in nlohmann/json" ON)
set(
CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/toolchain.cmake"
@ -686,6 +687,13 @@ if (USE_BUNDLED_QTKEYCHAIN)
target_include_directories(nheko PRIVATE ${qt5keychain_SOURCE_DIR} ${qt5keychain_BINARY_DIR})
endif()
if (NOT JSON_ImplicitConversions)
set_target_properties(nlohmann_json::nlohmann_json PROPERTIES
INTERFACE_COMPILE_DEFINITIONS "JSON_USE_IMPLICIT_CONVERSIONS=\$<BOOL:OFF>;JSON_DIAGNOSTICS=\$<BOOL:OFF>"
)
target_compile_definitions(nheko PUBLIC JSON_USE_IMPLICIT_CONVERSIONS=0)
endif()
target_link_libraries(nheko PRIVATE
${COEURL_TARGET_NAME}
MatrixClient::MatrixClient