diff --git a/cmake/conformance.cmake b/cmake/conformance.cmake
index 6ba9050af7..d727ea8122 100644
--- a/cmake/conformance.cmake
+++ b/cmake/conformance.cmake
@@ -90,7 +90,11 @@ set(JSONCPP_WITH_TESTS OFF CACHE BOOL "Disable tests")
 if(protobuf_JSONCPP_PROVIDER STREQUAL "module")
   add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/third_party/jsoncpp third_party/jsoncpp)
   target_include_directories(conformance_test_runner PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/jsoncpp/include)
-  target_link_libraries(conformance_test_runner jsoncpp_lib)
+  if(BUILD_SHARED_LIBS)
+    target_link_libraries(conformance_test_runner jsoncpp_lib)
+  else()
+    target_link_libraries(conformance_test_runner jsoncpp_static)
+  endif()
 else()
   target_link_libraries(conformance_test_runner jsoncpp)
 endif()