clang-cl defines _MSC_VER by default, so JSONCPP_DEPRECATED was first defined for MSVC and then redefined for clang. Integrate the MSVC definition into the block with clang and GCC's JSONCPP_DEPRECATED definitions to fix this.