diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4d62103b..67c9e488 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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 diff --git a/CMakeLists.txt b/CMakeLists.txt index fa8c6ba9..b858197f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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=\$;JSON_DIAGNOSTICS=\$" + ) + target_compile_definitions(nheko PUBLIC JSON_USE_IMPLICIT_CONVERSIONS=0) +endif() + target_link_libraries(nheko PRIVATE ${COEURL_TARGET_NAME} MatrixClient::MatrixClient